Commit graph

774 commits

Author SHA1 Message Date
tanzhenxin
bf99f95602
Merge pull request #2045 from xieyonn/feat/tmp-editor-filename
Some checks failed
Qwen Code CI / Lint (push) Has been cancelled
Qwen Code CI / CodeQL (push) Has been cancelled
E2E Tests / E2E Test (Linux) - sandbox:docker (push) Has been cancelled
E2E Tests / E2E Test (Linux) - sandbox:none (push) Has been cancelled
E2E Tests / E2E Test - macOS (push) Has been cancelled
Qwen Code CI / Post Coverage Comment (push) Has been cancelled
Qwen Code CI / Test (push) Has been cancelled
Qwen Code CI / Test-1 (push) Has been cancelled
Qwen Code CI / Test-2 (push) Has been cancelled
Qwen Code CI / Test-3 (push) Has been cancelled
Qwen Code CI / Test-4 (push) Has been cancelled
Qwen Code CI / Test-5 (push) Has been cancelled
Qwen Code CI / Test-6 (push) Has been cancelled
Qwen Code CI / Test-7 (push) Has been cancelled
Qwen Code CI / Test-8 (push) Has been cancelled
feat(cli): change temporary filename prefix to qwen-edit-
2026-03-10 16:51:42 +08:00
LaZzyMan
db0e373ad7 feat test tool permissions 2026-03-10 16:30:22 +08:00
tanzhenxin
9154048be2
Merge pull request #2219 from LaZzyMan/fix-mcp-extension-ui
fix: clean up MCP server display and add CONCAT merge strategy for mcp allowed/excluded lists
2026-03-10 13:55:59 +08:00
tanzhenxin
29e82822e2 fix(test): simplify AskUserQuestionDialog tests to remove flaky timing-dependent tests
Keep only essential stable tests:
- Rendering tests (6)
- Basic single-select interaction (4)
- Basic multi-select interaction (2)
- Multiple questions navigation (4)
- Focus behavior (1)

Remove timing-sensitive tests involving:
- Auto-advance after selection (setTimeout 150ms)
- Custom input state preservation across navigation
- Complex multi-select toggle state assertions

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-10 11:11:23 +08:00
pomelo
d80199d893
Merge pull request #2212 from xuewenjie123/fix/mcp-oauth-scope-from-protected-resource
fix(mcp): use scopes from protected resource metadata (RFC 9728)
2026-03-10 10:23:12 +08:00
LaZzyMan
d32dcab5db fix: remove redundant scope field from MCP server display and add CONCAT merge strategy for mcp allowed/excluded lists 2026-03-09 21:38:42 +08:00
tanzhenxin
eaef9efe90 feat(arena): add IDLE status for agent follow-up task support
- Introduce AgentStatus.IDLE for agents that finished work but can accept follow-up messages
- Add isSettledStatus() helper to check if agent is settled (IDLE or terminal)
- Update ArenaManager to transition to IDLE after agents finish initial task
- Keep agent tabs visible when session is IDLE so users can continue interacting
- Fix listener cleanup to not detach on IDLE (agents remain alive)
- Update tests to expect 'idle' status after successful completion

This enables the arena collaboration feature where agents can receive
additional tasks after completing their initial work.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-09 21:33:48 +08:00
tanzhenxin
4a681f435d Merge branch 'main' into feature/arena-agent-collaboration 2026-03-09 20:43:25 +08:00
LaZzyMan
817f24e0ea fix bugs 2026-03-09 19:11:40 +08:00
LaZzyMan
a02ed08d26 fix ui 2026-03-09 18:26:01 +08:00
xwj02155382
c074960dd7 fix: increase wait times in AskUserQuestionDialog tests for CI stability
The tests used fixed wait times (200ms) that were too close to the
auto-advance timeout (150ms). In CI environments (especially Windows
with Node 20), timing can be less predictable due to event loop
scheduling differences, causing race conditions.

Changes:
- Increased wait(200) to wait(300) for auto-advance tests
- Increased wait() to wait(100) for navigation tests in custom input state test

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-09 18:25:02 +08:00
tanzhenxin
fa2f2fd5ce feat(arena): Short worktree names and UX improvements
- Use 8-char short names derived from session UUID for worktrees
- Fix cleanup to use short worktreeDirName
- Simplify model display names (remove authType prefix)
- Improve messaging when <2 models available
- Show agent worktree paths in startup output

Prevents long path issues and provides clearer model setup guidance.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-09 16:21:28 +08:00
LaZzyMan
0c21071bf6 fix ci test 2026-03-09 16:08:11 +08:00
LaZzyMan
a19f1b1ab3 add i18n 2026-03-09 16:01:16 +08:00
LaZzyMan
597ce85335 fix extension ui 2026-03-09 15:49:02 +08:00
LaZzyMan
15b5bc3bfc fix mcp ui 2026-03-09 15:20:30 +08:00
LaZzyMan
9e34b5db4a fix: 重写 AuthenticateStep 使用正确的 OAuth 流程
- 按照 mcpCommand.ts 中的 auth 实现重写 AuthenticateStep
- 使用 MCPOAuthProvider + MCPOAuthTokenStorage 进行实际 OAuth 认证
- 通过 appEvents/AppEvent.OauthDisplayMessage 展示认证过程消息
- 认证成功后自动触发 tool re-discovery 和 client tools 更新
- 只在 server.config.oauth?.enabled 为 true 时显示 Authenticate 选项
- 认证成功后 reload servers 刷新列表
2026-03-09 12:05:27 +08:00
tanzhenxin
f9d4fa0a39 Merge branch 'main' into feature/arena-agent-collaboration 2026-03-09 11:13:31 +08:00
LaZzyMan
4dfaa12e16 refactor: 优化 Dialog 2 工具列表 (问题 5)
- 移除多余的序号,简化视觉元素
- 统一选中状态颜色方案 (与 Dialog 1 一致使用 accent 色)
- 保留工具功能说明 (annotations),提升可读性
2026-03-09 11:09:47 +08:00
LaZzyMan
2b1088682c refactor: 优化 Dialog 1 布局 (问题 4)
- 移除重复的服务器统计信息 (已在标题显示)
- 减少多余的空格和边距,使布局更紧凑
- 优化视觉层次,提升用户体验
2026-03-09 11:08:30 +08:00
LaZzyMan
9d3d51a283 feat: 简化 MCP 服务器禁用流程
- 问题 3: 自动匹配 scope,无需用户手动选择
- 改进:根据服务器配置位置 (user/workspace) 自动确定禁用 scope
- 改进:禁用操作一步完成,提升用户体验
- 注意:Extension 类型的服务器不支持通过此方式禁用
2026-03-09 11:06:47 +08:00
LaZzyMan
23c3518dff fix: 添加 handleAuthenticate 到依赖数组
- 修复 React Hooks exhaustive-deps 警告
2026-03-09 11:05:11 +08:00
LaZzyMan
41bb300542 fix: 修复 MCP 服务器禁用状态下的操作选项
- 问题 2.1: 禁用的服务器不再显示'查看工具'选项,避免用户查看空工具列表
- 问题 2.2: 禁用的服务器不再显示'重新连接'选项,保持逻辑一致性
- 改进:根据服务器状态动态生成可用操作列表
- 改进:启用/禁用选项始终显示,方便用户切换状态
2026-03-09 10:59:20 +08:00
tanzhenxin
2e91f0a4cd Merge remote-tracking branch 'origin/main' into feat/ask-user-question-tool 2026-03-08 23:05:32 +08:00
tanzhenxin
411ebd03b8 fix(cli): improve ask_user_question tool handling and UI
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

- In ACP mode: allow ask_user_question in YOLO mode (user must respond)

- In ACP mode: allow ask_user_question in plan mode for clarifications

- Hide footer when confirmation dialog is active

- Fix tab index overflow with functional state updates

- Fix ask_user_question detection in VSCode companion (use rawInput)

- Add cleanup for pending ACP promises on panel/provider dispose

- Use theme.text.accent consistently for highlighted elements

- Remove unused 'answers' param from AskUserQuestionParams

This ensures users can always respond to clarification questions

in ACP mode regardless of approval mode, and improves dialog UX.
2026-03-08 22:15:18 +08:00
DragonnZhang
4ce6f6f597 Keep rejected plan content visible in plan mode
When a plan is rejected, preserve and display the plan content so users
can still see what was proposed. The rejection message is now shown in
yellow (AccentYellow) instead of green to visually indicate the rejected
state.

Changes:
- Add 'rejected' flag to PlanResultDisplay interface
- Update PlanSummaryDisplay to conditionally color message based on rejection
- Preserve plan content in coreToolScheduler when plan is cancelled
- Add tests for both rejected and approved plan rendering

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-06 19:00:49 +08:00
LaZzyMan
43faa51378 Merge branch 'main' into feature/extension-management-tui 2026-03-06 17:19:40 +08:00
LaZzyMan
32d499944a Merge branch 'main' into feat/mcp-tui 2026-03-06 16:55:38 +08:00
LaZzyMan
45716ab6fc fix ci test 2026-03-06 16:53:47 +08:00
LaZzyMan
2699b88661 Merge branch 'main' into feature/extension-management-tui 2026-03-06 16:25:08 +08:00
LaZzyMan
b923463690 fix zh width 2026-03-06 16:24:48 +08:00
LaZzyMan
b942c0241f fix list align 2026-03-06 16:21:20 +08:00
tanzhenxin
67b9e3438c Merge branch 'main' into feat/ask-user-question-tool 2026-03-06 15:48:44 +08:00
tanzhenxin
b346622ec2 Merge branch 'main' into feat/ask-user-question-tool 2026-03-06 15:03:10 +08:00
tanzhenxin
ca3a2be2ec Merge branch 'main' into feat/shell-pty-default-and-enhancements 2026-03-06 14:36:18 +08:00
LaZzyMan
7b227a7eb5 Merge branch 'main' into feat/mcp-tui 2026-03-06 14:27:56 +08:00
LaZzyMan
892fe4f706 fix list align 2026-03-06 14:13:57 +08:00
tanzhenxin
bca799e818 Merge branch 'main' into feat/ask-user-question-tool 2026-03-06 14:03:42 +08:00
qwencoder
708d47683c style(messages): use filled circle prefix for info messages 2026-03-05 20:26:40 +08:00
tanzhenxin
659dd66840 refactor(cli): consolidate and rename message components
Consolidate individual message component files into two modules:
- ConversationMessages.tsx for user/assistant/think messages
- StatusMessages.tsx for info/warning/error/retry messages

Rename Gemini* components to Assistant*/Think* for clarity.
Add 'code' semantic color token for consistent code styling.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-05 20:11:00 +08:00
pomelo-nwu
418410eb0c feat(i18n): add Context Usage component translations
- Add i18n keys for Context Usage component in all locales
- Add 'Model:' prefix label for better clarity
- Rename 'Autocompact' to 'Autocompact buffer'

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-05 14:21:21 +08:00
pomelo-nwu
a811d442b2 Merge remote-tracking branch 'origin/main' into feat/context-usage 2026-03-05 11:58:35 +08:00
tanzhenxin
b48e3caa75 feat(shell): enable PTY by default and various enhancements
### Shell & Interactive Terminal Improvements
- PTY shell is now enabled by default instead of disabled
- Improved shell output rendering, process termination, and added fallback warning
- Background commands now properly capture subprocess PIDs on non-Windows

### Coding Plan Improvements
- Simplified auth message, added /model tip, improved system info display
- Reordered model list to prioritize glm-5, kimi-k2.5, MiniMax-M2.5
- Model selection is now preserved when updating if the model still exists

### Other Changes
- Added shared symlink utility; debug logs now have latest alias
- Unknown settings warnings go to debug log instead of user-facing warnings
- Fixed subagent confirmation state detection
- Removed debug UI from AgentCreationWizard

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-05 11:28:13 +08:00
tanzhenxin
5dde5a563f fix(cli): update DiffRenderer tests for colorizeCode tabWidth parameter
The colorizeCode function signature was updated to include a tabWidth
parameter (defaulting to 4). This updates the test assertions to match
the new function signature.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-04 20:39:52 +08:00
tanzhenxin
18f9e5ac34 fix: update colorizeCode calls to use new parameter order
The colorizeCode function signature was changed to have tabWidth as the
last parameter with a default value. Update all call sites to match.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-04 20:12:58 +08:00
LaZzyMan
eeb4d85785 feat(permissions): add permission system and rename folder trust command 2026-03-04 19:24:43 +08:00
lgzzzz
2819c7d887 feat: add tabWidth support for code highlighting and replace tabs with spaces in CodeColorizer
(cherry picked from commit 2849f907f68022ed2879216a764668878a0bb282)
2026-03-04 15:45:49 +08:00
tanzhenxin
b749e80325 chore: fix build errors 2026-03-02 23:30:19 +08:00
tanzhenxin
a119adb6bd Merge branch 'main' into feature/arena-agent-collaboration 2026-03-02 22:24:38 +08:00
tanzhenxin
fa5bd26b68 fix(auth): validate Coding Plan API key prefix for China region
- Add validation to check API key starts with "sk-sp-" for China region
- Add Chinese translation for the validation error message
- Only apply prefix validation when region is aliyun.com (China)

This prevents users from submitting invalid API keys for the China region, providing immediate feedback with a localized error message.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-02 21:19:41 +08:00