Commit graph

4438 commits

Author SHA1 Message Date
yiliang114
d951e30cfa fix: clear retry error messages promptly after auto-retry succeeds
Previously, when an auto-retry countdown elapsed and the server sent a
Retry event (without retryInfo) to signal the actual retry attempt, the
error message was not cleared because `pendingRetryCountdownItemRef` was
still set. This caused stale error messages to persist in the UI until
the user manually initiated a new request.

Additionally, when the user pressed Ctrl+Y to retry, the error was
committed to history (without hint) instead of being discarded. This was
inconsistent with the auto-retry behavior where errors are silently
cleared on success.

Changes:
- Always call clearRetryCountdown() when a Retry event without retryInfo
  is received, removing the flawed guard condition
- Remove error-to-history commit in retryLastPrompt for consistent UX
- Add test covering the countdown-elapsed retry scenario

Closes #2310

Made-with: Cursor
2026-03-12 20:43:29 +08:00
tanzhenxin
e181cfc097
Merge pull request #2315 from xuewenjie123/fix/remove-qrcode-from-oauth-progress-v2
fix: remove QR code from OAuth authentication UI to prevent screen flickering
2026-03-12 18:53:25 +08:00
Mingholy
1d87675534
Merge pull request #2298 from QwenLM/mingholy/fix/vscode-acp-error
fix: improve ACP file operation error handling
2026-03-12 17:53:23 +08:00
顾盼
2ff9305b19
Merge pull request #2320 from QwenLM/fix/deepseek-array-content
fix(core): convert array content to string for DeepSeek API
2026-03-12 17:50:03 +08:00
tanzhenxin
182422ce2b
Merge pull request #2307 from QwenLM/release/v0.12.2
chore: Release v0.12.2
2026-03-12 17:45:40 +08:00
易良
4e04b0937a
Merge pull request #2308 from ossaidqadri/fix/completion-tab-key-support
fix(webui): add Tab key support to CompletionMenu
2026-03-12 17:39:24 +08:00
tanzhenxin
1da0c2bf30 refactor(ui): remove spinner from OAuth progress component
This simplifies the OAuth progress UI by removing the animated spinner,
resulting in a cleaner, more maintainable component.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-12 17:34:08 +08:00
tanzhenxin
603beb51e7 fix(core): convert array content to string for DeepSeek API
DeepSeek API requires message content to be a plain string, not an array
of content parts. This fix flattens text-part arrays into joined strings
and replaces non-text parts with placeholder text.

Fixes #2158, Fixes #2318

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-12 17:18:27 +08:00
xwj02155382
67089ed532 test: update OAuth progress and header tests for UI changes
- Update Header.test.tsx to expect single border (┌┐) instead of round (╭╯)
- Update QwenOAuthProgress.test.tsx:
  - Change cancel text expectation from '(Press ESC or CTRL+C to cancel)' to 'Esc to cancel'
  - Update loading state test to expect 'Qwen OAuth Authentication' title
  - Simplify animated dots test to avoid timing sensitivity
  - Rename 'gray border' test to 'single border' test

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-12 16:42:43 +08:00
xwj02155382
928701d688 refactor: simplify OAuth progress UI and use semantic colors
- Replace round border with single border style for consistency
- Use semantic-colors theme instead of Colors enum
- Add i18n translations for error messages and status text
- Simplify dots animation with fixed-width cycling patterns
- Consolidate into single bordered box layout
- Add Esc to cancel hint for better UX

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-12 16:23:05 +08:00
tanzhenxin
61fac4b15b test(cli): remove flaky tab navigation test
Remove the 'navigates between tabs with left/right arrows' test from
AskUserQuestionDialog.test.tsx due to timing-related flakiness.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-12 14:09:54 +08:00
xwj02155382
6423e078fc fix: update package-lock.json after removing qrcode-terminal
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-12 13:42:59 +08:00
xwj02155382
da7a0e8dbd fix: remove qrcode-terminal dependency and update tests
- Remove qrcode-terminal from packages/cli/package.json dependencies
- Remove @types/qrcode-terminal from root package.json devDependencies
- Update QwenOAuthProgress.test.tsx to remove QR code related tests
- Remove qrcode-terminal mock from qwenOAuth2.test.ts

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-12 13:42:59 +08:00
xuewenjie
74315a1aa4 fix: remove QR code from OAuth authentication UI to prevent screen flickering
Remove the terminal QR code display from the OAuth authentication progress
component. The QR code caused severe screen flickering on Windows PowerShell
due to Ink's full re-render cycle combined with the large character volume
of the QR code and high-frequency state updates (spinner + countdown timer).

The authorization URL link is preserved for users to complete authentication.

Changes:
- Remove qrcode-terminal import and QrCodeDisplay component
- Replace with simplified AuthUrlDisplay component (URL only)
- Remove qrCodeData state and QR code generation useEffect
- Remove unused createDebugLogger import and debugLogger instance
2026-03-12 13:42:58 +08:00
易良
17581c1e8a
Merge pull request #2312 from QwenLM/chore/yiliang-code-ownner
Some checks are pending
Qwen Code CI / Lint (push) Waiting to run
Qwen Code CI / Test (push) Blocked by required conditions
Qwen Code CI / Test-1 (push) Blocked by required conditions
Qwen Code CI / Test-2 (push) Blocked by required conditions
Qwen Code CI / Test-3 (push) Blocked by required conditions
Qwen Code CI / Test-4 (push) Blocked by required conditions
Qwen Code CI / Test-5 (push) Blocked by required conditions
Qwen Code CI / Test-6 (push) Blocked by required conditions
Qwen Code CI / Test-7 (push) Blocked by required conditions
Qwen Code CI / Test-8 (push) Blocked by required conditions
Qwen Code CI / Post Coverage Comment (push) Blocked by required conditions
Qwen Code CI / CodeQL (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:docker (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:none (push) Waiting to run
E2E Tests / E2E Test - macOS (push) Waiting to run
chore: add yiliang114 as code owner for vscode-ide-companion and webui
2026-03-12 11:49:32 +08:00
yiliang114
1ebb9bc994 chore: add yiliang114 as code owner for vscode-ide-companion and webui
Add @yiliang114 as the code owner for the following packages:
- packages/vscode-ide-companion/
- packages/webui/
2026-03-12 11:28:20 +08:00
imossaidqadri
d708faa504 fix(webui): add Tab key support to CompletionMenu
Fixes #2293

- Add Tab key handling in CompletionMenu component
- Tab now selects the highlighted completion item (same as Enter)
- Prevents default browser Tab focus behavior when menu is open
- Matches Claude Code UX pattern for slash command completion
2026-03-12 07:13:41 +05:00
tanzhenxin
9890625de7 chore: bump version to 0.12.2
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-12 10:02:48 +08:00
pomelo
2a8366390d
Merge pull request #2268 from QwenLM/fix/export-current-session
Some checks are pending
Qwen Code CI / Lint (push) Waiting to run
Qwen Code CI / Test (push) Blocked by required conditions
Qwen Code CI / Test-1 (push) Blocked by required conditions
Qwen Code CI / Test-2 (push) Blocked by required conditions
Qwen Code CI / Test-3 (push) Blocked by required conditions
Qwen Code CI / Test-4 (push) Blocked by required conditions
Qwen Code CI / Test-5 (push) Blocked by required conditions
Qwen Code CI / Test-6 (push) Blocked by required conditions
Qwen Code CI / Test-7 (push) Blocked by required conditions
Qwen Code CI / Test-8 (push) Blocked by required conditions
Qwen Code CI / Post Coverage Comment (push) Blocked by required conditions
Qwen Code CI / CodeQL (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:docker (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:none (push) Waiting to run
E2E Tests / E2E Test - macOS (push) Waiting to run
fix: export command should use current session ID instead of loadLastSession
2026-03-11 22:38:45 +08:00
mingholy.lmh
2cbd092835 fix(core): handle ENOENT from ACP readTextFileWithInfo gracefully
- Add readTextFileWithInfo implementation in AcpFileSystemService
- Convert RESOURCE_NOT_FOUND errors to ENOENT for consistent handling
- Strip UTF-8 BOM from ACP responses
- Treat ENOENT errors in write-file tool as new file creation

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-11 22:37:03 +08:00
mingholy.lmh
bddce08750 refactor(vscode-ide-companion): unify error message handling across the codebase
- Extract getErrorMessage utility for consistent error-to-string conversion
- Replace scattered error handling logic with centralized function
- Simplify authentication error checks using isAuthenticationRequiredError
- Add unit tests for errorMessage utility

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-11 22:17:02 +08:00
tanzhenxin
150521d88e
Merge pull request #2291 from QwenLM/mingholy/fix/acp-edit-file
Some checks failed
Qwen Code CI / Lint (push) Has been cancelled
Qwen Code CI / CodeQL (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
fix(vscode-ide-companion): map ENOENT errors to ACP RESOURCE_NOT_FOUND in readTextFile
2026-03-11 19:42:17 +08:00
tanzhenxin
76dde827a8
Merge pull request #2289 from QwenLM/fix/windows-pty-resize-race-condition
fix(cli): suppress Windows pty resize race condition
2026-03-11 19:17:51 +08:00
mingholy.lmh
6c72503636 fix(vscode-ide-companion): map ENOENT errors to ACP RESOURCE_NOT_FOUND in readTextFile
- Add error handling in readTextFile to catch and map file system errors
- Convert ENOENT errors to RequestError with RESOURCE_NOT_FOUND code
- Add unit tests for the error mapping logic

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-11 19:14:55 +08:00
DennisYu07
da77cf895d
Merge pull request #2290 from QwenLM/fix/start-qwen-after-installation
refactore: Start qwen after installation
2026-03-11 19:05:48 +08:00
DennisYu07
8133c968ed start qwen after installation 2026-03-11 04:01:22 -07:00
tanzhenxin
741aa436e3 fix(cli): suppress Windows pty resize race condition
Add global uncaught exception handler to suppress known race condition
in @lydell/node-pty where a deferred resize fires after the pty process
has already exited on Windows.

Tracking bug: https://github.com/microsoft/node-pty/issues/827

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-11 18:40:04 +08:00
qqqys
e65953de04
fix(core): skip openDiff in YOLO mode to prevent VS Code editor from opening (#2221)
* fix(core): skip openDiff in YOLO mode to prevent VS Code editor from opening

* test: add shouldConfirmExecute tests for AUTO_EDIT and YOLO in edit and write-file

* Update packages/core/src/tools/edit.ts

Co-authored-by: Shaojin Wen <shaojin.wensj@alibaba-inc.com>

* Update packages/core/src/tools/write-file.ts

Co-authored-by: Shaojin Wen <shaojin.wensj@alibaba-inc.com>

---------

Co-authored-by: Shaojin Wen <shaojin.wensj@alibaba-inc.com>
2026-03-11 01:48:16 -07:00
易良
ed0d748f27
Merge pull request #2188 from QwenLM/feat/vscode-ide-companion-layout
feat(vscode-ide-companion): add sidebar view and multi-position chat layout
2026-03-11 15:08:45 +08:00
yiliang114
e1e0eb8631 fix(vscode-ide-companion): improve thinking message ordering and context-aware new chat
- Adjust thinking message timestamp to sort above assistant response
- Add context-aware new chat: sidebar resets in-place, editor tab opens new tab

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-11 13:44:25 +08:00
yiliang114
40afc13e14 feat(vscode-ide-companion): refactor webview layout to mutual-exclusive sidebar pattern
Adopt Claude Code's approach for webview view registration:
- Use mutual-exclusive sidebar/secondary sidebar with `when` conditions
- Detect secondary sidebar support via VS Code version >= 1.106
- Share single ChatWebviewViewProvider instance across both view IDs
- Only set context key when secondary sidebar is NOT supported
- Pass supportsSecondarySidebar as closure variable to commands

Additional fixes:
- Fix WebViewContent.generate() to accept both Webview and WebviewPanel
- Fix permission handler leak (cancel old promise before new)
- Fix double diff command execution in resolve callback
- Add initializationPromise dedup for auth-restore races
- Add attachToView() for sidebar/secondary sidebar hosting
- Add missing AskUserQuestionResponseMessage import

Co-authored-by: buaoyezz <buaoyezz@users.noreply.github.com>
2026-03-11 11:20:25 +08:00
pomelo-nwu
f13a2fdf17 fix: export command should use current session ID instead of loadLastSession
The /export commands (html, md, json, jsonl) were incorrectly using
loadLastSession() which loads the last modified session from disk,
rather than the currently active session.

This fix uses config.getSessionId() to get the current session ID
and loads the correct session with loadSession(sessionId).

Fixes #2267

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-11 11:16:29 +08:00
yiliang114
e9f57e6689 Merge branch 'main' of https://github.com/QwenLM/qwen-code into feat/vscode-ide-companion-layout 2026-03-11 10:08:59 +08:00
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
yiliang114
64b2dfaddc Merge remote-tracking branch 'origin/main' into feat/vscode-ide-companion-layout 2026-03-10 15:52:47 +08:00
DennisYu07
d30986997f
Merge pull request #2238 from QwenLM/feat/hook-stop-implementation
fix(hooks): Remove useless expect
2026-03-10 14:57:53 +08:00
DennisYu07
5774fa47af remove useless expect 2026-03-09 23:31:10 -07:00
tanzhenxin
b6dda8c08d
Merge pull request #2224 from Deng-Xian-Sheng/patch-1
improve readability of context compression description
2026-03-10 14:10:49 +08:00
DennisYu07
1ce1818680
Merge pull request #2230 from QwenLM/feat/hook-stop-implementation
fix(hooks): Fix failing hook integration tests by updating hook scripts to create hook_invoke_count.txt
2026-03-10 13:59:59 +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
89b4931dc5
Merge pull request #2226 from QwenLM/release/v0.12.1
chore(release): bump version to 0.12.1
2026-03-10 11:47:25 +08:00
DennisYu07
f945f95540 refactor test case 2026-03-09 20:38:38 -07: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
yiliang114
3f77f416ec Merge branch 'main' of https://github.com/QwenLM/qwen-code into feat/vscode-ide-companion-layout 2026-03-10 11:05:31 +08:00
DennisYu07
e529b62fd2 refactor expect for stop hook 2026-03-09 20:05:17 -07:00
tanzhenxin
3b5e9f21c2
Merge branch 'main' into release/v0.12.1 2026-03-10 10:51:50 +08:00
tanzhenxin
2643116804 fix(test): remove flaky custom input state tests from AskUserQuestionDialog
Remove 5 tests in 'custom input preserves state' describe block that were
flaky on Windows CI due to timing issues with TextInput state updates and
keyboard navigation.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-10 10:50:21 +08:00
tanzhenxin
a4136f484d
Merge pull request #2110 from QwenLM/fix/clear-message-after-change-modle
fix(cli): clear static error message when starting new query
2026-03-10 10:36:32 +08:00
tanzhenxin
e5aa9ce8e7 fix(test): increase wait times in AskUserQuestionDialog tests for Windows CI
- Increase wait times from 200ms to 250-300ms for auto-advance tests
- Windows CI can have timing issues with setTimeout precision

This fixes flaky test failures on Windows CI where the 150ms auto-advance
timeout wasn't completing before the next test action.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-10 10:29:54 +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