Commit graph

4521 commits

Author SHA1 Message Date
tanzhenxin
110fcd7b7b
Merge pull request #2280 from xuewenjie123/fix/hooks-json-schema-type
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: correct hooks JSON schema type definition
2026-03-15 22:44:01 +08:00
tanzhenxin
06d8a01532
Merge pull request #2391 from kkhomej33-netizen/fix/macos-pty-sandbox-rules
fix(cli): allow /dev/ptmx and /dev/ttys* in macOS permissive sandbox
2026-03-15 22:33:40 +08:00
tanzhenxin
fb44b76abd
Merge pull request #2157 from QwenLM/zth/keep-rejected-plan-content-visible
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
Keep rejected plan content visible in plan mode
2026-03-15 22:11:57 +08:00
tanzhenxin
2719540fab
Merge pull request #2024 from drewd789/fix/pdf-session-corruption
fix(core): reject PDF files to prevent session corruption (fixes #2020)
2026-03-15 22:06:41 +08:00
tanzhenxin
33c6d9cbf3
Merge pull request #2286 from LaZzyMan/fix/extension-install-symlink-windows
fix(extension): disable symlinks on Windows during git clone to fix install failure
2026-03-15 21:55:44 +08:00
tanzhenxin
7ee65e1738 fix(fileUtils): remove error field from skipped file result
When a file is skipped because the model doesn't support a modality,
it should not be treated as an error. The error field was incorrectly
being set alongside the informational message.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-15 21:44:28 +08:00
tanzhenxin
fdad1980d7 fix(test): add missing getContentGeneratorConfig mock to tests
Adds the required getContentGeneratorConfig mock to read-file.test.ts
and pathReader.test.ts to fix failing tests that depend on content
generator configuration.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-15 21:41:20 +08:00
tanzhenxin
5c31341205 Merge remote main into fix/pdf-session-corruption
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-15 21:24:57 +08:00
tanzhenxin
6997636ba4 fix(fileUtils): use config modalities instead of model-based defaults
This fixes session corruption issues where the modality check was based on
the model name rather than the actual resolved config, causing inconsistent
behavior when the config's modalities differed from the defaults.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-15 21:22:57 +08:00
tanzhenxin
59c1765ec5
Merge pull request #2001 from hs-ye/docs/subagent-limits
Docs/subagent system prompt limits
2026-03-15 21:15:53 +08:00
tanzhenxin
344839c0c4
Merge pull request #2397 from QwenLM/codex/add-qwen-doc-skills
feat(skills): add docs audit and update helpers
2026-03-15 20:59:02 +08:00
tanzhenxin
1852a73a3f fix(subagents): change limits from hard errors to soft warnings
- Increase description warning threshold from 500 to 1,000 characters
- Change system prompt 10,000 char limit from error to warning
- Remove intermediate 5,000 char warning threshold for system prompts
- Update documentation to reflect soft warning behavior

This provides more flexibility for users while still guiding them
toward better practices.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-15 20:56:25 +08:00
tanzhenxin
e2affcebdd
Merge pull request #2364 from netbrah/fix/empty-choices-crash
fix(core): guard against empty choices in convertOpenAIResponseToGemini
2026-03-15 20:52:47 +08:00
DragonnZhang
a8bc25beb9 feat(skills): add docs audit and update helpers 2026-03-15 20:40:31 +08:00
tanzhenxin
2898e9e60e refactor(core): move candidates assignment inside choice check
Restructures the convertOpenAIResponseToGemini method to set
response.candidates within the choice conditional block, making
the empty choices handling more explicit and the control flow clearer.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-15 20:37:59 +08:00
tanzhenxin
8161ac4523 fix(hooks): correct JSON schema type for hooks configuration
- Add 'array' type support to SettingItemDefinition
- Change hooks field from object to array type
- Add additionalProperties constraint for env fields
- Fix additionalProperties generation to only apply for object types

This ensures the hooks configuration schema correctly represents hooks as an array
and properly validates environment variable objects.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-15 20:32:56 +08:00
tanzhenxin
b83e9ea393
Merge pull request #2333 from chen893/fix/slash-command-i18n
fix(i18n): localize slash command descriptions
2026-03-15 20:12:15 +08:00
tanzhenxin
2391c26026
Merge pull request #2393 from QwenLM/release/v0.12.4
chore(release): bump version to 0.12.4
2026-03-15 19:59:57 +08:00
tanzhenxin
a165599b32 chore(release): bump version to 0.12.4
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-15 18:45:14 +08:00
zach
487a8390b0 fix(cli): allow macOS PTY device paths in permissive sandbox 2026-03-15 08:09:35 +00:00
tanzhenxin
b2c9e641ef
Merge pull request #2362 from netbrah/fix/deepseek-r1-output-limit
fix(core): add deepseek-r1 to output token limit patterns
2026-03-14 21:46:35 +08:00
palanisd
9665760f43
fix(insight): handle individual LLM failures in qualitative insights (#2341) (#2361)
Previously, `generateQualitativeInsights` used `Promise.all` with a
`generate` helper that re-threw errors. A single LLM call failure
(timeout, rate limit, JSON parse error) caused the entire `qualitative`
object to become `undefined`, hiding all detailed report sections.

Now individual `generate` calls catch errors and return `undefined`
instead of throwing. The `QualitativeInsights` interface fields are
made optional so partial results render correctly — each React section
component already guards against missing data with `if (!field) return
null`.

Made-with: Cursor
2026-03-14 15:39:46 +08:00
Shaojin Wen
1359563f45
feat(skills): add bundled /review skill for out-of-the-box code review (#2348)
feat(skills): add bundled /review skill for out-of-the-box code review
2026-03-14 15:15:08 +08:00
netbrah
b416bbdcc6 fix(core): guard against empty choices in convertOpenAIResponseToGemini
The streaming path (convertOpenAIChunkToGemini) already uses optional
chaining on choices and guards with `if (choice)`, but the
non-streaming path accesses choices[0] directly. Providers that return
an empty choices array cause a TypeError crash.

Made-with: Cursor
2026-03-13 13:20:23 -04:00
netbrah
4990a56f74 fix(core): add deepseek-r1 to output token limit patterns
deepseek-r1 normalizes to `deepseek-r1` which does not match the
existing `^deepseek-reasoner` output pattern, causing it to fall
through to the 8K default. DeepSeek R1 supports 64K output tokens,
same as deepseek-reasoner. Without this fix, responses from
deepseek-r1 are silently truncated at 8K tokens.

Made-with: Cursor
2026-03-13 13:16:40 -04:00
tanzhenxin
f1ee4638b7
Merge pull request #2355 from QwenLM/fix/remove-debug-log-session-setup
fix(cli): remove unused debug log session setup in loadSettings
2026-03-13 20:21:29 +08:00
tanzhenxin
fe9819836c fix(cli): remove unused debug log session setup in loadSettings
The temporary debug log session setup at the start of loadSettings() was
removed along with unused imports (setDebugLogSession, sanitizeCwd). The
resolvedWorkspaceDir variable is now defined where it's actually used.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-13 20:05:23 +08:00
顾盼
d950ad0f7d
Merge pull request #2344 from QwenLM/fix-vscode-encoding
Refactors `FileSystemService` interface to use ACP-aligned request/response objects
2026-03-13 18:05:33 +08:00
tanzhenxin
f3cd92946c
Merge pull request #2351 from QwenLM/release/v0.12.3
chore(release): bump version to 0.12.3
2026-03-13 17:47:02 +08:00
LaZzyMan
f9de25d7c5 fix review bugs 2026-03-13 17:45:39 +08:00
tanzhenxin
278add5147
Merge pull request #2265 from wenshao/fix/remove-duplicate-exports-index
fix(core): remove duplicate exports in packages/core/src/index.ts
2026-03-13 17:34:33 +08:00
tanzhenxin
cb1f8d7691
Merge pull request #2350 from QwenLM/fix/ctrl-f-pty-artifact
fix(cli): prevent Ctrl+F from leaking to PTY as ^F artifact
2026-03-13 17:32:18 +08:00
tanzhenxin
d195c95b9c
Merge pull request #2245 from yshngg/bugfix/mcp-add-option
fix: improve qwen mcp add option handling for arrays
2026-03-13 17:30:49 +08:00
tanzhenxin
affddfe021 docs(shell): clarify enableInteractiveShell default behavior
Document that the setting defaults to true on most platforms but false
on Windows builds <= 19041 due to ConPTY reliability issues, matching
VS Code's approach.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-13 17:16:47 +08:00
tanzhenxin
aa206112ee
Merge pull request #2349 from QwenLM/fix/windows-conpty-default
fix(core): disable node-pty on older Windows builds with broken ConPTY
2026-03-13 16:47:36 +08:00
tanzhenxin
04beebe587
Merge pull request #2347 from QwenLM/fix/windows-shell-args-quoting
fix(shell): pass args as string on Windows to prevent quoting issues
2026-03-13 16:47:18 +08:00
tanzhenxin
d2ea1b9d3f
Merge pull request #2345 from QwenLM/fix/gpt5-token-limits
fix(core): correct GPT-5.x input token limit to 272K
2026-03-13 16:46:55 +08:00
tanzhenxin
f2b7d9aaac chore(release): bump version to 0.12.3
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-13 16:42:12 +08:00
tanzhenxin
f831586d96 fix(cli): prevent Ctrl+F from leaking to PTY as ^F artifact
When toggling shell focus mode with Ctrl+F, the raw control character
was being forwarded to the PTY, causing a ^F artifact to appear in the
shell. This fix intercepts the Ctrl+F keypress before it reaches the
PTY when it's used for focus mode toggling.

Fixes #2236

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-13 16:34:55 +08:00
tanzhenxin
4e5fccf82e test(cli): remove flaky keyboard interaction tests on Windows
Remove tests that rely on arrow key and keyboard input timing which are
unreliable on Windows CI due to terminal emulation differences.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-13 16:13:31 +08:00
tanzhenxin
6383b41975 fix(core): disable node-pty on older Windows builds with broken ConPTY
ConPTY on Windows builds <= 19041 has known reliability issues including
missing output and hangs. VS Code uses the same cutoff.

This fixes run_shell_command returning empty output on affected Windows
systems by falling back to spawn-based execution instead of node-pty.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-13 16:06:27 +08:00
tanzhenxin
452ee89a9f fix(shell): set windowsVerbatimArguments only for cmd.exe
- Enable windowsVerbatimArguments only when shell is cmd.exe
- PowerShell requires default escaping for correct arg round-trip

The windowsVerbatimArguments option skips Node's MSVC CRT escaping,
which cmd.exe doesn't understand. PowerShell (.NET) needs the default
escaping so args pass correctly through CommandLineToArgvW.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-13 15:50:21 +08:00
tanzhenxin
e1dfb4a844 fix(shell): only use string args for cmd.exe on Windows
PowerShell handles array args correctly via CommandLineToArgvW, and
the string form breaks quoted paths ending in backslash (e.g.,
"C:\Temp\") because \" is treated as an escaped quote.

This refines the previous fix to only apply the workaround to cmd.exe.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-13 15:21:10 +08:00
tanzhenxin
6193aade55 fix(shell): pass args as string on Windows to prevent quoting issues
On Windows, node-pty's argsToCommandLine re-quotes array elements that
contain spaces, which mangles user-provided quoted arguments. For example,
'type "hello world"' becomes '"type \"hello world\""'.

By passing args as a single string instead of an array on Windows,
node-pty concatenates it verbatim, preserving the original quoting.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-13 14:53:25 +08:00
tanzhenxin
2f4f44d213 test(core): update GLM output limit tests to match 128K
Updates test expectations for GLM-5 and GLM-4.7 output limits
from 16K to 128K to align with the implementation changes.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-13 14:45:20 +08:00
tanzhenxin
613e8b3633 fix(core): correct GPT-5.x input token limit to 272K
GPT-5.x models have 400K total context but 128K is reserved for output,
so the actual input limit is 272K (400K - 128K). Also updates GLM-5 and
GLM-4.7 output limits from 16K to 128K.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-13 14:26:12 +08:00
LaZzyMan
5e58e29bde Merge branch 'main' into fix-vscode-encoding 2026-03-13 13:50:30 +08:00
LaZzyMan
328862aee7 fix encoding in acp 2026-03-13 13:47:25 +08:00
tanzhenxin
625c50aae7
Merge pull request #2322 from QwenLM/fix/ide-connection-dns-lookup
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 / 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
Qwen Code CI / Post Coverage Comment (push) Has been cancelled
fix(ide): resolve IDE connection issues in some VSCode clients and optimize connection config lookup
2026-03-13 11:34:50 +08:00
chen893
94005ee948 chore: update i18n locale files 2026-03-13 01:33:48 +08:00