Commit graph

4316 commits

Author SHA1 Message Date
顾盼
f5ec6ae7a3
Merge pull request #1831 from QwenLM/feat/mcp-tui
feat: Enhance MCP Management TUI with dynamic enable/disable and runtime updates
2026-03-06 17:12:25 +08:00
LaZzyMan
32d499944a Merge branch 'main' into feat/mcp-tui 2026-03-06 16:55:38 +08:00
LaZzyMan
79d1622eda fix i18n 2026-03-06 16:53:12 +08:00
TianHao Zhang
fea70ce11f
Merge pull request #2138 from QwenLM/feat/add-dragonnzhang-codeowners
chore: add @DragonnZhang to CODEOWNERS
2026-03-06 16:28:40 +08:00
DragonnZhang
3e0ec10c68 chore: add @DragonnZhang to CODEOWNERS for review assignments 2026-03-06 16:06:56 +08:00
tanzhenxin
1fb5db2892
Merge pull request #2108 from QwenLM/feat/shell-pty-default-and-enhancements
feat(shell): enable PTY by default and various enhancements
2026-03-06 15:39:32 +08:00
tanzhenxin
a8d3d54b43 chore(vscode): update settings schema for enableInteractiveShell default change
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-06 15:21:25 +08:00
tanzhenxin
23df34b204 chore(cli): remove unused debugLogger import from settings
Removes an unused debugLogger import that was left over from previous changes.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-06 15:06:17 +08:00
tanzhenxin
38dafeb839 Merge branch 'main' into feat/mcp-tui 2026-03-06 15:03:47 +08:00
tanzhenxin
648d48edbc Merge branch 'main' into feat/shell-pty-default-and-enhancements 2026-03-06 15:02:41 +08:00
tanzhenxin
280fb9329d
Merge pull request #1793 from QwenLM/feat/sandbox-config-improvements
refactor: unify sandbox configuration naming and improve telemetry config
2026-03-06 15:02:08 +08:00
tanzhenxin
8ad5838acb chore: update settings.schema.json
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-06 14:44:07 +08:00
tanzhenxin
3a549419ba Merge branch 'main' into feat/sandbox-config-improvements 2026-03-06 14:38:39 +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
fcebd14a90
Merge pull request #2092 from QwenLM/fix/disable-llm-loop-detection
fix(core): remove LLM-based loop detection and enable skipLoopDetection by default
2026-03-06 14:13:36 +08:00
tanzhenxin
76650819f3
Merge pull request #2120 from QwenLM/refactor/message-components-and-themes
refactor(cli): consolidate message components and fix leading icon display issues
2026-03-06 14:05:21 +08:00
DennisYu07
79939e8ebe
Merge pull request #1988 from QwenLM/feat/hook-stop-implementation
Some checks are pending
Qwen Code CI / CodeQL (push) Waiting to run
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
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
feat(hooks): Implement hooks system infrastructure with CLI and UI management
2026-03-06 12:59:16 +08:00
tanzhenxin
0499f0a390
Merge pull request #1830 from QwenLM/feat/add-vscode-settings-json-schema
feat: add JSON Schema validation for VS Code settings
2026-03-06 11:58:14 +08:00
顾盼
881bef1ad2
Merge pull request #2082 from zy6p/fix/2062-preserve-default-agents-context-loading
fix(cli): keep AGENTS.md enabled by default context reset
2026-03-06 11:58:03 +08:00
DennisYu07
88e5c4ac15
Merge pull request #1890 from Aayushyaash/fix/windows-crlf-parsing
fix(windows): resolve silent failures caused by CRLF line endings (#1868)
2026-03-06 11:57:53 +08:00
tanzhenxin
b0d929ec4c
Merge pull request #1827 from QwenLM/feat/printable-csi-u-keys
feat: add support for printable CSI-u keys in KeypressContext
2026-03-06 11:56:47 +08:00
易良
6e59c48834
fix(core): add independent retry budget for transient stream anomalies (#2126)
* fix(core): add independent retry budget for transient stream anomalies

- Add separate retry budget for InvalidStreamError (NO_FINISH_REASON/NO_RESPONSE_TEXT)
- Fix hasFinishReason logic to prevent usage-only chunks from overwriting existing finish reason
- Update tests to use fake timers for retry delay handling
- Add test for trailing usage-only chunk handling

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

* test(core): fix async timer handling in GeminiChat tests

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

* test(core): stabilize geminiChat stream retry tests

* fix: reduce invalid stream retry attempts in gemini chat

* test(core/geminiChat): sync retry count assertions with INVALID_STREAM_RETRY_CONFIG

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

---------

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-06 11:55:57 +08:00
tanzhenxin
f79858eab0
Merge pull request #2118 from QwenLM/add-tip-installation-script
fix(install): Add tips and fix installation issues for installation scripts
2026-03-06 11:55:29 +08:00
tanzhenxin
38e49c1d39
Merge pull request #2073 from QwenLM/fix-issue-qwen-code
fix: preserve original encoding when reading/writing non-UTF-8 files
2026-03-06 11:38:35 +08:00
tanzhenxin
92ad985343
Merge pull request #2056 from QwenLM/fix/symlink-copy-error-on-extension-install
fix: handle symlinks during extension installation
2026-03-06 11:35:36 +08:00
yiliang114
edd5678307 test(core/geminiChat): sync retry count assertions with INVALID_STREAM_RETRY_CONFIG
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-06 11:35:03 +08:00
yiliang114
57f18d1ad7 fix: reduce invalid stream retry attempts in gemini chat 2026-03-06 11:28:24 +08:00
yiliang114
93c96a0425 Merge branch 'main' into fix/transient-stream-retry-v2 2026-03-06 11:27:54 +08:00
tanzhenxin
4a65346b79
Merge pull request #1817 from yiliang114/fix/docker-ide-host-check
fix(ide): add async DNS check for host.docker.internal in container environments
2026-03-06 11:25:52 +08:00
tanzhenxin
5832571e6c
Merge pull request #2125 from QwenLM/fix/duplicate-function-call-yields
fix(core): prevent duplicate function-call yields from trailing stream chunks
2026-03-06 11:25:08 +08:00
tanzhenxin
076f4c9afa
Merge pull request #2037 from QwenLM/mingholy/refactor/settings-migration
Refactor settings migration to sequential framework with atomic file writes
2026-03-06 11:17:33 +08:00
tanzhenxin
5ab2d78329
Merge pull request #2047 from QwenLM/mingholy/fix/sdk-crash
fix(cli): ignore stream-json input format in TTY mode to prevent hanging
2026-03-06 11:15:48 +08:00
yiliang114
64540098c7 test(core): stabilize geminiChat stream retry tests 2026-03-06 00:06:02 +08:00
yiliang114
81caadcf3a test(core): fix async timer handling in GeminiChat tests
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-06 00:06:02 +08:00
yiliang114
282a3b43a0 fix(core): add independent retry budget for transient stream anomalies
- Add separate retry budget for InvalidStreamError (NO_FINISH_REASON/NO_RESPONSE_TEXT)
- Fix hasFinishReason logic to prevent usage-only chunks from overwriting existing finish reason
- Update tests to use fake timers for retry delay handling
- Add test for trailing usage-only chunk handling

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-06 00:06:02 +08:00
yiliang114
38e1c2933f fix(core): prevent duplicate function-call yields from trailing stream chunks
After the merged finish+usage response was yielded, handleChunkMerging's
hasPendingFinish flag stayed true due to reference-shared candidates.
Trailing empty chunks would trigger another merge, yielding the same
functionCall parts again and causing duplicate tool executions in the UI.

Add a finishYielded guard in processStreamWithLogging so that once the
merged finish response is yielded, all subsequent chunks skip merging
entirely and only absorb late-arriving usage metadata.

Closes #2121
2026-03-06 00:01:13 +08:00
tanzhenxin
01ed2a7b1f test(terminal-capture): add message-components scenario for PR #2120
Add test scenario to verify message component prefixes display correctly:
- Info message prefix (● filled circle)
- Error message prefix (✕)
- User message prefix (>)
- Assistant message prefix (✦)

Also refactors GIF generation to scenario-level for cleaner output.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-05 21:13:13 +08:00
qwencoder
708d47683c style(messages): use filled circle prefix for info messages 2026-03-05 20:26:40 +08:00
qwencoder
c368c508d7 Merge remote-tracking branch 'origin/main' into refactor/message-components-and-themes 2026-03-05 20:23:10 +08:00
tanzhenxin
ff26403811
Merge pull request #2117 from QwenLM/feat/add-qc-commands
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:none (push) Waiting to run
E2E Tests / E2E Test - macOS (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:docker (push) Waiting to run
feat(commands): add custom QC commands for GitHub workflows
2026-03-05 20:21:22 +08:00
tanzhenxin
d8e0f7ee76
Merge pull request #2116 from QwenLM/feat/terminal-capture-streaming
feat(terminal-capture): add streaming capture with GIF generation
2026-03-05 20:19:54 +08:00
DennisYu07
6f1e0bf18c add tips and fix issues in script 2026-03-05 04:11:59 -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
tanzhenxin
06aeb8a6a2 add qc-code-review scenario 2026-03-05 19:41:32 +08:00
tanzhenxin
d6c4350f71 feat(commands): add custom QC commands for GitHub workflows
Add four new custom commands for Qwen Code CLI:
- code-review: Review pull requests with detailed analysis
- commit: Generate commit messages and push changes
- create-issue: Draft and submit GitHub issues
- create-pr: Create well-structured pull requests

These commands provide structured workflows for common GitHub operations.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-05 19:24:11 +08:00
tanzhenxin
df20ec9871 feat(terminal-capture): add streaming-insight scenario and simplify GIF timing
- Add streaming-insight scenario for /insight command demo
- Add progress.sh script to test PTY carriage return handling
- Simplify generateGif with fixed frame durations (300ms normal, 1s edges)

This enhances terminal capture testing with a real-world streaming scenario
and cleaner GIF generation logic.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-05 19:13:28 +08:00
tanzhenxin
b8a7ac830d feat(terminal-capture): add streaming capture with GIF generation
Add ability to capture multiple screenshots at intervals during
long-running terminal output (e.g., progress bars). Optionally
generates animated GIFs from captured frames using ffmpeg.

Features:
- Streaming capture at configurable intervals
- Early stop when output stabilizes (3 consecutive unchanged frames)
- Duplicate frame skipping
- Animated GIF generation via ffmpeg concat demuxer
- Auto-cleanup of output directory before each run
- Configurable delay before starting captures

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-05 17:46:09 +08:00
tanzhenxin
5d878ec643 chore: remove PTY test scripts
Remove temporary test scripts used during PTY shell feature development.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-05 17:43:24 +08:00