Commit graph

4290 commits

Author SHA1 Message Date
DragonnZhang
3e0ec10c68 chore: add @DragonnZhang to CODEOWNERS for review assignments 2026-03-06 16:06:56 +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
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
zy6p
d7d2ffb304 fix: follow review for default context filename handling 2026-03-05 10:33:52 +08:00
tanzhenxin
396248e296 fix(core): remove LLM-based loop detection and enable skipLoopDetection by default
The LLM-based loop detection was causing issues where the process would
stop unexpectedly. This change removes the LLM-based loop detection
feature entirely and sets skipLoopDetection to true by default to
prevent false positives from interrupting user sessions.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-04 23:21:04 +08:00
Mingholy
991ae9febc
Merge pull request #2085 from huww98/feat/export-html-open-temp-file
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
feat(export-html): viewer for tool call results
2026-03-04 23:16:15 +08:00
Mingholy
9bcd4260df
Merge pull request #2090 from QwenLM/chore/bump-version-0.12.0
chore: bump version to 0.12.0
2026-03-04 23:15:22 +08:00
mingholy.lmh
1ef3ac82ad refactor(export-html): modal improvements - remove blur effect, add body scroll lock
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-04 22:18:00 +08:00
Aayush Yash
7cda73c89c Merge remote-tracking branch 'upstream/main' into fix/windows-crlf-parsing
# Conflicts:
#	packages/core/src/utils/textUtils.test.ts
#	packages/core/src/utils/textUtils.ts
2026-03-04 18:43:36 +05:30
tanzhenxin
d90ee6f4aa
Merge pull request #2077 from lgzzzz/fix-write-file-output-format
feat: add tabWidth support for code highlighting and replace tabs with spaces in CodeColorizer
2026-03-04 21:08:46 +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
8052324578 chore: bump version to 0.12.0
Update version across all packages and sandbox image URI.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-04 20:25:56 +08:00
tanzhenxin
d9bc66cd2a
Merge pull request #2078 from zy6p/fix/2053-markdown-frontmatter-windows
fix(cli): parse markdown command frontmatter on Windows CRLF/BOM
2026-03-04 20:22:55 +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
胡玮文
fc6d640b0a feat(export-html): implement openTempFile with modal viewer for tool call results 2026-03-04 19:17:12 +08:00
zy6p
05f22247de refactor(cli): reuse normalizeContent for markdown frontmatter parsing 2026-03-04 17:34:26 +08:00