Commit graph

400 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
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
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
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
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
tanzhenxin
8434b89711
Merge pull request #1682 from QwenLM/fix/vscode-ide-compaion-ui-show-bugs
fix(vscode-ide-companion): Fix UI display issues with server-side timestamp and file path extraction
2026-02-05 20:17:30 +08:00
tanzhenxin
50059d6f32 chore(release): Bump version to 0.10.0 across all packages
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-05 11:30:45 +08:00
pomelo
2ed4ae773e
Merge pull request #1681 from QwenLM/dev/improve-build-and-dev-experience
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
build: Improve build efficiency and add dev mode
2026-02-04 09:33:46 +08:00
yiliang114
9830c70061 feat(vscode-ide-companion): 支持使用 server-side timestamp 进行消息排序
- 在 SessionUpdateMeta 中添加 timestamp 字段
- 为 UserMessageChunkUpdate 和 ToolCallUpdate 添加 _meta 字段
- 在 QwenAgentManager 中使用 server timestamp 而非客户端时间
- 在 QwenSessionUpdateHandler 中解析并传递 tool call timestamp
- 在 useToolCalls 中改进 timestamp 解析逻辑
- 修正 App.tsx 中 timestamp 处理,使用 nullish-coalescing operator
- 为 ToolCallUpdateData 和 ToolCallUpdate 类型添加 timestamp 和 _meta

feat(integration-tests): add file location extraction for tool calls

feat(webui): enhance ReadToolCall component with content preview and expand/collapse

refactor(webui): simplify SaveMemoryToolCall component UI

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-01 00:22:29 +08:00
yiliang114
aa02bcc4e1 fix(vscode-ide-companion): fix race conditions and improve @ file completion search
- Add requestId mechanism to prevent stale async responses from overwriting newer results
- Implement case-insensitive file search with buildCaseInsensitiveGlob method
- Filter gitignored files using FileDiscoveryService integration
- Allow completion list refresh during search by removing query check condition
- Add --experimental-skills CLI argument for qwen connection
- Add unit tests for FileMessageHandler

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-31 23:45:12 +08:00
tanzhenxin
07b186fcbf build: Improve build efficiency and add dev mode
- Remove duplicate webui build in vscode-ide-companion (fixes double build)
- Fix misleading [watch] log messages in esbuild.js (only show in watch mode)
- Update vite-plugin-dts to ^4.5.4 for TypeScript 5.8+ support
- Update baseline-browser-mapping to ^2.9.19 to silence outdated data warnings
- Fix vitest config to use @qwen-code/qwen-code-core instead of old gemini-cli-core
- Add resolve.alias in cli vitest.config.ts for source-based testing
- Add npm run dev script for running from TypeScript source without build

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-31 22:41:54 +08:00
tanzhenxin
0eb94a2957
Merge pull request #1539 from xuewenjie123/feature/add-context-window-size-config
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
Add contextWindowSize Configuration Support
2026-01-29 21:28:28 +08:00
tanzhenxin
2aab8b4c14 Merge branch 'main' into chore/bump-version-0.9.0 2026-01-29 21:05:26 +08:00
yiliang114
b22350accf feat: improve model selector UI and error handling
- Redesign ModelSelector positioning to use fixed positioning with max-width
  for better responsive layout
- Add model caching in WebViewProvider to resend available models when
  webview becomes ready
- Add native VSCode notifications for model switching success/failure
- Display error messages to users in the chat when errors occur
- Simplify InputForm by removing redundant model selector wrapper styles

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-29 20:21:28 +08:00
yiliang114
02db22dd78 chore: update eslint config and translation adjustments
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

This commit includes several updates:

- Updated eslint configuration with improved formatting and organization

- Added SaveMemoryToolCall support in vscode-ide-companion

- Translated Chinese comments and UI text to English in various components

- Made minor code formatting improvements across multiple files
2026-01-29 19:44:37 +08:00
tanzhenxin
1c5b74ebd9 Merge branch 'main' into pr-1539 2026-01-29 19:18:23 +08:00
yiliang114
e577966f75 Merge branch 'main' of https://github.com/QwenLM/qwen-code into feat/unified-ui-for-vscode-extension 2026-01-29 18:51:14 +08:00
tanzhenxin
201356a6c8 chore: bump version to 0.9.0
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-29 18:03:52 +08:00
yiliang114
bc5065b139 feat(webui): add SaveMemory tool call component support 2026-01-29 17:05:04 +08:00
mingholy.lmh
5475ab6bbd fix: inconsistency of react/react-dom version in package.json and lockfile 2026-01-29 16:44:50 +08:00
yiliang114
878a870df2 Merge branch 'main' of https://github.com/QwenLM/qwen-code into feat/unified-ui-for-vscode-extension 2026-01-29 15:40:32 +08:00
tanzhenxin
e73a418dad
Merge pull request #1582 from QwenLM/feat/vscode-ide-companion-set-model
Support model selection through ACP in vscode ide companion
2026-01-29 14:16:14 +08:00
yiliang114
d05295c068 feat(vscode-ide-companion): integrate WebFetchToolCall
- Add WebFetchToolCall import to toolcalls index
- Add fetch/web_fetch/webfetch/web_search/websearch kind support

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-29 01:40:44 +08:00
yiliang114
bb358703e9 Merge branch 'main' of https://github.com/QwenLM/qwen-code into feat/unified-ui-for-vscode-extension 2026-01-28 18:52:37 +08:00
mingholy.lmh
37fdee3245 chore: bump version to 0.8.2
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-27 21:52:20 +08:00
mingholy.lmh
93b81f5d55 chore: bump version to 0.8.1
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-27 21:13:38 +08:00
tanzhenxin
2c373c3847
Merge pull request #1586 from QwenLM/fix/vsce-package-no-dependencies
fix(vscode-ide-companion): platform-specific builds with optimized VSIX packaging
2026-01-26 19:41:15 +08:00
易良
26dca01c31
Simplify permission response handling and fix edit failure and VSCode diff issues (#1581)
* wip: edit fail and diff

* refactor(vscode-ide-companion): Fixes #1524, simplify permission response handling

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

---------

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-26 17:15:38 +08:00
tanzhenxin
293fe8f1f4 chore: fix vscode release workflow on Windows Runner 2026-01-24 14:36:41 +08:00
tanzhenxin
e5b800a79d fix(vscode-ide-companion): prune ripgrep binaries and remove generic node-pty
- Re-enable macOS x64 CI builds using macos-15-intel runner
- Remove generic node-pty dependency in favor of platform-specific @lydell/node-pty-* packages
- Add ripgrep binary pruning for platform-specific builds to reduce VSIX size
- Add Windows workaround to remove npm junction self-references during packaging
2026-01-24 13:18:57 +08:00
tanzhenxin
3d6fe23c3b refactor(sdk,vscode): extract CLI bundling to dedicated script
- Move CLI bundling logic from build.js to bundle-cli.js in SDK package
- Add bundle:cli script to SDK package.json lifecycle hooks
- Remove redundant Build and Bundle step from workflow (prepackage handles it)
- Add repo build step to prepackage.js to ensure workspace artifacts exist
- Fix Windows workspace symlink issue by running npm install from tmpdir
- Remove lint/typecheck from prepackage (handled elsewhere in CI)
2026-01-24 11:35:33 +08:00
tanzhenxin
4770324df2 ci(vscode-ide-companion): add platform-specific builds to fix node-pty binary mismatch
Build separate VSIXes for each platform to ensure native node-pty
binaries match the user's OS, preventing "posix_spawnp failed" errors.
2026-01-24 06:25:43 +08:00
yiliang114
cf32299b5f fix(vscode-ide-companion): add React.ReactNode type assertion to children prop
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-23 17:00:02 +08:00
xwj02155382
3bd460a9cc refactor: optimize token limit handling and simplify API
- Initialize contextWindowSize and maxOutputTokens in contentGeneratorConfig during config resolution
- Remove third parameter from tokenLimit() function for cleaner API
- Replace all tokenLimit() calls with direct config property access for better performance
- Add maxOutputTokens field to ContentGeneratorConfig type
- Update dashscope provider to use config.maxOutputTokens
- Auto-detect token limits from model during initialization if not user-configured
- Update settingsSchema: set contextWindowSize default to undefined and showInDialog to false

Benefits:
- Token limits calculated once during initialization instead of repeatedly
- Cleaner API with fewer parameters
- Better performance by caching computed values
- User configuration takes precedence over auto-detection
- All 72 unit tests passing
2026-01-23 16:27:10 +08:00
yiliang114
ec8d2a26eb Merge branch 'main' of https://github.com/QwenLM/qwen-code into feat/vscode-ide-companion-set-model 2026-01-22 23:55:32 +08:00
yiliang114
0a5f4bcf16 fix(vscode-ide-companion): build script in dev/build after webui build 2026-01-22 23:54:50 +08:00
yiliang114
7f54764ca9 chore(vscode-ide-companion): update package-lock.json and clean up NOTICES.txt
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-22 17:33:35 +08:00
yiliang114
1f9311d3ca feat(vscode-ide-companion): release version 0.8.0-beta.1 and integrate webui build 2026-01-22 00:04:26 +08:00
yiliang114
3488ad8d36 Merge branch 'main' of https://github.com/QwenLM/qwen-code into feat/unified-ui-for-vscode-extension 2026-01-21 23:55:42 +08:00
yiliang114
856fc18118 refactor(vscode-ide-companion): remove timeline position logic from message rendering
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-21 20:50:37 +08:00
yiliang114
48511c58a5 feat(vscode-ide-companion): add model selection functionality with ACP session management
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-21 13:18:36 +08:00
yiliang114
c70d995620 Merge branch 'main' of https://github.com/QwenLM/qwen-code into feat/unified-ui-for-vscode-extension 2026-01-20 22:59:34 +08:00
yiliang114
5ad731fb2b feat(vscode-ide-companion): enhance UI with timeline positioning and theme variables
- Add timeline position calculation (isFirst/isLast) for assistant messages and tool calls
- Introduce CSS variables mapping to VSCode theme tokens
- Refactor App.tsx to properly calculate message sequence boundaries
- Update styling to better integrate with VSCode theming
- Remove redundant styles.css and timeline.css files

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-20 21:33:21 +08:00
tanzhenxin
7d9917b2c9 chore(release): bump version to 0.8.0 2026-01-20 17:39:43 +08:00
tanzhenxin
bdfeec24fb refactor(acp): centralize error codes and add RESOURCE_NOT_FOUND handling for file operations 2026-01-20 15:19:18 +08:00
yiliang114
f6a54146a3 feat(webui): add ChatViewer component with stories and styles
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-20 00:27:16 +08:00