Commit graph

1879 commits

Author SHA1 Message Date
顾盼
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
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
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
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
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
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
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
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
Mingholy
5c582e98c6
Merge pull request #1732 from QwenLM/mingholy/fix/sdk-release-workflow
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 CLI source selection for SDK releases and fix subagent output handler
2026-02-06 13:01:05 +08:00
LaZzyMan
9a6aafa721 fix(cli): prevent Tab key from cycling approval mode when autocomplete is active on Windows
Fixes #1728

When using @ to reference files/folders on Windows and pressing Tab for path completion, the Tab key was incorrectly triggering approval mode cycling instead of accepting the autocomplete suggestion.

This happened because Windows maps Tab to Shift+Tab functionality (due to Shift+Tab not working in some terminals), but this mapping didn't account for active autocomplete lists where Tab should be used for selection.

Changes:

- Add shouldBlockTab callback to useAutoAcceptIndicator hook to check if autocomplete is active

- Track autocomplete visibility state in AppContainer via hasSuggestionsVisible

- Add onSuggestionsVisibilityChange to UIActions interface

- Update InputPrompt to notify parent when suggestions visibility changes

- Update Composer to propagate suggestions visibility to AppContainer

- Add tests to verify Tab key behavior with and without autocomplete
2026-02-06 11:04:15 +08:00
tanzhenxin
c97604ba46 fix(cli): route sandbox diagnostic messages to stderr
Change all diagnostic/progress messages in sandbox.ts from
writeStdoutLine to writeStderrLine. This prevents integration
test failures in Docker where stdout buffering behavior differs
from the Console API.

Diagnostic messages like 'Checking for sandbox image' are
informational logs that should not interfere with program output
that tests or other tools may parse from stdout.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-06 10:07:55 +08:00
mingholy.lmh
1e05359881 ci(sdk-release): add CLI source selection for SDK releases
- Replace cli_ref input with cli_source choice (build_from_source or npm_latest)
- Add support for bundling latest stable CLI from npm
- Add bundle-cli-from-npm.js script for npm-based CLI bundling
- Fix property naming in nonInteractiveCli.ts (outputUpdateHandler)
- Improve integration tests for subagents
- Skip creating issue on failure during dry-run mode

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-05 20:57:01 +08:00
tanzhenxin
83fd2bc7f9
Merge pull request #1610 from QwenLM/feat/debug-logging-refactor
Some checks are pending
Qwen Code CI / CodeQL (push) Waiting to run
Qwen Code CI / Test-3 (push) Blocked by required conditions
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 / Post Coverage Comment (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
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: debug mode output refactor — route console calls to logfile-first debugLogger
2026-02-05 20:42:50 +08:00
tanzhenxin
1db0d0051a
Merge pull request #1670 from QwenLM/fix/top-right-auth-not-updating
fix(ui): resolve auth not updating in top-right corner
2026-02-05 20:38:02 +08:00
tanzhenxin
4abec5c055 Merge remote-tracking branch 'origin/main' into feat/debug-logging-refactor 2026-02-05 20:23:48 +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
fcf363d26b Merge origin/main - resolve Session.test.ts import conflict 2026-02-05 19:35:04 +08:00
tanzhenxin
21ae35b221 feat(paste): add large paste placeholder with ID reuse and atomic deletion
- Add placeholder mode for pastes >1000 chars OR >10 lines
- Show placeholder like '[Pasted Content 1500 chars]' instead of full content
- Store full content and expand on submit
- Support multiple placeholders with sequential IDs (#2, #3, etc.)
- Reuse freed IDs when placeholders are deleted
- Delete entire placeholder atomically on backspace
- Add 7 unit tests for placeholder functionality

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-05 19:31:40 +08:00
tanzhenxin
42da41381a Merge origin/main into refactor/read-many-files-util
Resolved conflicts by:
- index.ts: Adopted main's organized structure, added readManyFiles.js export
- atCommandProcessor.ts: Kept refactored readManyFiles utility approach
- atCommandProcessor.test.ts: Kept tests for refactored approach
2026-02-05 19:27:29 +08:00
tanzhenxin
a31699ed73
Merge branch 'main' into mingholy/fix/acp-model-list 2026-02-05 19:01:17 +08:00
tanzhenxin
bf19464697
Merge pull request #1515 from QwenLM/mingholy/feat/slash-command-share
Add export command for session history with markdown and HTML formats
2026-02-05 18:59:26 +08:00
tanzhenxin
6324863008 Merge remote-tracking branch 'origin/main' into feat/remove-smart-edit-tool
# Conflicts:
#	packages/core/index.ts
#	packages/core/src/index.ts
2026-02-05 18:08:22 +08:00
mingholy.lmh
a364c8212e fix(export): fix TodoWrite tool call display in HTML export
- Restore plan update handling in collect.ts, formatting todo data as markdown checklist
- Skip todo_write tool_result processing in normalize.ts to avoid duplicates
- Add getMessageTimestamp() and getMessageUuid() methods to maintain message order
- Fix version parsing to support @latest tags
- Fix Windows spawn EINVAL error (CVE-2024-27980)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-05 16:48:27 +08:00
mingholy.lmh
8d8449079d fix: windows build issue and add prettier 2026-02-05 16:47:36 +08:00
mingholy.lmh
a5a6bddc31 fix: template 2026-02-05 16:47:36 +08:00