Commit graph

3072 commits

Author SHA1 Message Date
DragonnZhang
6d68d6ec24 feat: update JSON Schema for VS Code settings with improved formatting 2026-02-26 16:18:01 +08:00
DragonnZhang
01c66ca333 feat: add JSON Schema validation for VS Code settings
Add JSON Schema generation for settings.json files to provide IntelliSense
and validation support in VS Code. The schema is automatically generated
from the internal SETTINGS_SCHEMA definition during the build process.

- Add generate-settings-schema.ts script to convert TypeScript schema to JSON Schema
- Add jsonValidation contribution to vscode-ide-companion package.json
- Include schemas directory in .vscodeignore for packaging
- Integrate schema generation into build process

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-13 17:32:18 +08:00
顾盼
aefea076b0
Merge pull request #1811 from QwenLM/fix/abort-signal-listener-leak
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: prevent AbortSignal listener memory leak
2026-02-13 10:35:20 +08:00
LaZzyMan
3f04217458 fix: prevent AbortSignal listener memory leak
- Add abort listener cleanup in Query.close() to prevent memory leak
- Add abort listener cleanup in ControlDispatcher.shutdown()
- Remove AbortController recreation in Session.handleInterrupt()

This fixes the MaxListenersExceededWarning that occurred when:
- Creating 11+ Query instances in SDK/non-interactive mode
- Multiple user interrupts (Ctrl+C) in interactive mode
- Intensive control request scenarios
2026-02-12 10:39:19 +08:00
mingholy.lmh
cc4ad12e06 chore: bump version to 0.10.1
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-11 19:22:31 +08:00
mingholy.lmh
a5c7f1db3b feat(i18n): add translations for "Configure authentication information for login" in multiple languages 2026-02-11 17:00:43 +08:00
mingholy.lmh
54d9073cc0 feat(auth): enhance AuthDialog with error handling and update API key link 2026-02-11 16:48:54 +08:00
mingholy.lmh
a8a05188cb feat(coding-plan): implement Coding Plan configuration management and update prompts 2026-02-11 16:18:23 +08:00
mingholy.lmh
5f710b5f6f fix: ui 2026-02-11 11:58:34 +08:00
mingholy.lmh
50e5cf7508 feat(ui): enhance AuthDialog with theming and documentation link 2026-02-11 11:58:34 +08:00
Mingholy
6626745197 fix: type & i18n & ut 2026-02-11 11:58:33 +08:00
mingholy.lmh
b9dd080bd1 feat: add auth entry: coding plan 2026-02-11 11:58:33 +08:00
Mingholy
169ad2d030
Merge pull request #1756 from QwenLM/feat/mcp-progress-updates
feat: add MCP tool progress update support in TUI and SDK mode
2026-02-11 11:07:20 +08:00
Mingholy
f7e3bd0ead
Merge pull request #1773 from QwenLM/fix/auth-model-login-ui
fix(auth-model-login-ui): prevent Enter key from triggering empty message submission
2026-02-11 11:07:11 +08:00
顾盼
66f754e203
Merge pull request #1770 from QwenLM/fix/local-extension-path-detection
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 (Linux) - sandbox:docker (push) Waiting to run
E2E Tests / E2E Test - macOS (push) Waiting to run
fix: prioritize local path detection in extension installation
2026-02-10 14:39:19 +08:00
tanzhenxin
d6a33dbe03
Merge pull request #1662 from QwenLM/fix/top-right-model-not-updating
fix(ui): resolve model not updating in top-right corner
2026-02-10 10:22:08 +08:00
yiliang114
981692b239 fix(vscode-ide-companion): refine model selection keyboard handling and error display
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-09 19:17:46 +08:00
yiliang114
0109619c2d test: move webui component tests and clean docs 2026-02-09 15:54:49 +08:00
yiliang114
58adc7de63 Merge branch 'main' of https://github.com/QwenLM/qwen-code into fix/auth-model-login-ui 2026-02-09 14:34:14 +08:00
yiliang114
33bddd44f1 fix(vscode): prevent empty user message when selecting model via Enter
The ModelSelector's keydown handler used bubble-phase addEventListener
on document, so pressing Enter to confirm a model would also propagate
to the InputForm and trigger a form submit with empty text — creating
a ghost user-message bubble.

Fix: register the handler with `{ capture: true }` and call both
`preventDefault()` and `stopPropagation()` on arrow/Enter/Escape
keys so the event never reaches the InputForm.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 14:32:56 +08:00
LaZzyMan
f491281ee1 fix: prioritize local path detection in extension installation
- Reorder source type detection: check local path existence first, then Git URLs, then owner/repo format
- Remove 'marketplace' as a separate type; use originSource='Claude' instead to identify Claude marketplace extensions
- Simplify type system from 5 types (git/local/link/github-release/marketplace) to 4 types
- Fix issue where relative paths (../path, ./path) were incorrectly treated as owner/repo format
- Add comprehensive test coverage for all path detection scenarios
2026-02-09 14:15:44 +08:00
yiliang114
d18a5a37d1 fix(vscode): handle auth errors on model switch and show login page
When session/set_model fails with an authentication error (expired
token, invalid credentials, etc.), the extension now:
- Shows a VSCode error notification with the model name for context
- Sends a loginRequired message to the webview so it renders the
  Onboarding login page (without clearing chat history)
- On successful re-login the forceLogin overlay is dismissed

Also guards against empty/zero-width-space-only chat messages and
strips the internal ACP `\nData: {...}` payload from user-facing
error messages.

Includes unit tests for SessionMessageHandler (setModel success,
auth errors, generic errors, missing modelId, stripAcpErrorData)
and useWebViewMessages (loginRequired/loginSuccess round-trip).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 14:01:22 +08:00
tanzhenxin
4e89c99216 Merge remote-tracking branch 'origin/main' into feat/mcp-progress-updates 2026-02-09 10:18:35 +08:00
Mingholy
c8e8581978
Merge pull request #1758 from QwenLM/mingholy/fix/fork-mode-ipc
Fix CLI argument parsing for /dist/cli/cli.js entry point
2026-02-09 09:59:10 +08:00
tanzhenxin
e48c538403
Merge pull request #1755 from QwenLM/fix/mcp-multipart-tool-results
fix(core): properly handle MCP multi-part tool results in OpenAI converter
2026-02-09 09:43:09 +08:00
tanzhenxin
cc55d7831a
Merge pull request #1752 from QwenLM/fix/mcp-oauth-branding-updates
fix(mcp): improve MCP server management and authentication
2026-02-09 09:42:58 +08:00
Mingholy
07cd73ce01 fix: failed to initialize/send message in Electron using SDK 2026-02-08 21:45:24 +08:00
tanzhenxin
842ff42928 refactor(cli): improve findEnvFile logic and remove flaky test
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-08 21:15:42 +08:00
tanzhenxin
5ebbceea65 feat: add MCP tool progress update support in TUI and SDK mode
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-08 15:48:13 +08:00
tanzhenxin
0d026a508e fix(core): properly handle MCP multi-part tool results in OpenAI converter
When MCP tools return multiple content blocks (e.g., text + images),
the content was incorrectly split outside the FunctionResponse,
causing it to leak into separate user messages.

This fix ensures all content stays inside the FunctionResponse:
- Text parts are joined into response.output
- Media parts (inlineData/fileData) are placed in response.parts

Fixes #1520

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-08 12:40:27 +08:00
tanzhenxin
7c53995e53 test: update tool-registry test for new MCP tool naming convention
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-08 12:17:00 +08:00
tanzhenxin
e17b800d1d fix(mcp): prefix MCP tool names with server name to avoid collisions
- Change tool name format from 'toolName' to 'mcp__serverName__toolName'
- Prevents naming conflicts when multiple MCP servers have tools with same name
- Update tests to reflect new naming convention

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-08 12:02:44 +08:00
tanzhenxin
a3b95414de feat(mcp): auto-detect transport type from URL in mcp add command
- Automatically detect 'http' transport when commandOrUrl starts with http:// or https://
- Default to 'stdio' transport for non-URL commands
- Explicit --transport flag still takes precedence over auto-detection
- Update help text to indicate auto-detection capability

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-08 11:11:02 +08:00
tanzhenxin
21e711469d fix(mcp): update OAuth client names and improve MCP commands
- Rename MCP OAuth client names from 'Gemini CLI' to 'Qwen Code'
- Update MCP add/remove/list commands with improved error handling
- Add comprehensive tests for OAuth provider
- Fix token storage test assertions
- Clean up unused i18n translation keys
- Update gemini-converter and window title references

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-08 10:46:48 +08:00
tanzhenxin
49b1a39c0b refactor(core): simplify generation config and support extra_body/customHeaders
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-08 09:58:24 +08:00
tanzhenxin
6a867ed4a4 refactor(cli): change auth hint to model hint in header
Update the header info panel hint from '/auth to change' to '/model to change'
to better reflect that this command switches models rather than authentication.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-08 09:40:57 +08:00
tanzhenxin
5f8884b60c feat(settings): add settings.env field for environment variable configuration
Add support for defining environment variables in settings.json files.
These variables are loaded with the lowest priority:
1. System/process environment variables (highest)
2. .env files
3. settings.env (lowest/fallback)

This allows users to configure default environment variables in their
user or workspace settings without conflicting with existing env vars
or .env file values.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-08 09:33:31 +08:00
DennisYu07
281995e310 fix test 2026-02-06 03:01:53 -08:00
DennisYu07
f4cc0242b3 refactor test for AppContainer 2026-02-06 02:56:42 -08:00
pomelo
662ba7dde9
Merge pull request #1653 from QwenLM/feat/add-source-in-download-url
feat: add source information tracking in telemetry logs
2026-02-06 17:56:32 +08:00
tanzhenxin
4d29d1fbb5
Merge pull request #1738 from QwenLM/feat/promote-skills-to-stable
feat: promote Agent Skills from experimental to stable
2026-02-06 17:52:39 +08:00
tanzhenxin
7f49ddede1
Merge pull request #1736 from QwenLM/fix/windows-tab-autocomplete-conflict-1728
fix(cli): prevent Tab key from cycling approval mode when autocomplete is active on Windows
2026-02-06 17:47:47 +08:00
pomelo
a6885ccb4d
Merge pull request #1713 from QwenLM/fix/enter-submit
feat(paste): add large paste placeholder and fix enter-submit on macOS
2026-02-06 17:44:14 +08:00
LaZzyMan
2fe9cbcd17 fix: remove conflicting suggestions visibility notifications
Remove duplicate useEffect that was causing suggestions visibility state
to diverge from the actual active completion. The original useEffect at
line 760 already correctly tracks activeCompletion.showSuggestions, which
dynamically selects the current active completion source (regular, reverse
search, or command search).

The removed useEffect used OR logic across all three completion sources,
which caused hasSuggestionsVisible in AppContainer to flip incorrectly
during command-search mode when background completion state changed.

This fix ensures Tab key blocking/unblocking happens at the correct times
on Windows.
2026-02-06 17:10:27 +08:00
tanzhenxin
3b4b5d874d fix(paste): move thresholds to module level and improve placeholder expansion
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-06 16:32:22 +08:00
tanzhenxin
b7b24c3de9 chore(zed-extension): update package version to 0.10.0
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-06 14:26:01 +08:00
DennisYu07
b09a745bc9 fix memory leak in test 2026-02-05 22:04:28 -08:00
tanzhenxin
27a9d3ec44 refactor(skill): add null check for SkillManager and update tests
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-06 13:37:35 +08:00
tanzhenxin
fcc98a30d5 chore: update tests for parseArguments signature change
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-06 13:05:49 +08:00
tanzhenxin
a4ffc6eb24 feat: promote Agent Skills from experimental to stable
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-06 13:04:08 +08:00