Commit graph

1879 commits

Author SHA1 Message Date
tanzhenxin
049c8a5112 feat(cli): add ACP protocol debug logging
Improve ACP JSON-RPC diagnostics by logging parse failures, request errors,
and response errors to aid debugging.
2026-01-26 17:56:11 +08:00
tanzhenxin
72480f7dd8
Merge pull request #1590 from QwenLM/refactor/refactor-user-feedback
feat: Implement temporary dismissal for feedback dialogs with persistent prompting
2026-01-26 17:15:00 +08:00
LaZzyMan
4534f5ec1d fix undefined error 2026-01-26 17:05:42 +08:00
LaZzyMan
0eee42fa6a fix: correct schema field name for context.loadFromIncludeDirectories
The schema incorrectly defined the field as 'loadMemoryFromIncludeDirectories'
while the migration map and documentation specified 'loadFromIncludeDirectories'.
This caused user configurations to be ignored.

Changes:
- Rename schema field from loadMemoryFromIncludeDirectories to loadFromIncludeDirectories
- Update all references in config loading and UI components
- Update test cases to reflect the correct field name

Fixes #1603
2026-01-26 15:09:36 +08:00
tanzhenxin
7995c65571 feat(cli): migrate console calls to debugLogger and stdioHelpers (M3 Phase 7-9)
Route CLI console.* calls to structured logging:
- Debug/internal diagnostics → debugLogger (logfile)
- User-facing output → writeStdoutLine/writeStderrLine/clearScreen (stdioHelpers)
- Add stdioHelpers.ts with writeStdoutLine, writeStderrLine, clearScreen
- Migrate pre-session files (gemini.tsx, sandbox.ts, config.ts) to stdioHelpers
- Migrate extension/MCP commands to stdioHelpers
- Migrate non-interactive session/control to debugLogger
- Migrate UI hooks and components to debugLogger
2026-01-26 15:02:37 +08:00
LaZzyMan
9bee51dc17 fix: enable Shift+Tab shortcut in Windows PowerShell
- Parse CSI sequences regardless of Kitty protocol status
- Fix approval mode cycle shortcut not working on Windows
- Add test for non-Kitty protocol mode
- Update debug log messages for clarity
2026-01-26 14:16:13 +08:00
xwj02155382
b5800eb823 refactor: remove redundant 'input' parameter in tokenLimit call
The tokenLimit function has a default parameter value of 'input' for the type parameter, so explicitly passing 'input' is redundant.
2026-01-26 13:39:45 +08:00
xwj02155382
8538f12689 fix: update contextWindowSize and maxOutputTokens when switching models
- Fix handleModelChange to update contextWindowSize and maxOutputTokens during hot-update
- Fix dashscope.ts to use contentGeneratorConfig.maxOutputTokens instead of tokenLimit()
- Fix acpAgent.ts to use model-specific contextLimit for each model
- Add comprehensive tests for model switching scenarios
- Fix all TypeScript type errors (index signature and ConfigSource types)
- Fix all ESLint errors (remove 'any' types)
2026-01-26 11:43:33 +08:00
xwj02155382
8725b91e11 refactor: remove unused model variable from Footer component 2026-01-26 10:49:44 +08:00
tanzhenxin
32cddc272f
Merge pull request #1561 from BlockHand/show-line-numbers
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: make DiffRenderer respect ui.showLineNumbers setting
2026-01-26 10:37:04 +08:00
tanzhenxin
6081052236
Merge pull request #1592 from QwenLM/feat/extension-improvements
feat(extensions): add plugin selection UI for Claude marketplace
2026-01-26 10:36:36 +08:00
xwj02155382
f9db8d5a73 refactor: improve config consistency and token limits
- Remove legacy childKey field from settingsSchema

- Add contextWindowSize and maxOutputTokens to documentation

- Refactor ContextUsageDisplay to accept contextWindowSize directly instead of Config object

- Add useMemo optimization for contextWindowSize in Footer component

- Fix logic gaps in contentGenerator for contextWindowSize and maxOutputTokens initialization

- Increase DEFAULT_OUTPUT_TOKEN_LIMIT from 4K to 8K for better usability

- Add fallback to default values when model is not available
2026-01-26 10:26:44 +08:00
LaZzyMan
f640705e4d fix typo error 2026-01-26 10:00:33 +08:00
yiliang114
05b56487ca refactor(cli/lsp): extract NativeLspClient and simplify LSP service architecture
- Extract NativeLspClient from NativeLspService for better separation of concerns
- Simplify LspConfigLoader by removing built-in configuration options
- Remove LSP_DEBUGGING_GUIDE.md as it's no longer needed
- Clean up unused LSP constants
- Remove deprecated LSP configuration from config.ts
2026-01-25 23:05:56 +08:00
yiliang114
8420386d14 feat(lsp): Removes built-in LSP configuration options and improves configuration loading mechanism
- remove configuration options such as lsp.enabled, lsp.allowed, lsp.excluded, etc. from settings.json schema
- Delete lspSettingsSchema.ts files and associated JSON schema definitions
- Removed VS Code settings loading function, no longer merge. vscode/settings.json configuration
- Updated LSP documentation to reflect new configurations and experimental flags
-remove allow/exclude parameters in NativeLspService constructor
- Create new LspConfigLoader classes to handle LSP configuration loading and merging
- Updated debug guide to match the new configuration mechanism
- Simplify loadCliConfig functions, remove startLsp options
- Reconstruct the configuration loading process to remove duplicate configuration merge logic
- Add LspConfigLoader classes to implement configuration parsing and merging functions
2026-01-25 20:59:44 +08:00
tanzhenxin
3959b73bce feat(core,cli): migrate console.debug to debugLogger (M3 Phase 1-3) 2026-01-25 20:57:25 +08:00
tanzhenxin
ba2824b0b0 feat(core,cli): add debug logging infrastructure (M0-M2)
Implement debug logfile foundation for routing internal diagnostics
to a per-session log file instead of polluting the terminal.

Core changes:
- Add DebugLogger interface and createDebugLogger() in debugLogger.ts
- Add Storage.getGlobalDebugDir() and getDebugLogPath() for log paths
- Add Config.getDebugLogger() method with session-scoped logger
- Track write failures via isDebugLoggingDegraded()

CLI changes:
- Add DebugModeNotification component for interactive startup notice
- Add non-interactive debug notice to stderr in gemini.tsx

Log files are written to ~/.qwen/debug/<sessionId>.txt with format:
2026-01-24T10:30:00.000Z [LEVEL] [TAG] message

Debug logging is always-on; debug mode only controls the startup notice.
2026-01-25 09:23:18 +08:00
yiliang114
45e947dcbc Merge branch 'main' of https://github.com/QwenLM/qwen-code into feat/support-lsp 2026-01-24 13:06:44 +08:00
DragonnZhang
4c8414488f refactor: reorder feedback options and improve dialog feedback timestamp handling 2026-01-23 18:55:43 +08:00
DragonnZhang
6327e35a14 feat: implement persistent feedback prompting with temporary dismissal options
Add 'Fine' and 'Dismiss' options to feedback dialogs that allow temporary
dismissal without permanently closing the feedback request. Only numerical
ratings (0, 1, 2, 3) will permanently close feedback dialogs, while all
other inputs result in temporary dismissal with persistent re-prompting.

This ensures feedback collection reliability while respecting user workflow
by allowing users to temporarily dismiss prompts when busy and providing
feedback when ready.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-23 16:52:40 +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
LaZzyMan
9af9ea259d feat: add select ui for claude marketplace 2026-01-23 16:23:30 +08:00
BlockHand
a9280d992e feat: 优化useSettingsHooks以及全面review DiffRender的settings的入参是否有缺失 2026-01-23 15:30:08 +08:00
BlockHand
1a87ae9dde feat: 合并main 2026-01-23 14:55:52 +08:00
xwj02155382
53e34cb40a fix: add missing config parameter and closing Box tag in Footer 2026-01-23 14:44:11 +08:00
xwj02155382
4ad4aab3fd Merge branch 'main' into feature/add-context-window-size-config
Resolved conflicts in:
- packages/cli/src/ui/components/ContextUsageDisplay.tsx
- packages/cli/src/ui/components/Footer.tsx
- packages/cli/src/ui/components/Footer.test.tsx
- docs/users/configuration/settings.md

Changes:
- Merged main branch UI improvements with rightItems architecture
- Updated contextWindowSize documentation to be more concise
- Preserved all main branch features and functionality
2026-01-23 14:41:59 +08:00
mingholy.lmh
f578ff07a2 fix: cli input stream handling and error management, improve e2e and unit tests 2026-01-23 13:56:38 +08:00
tanzhenxin
8d0f785c28
Merge pull request #1572 from weiyuanke/patch-1
Update command usage in add.ts to reflect new name
2026-01-23 09:33:01 +08:00
LaZzyMan
674bb6386e feat(extensions): add detail command and improve extension validation
- Add /extensions detail command to show extension details
- Allow underscores and dots in extension names
- Fix contextFileName empty array handling to use default QWEN.md
- Fix marketplace extension clone to use correct source URL
- Add inline parameter to extensionToOutputString
- Add comprehensive tests for all changes
2026-01-22 19:37:01 +08:00
LaZzyMan
650c625d86 feat: clarify output formats for non-interactive mode 2026-01-22 17:06:17 +08:00
LaZzyMan
3b6849be94 fix prompts denpendence 2026-01-22 15:48:54 +08:00
LaZzyMan
c0d78a8f3c fix github pkg dependence 2026-01-22 15:14:55 +08:00
LaZzyMan
aa80e738fb fix dependences of core pkg 2026-01-22 14:09:08 +08:00
LaZzyMan
9af348d6ad fix ci test 2026-01-22 11:56:35 +08:00
LaZzyMan
bc7e586028 Merge branch 'main' into feat/extension 2026-01-22 11:41:04 +08:00
yuanke wei
27df0486a3
Update command usage in add.ts to reflect new name 2026-01-22 09:56:59 +08:00
tanzhenxin
2ec3ec2c38 Merge branch 'main' into feat/multimodal-input-support 2026-01-21 19:49:31 +08:00
tanzhenxin
ae9ba8be18
Merge pull request #1513 from QwenLM/feat/cli-welcome-screen
feat: Redesign CLI welcome screen and settings dialog
2026-01-21 19:43:46 +08:00
tanzhenxin
ed12c50693
Merge pull request #1552 from QwenLM/mingholy/feat/acp-bug-command
Add /bug command to non-interactive mode
2026-01-21 19:38:46 +08:00
tanzhenxin
1f5206cd54
Merge pull request #1526 from QwenLM/chore/no-tiktoken
chore: remove tiktoken dependency and use API-reported token counts
2026-01-21 19:37:42 +08:00
tanzhenxin
daea673058 feat(cli): highlight keyboard shortcut keys in accent color
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-21 19:29:24 +08:00
Mingholy
19bbd22109
Merge pull request #1556 from QwenLM/chore/bump-version-0.8.0
chore(release): bump version to 0.8.0
2026-01-21 18:21:37 +08:00
LaZzyMan
3f3c5ff255 feat add explore command 2026-01-21 18:11:19 +08:00
tanzhenxin
3ece0e3c3c
Merge pull request #1476 from afarber/1461-yolo-color-change
feat(cli): use dim colors for YOLO/auto-accept mode borders
2026-01-21 18:06:52 +08:00
DennisYu07
fb3a95e874
Merge pull request #1234 from afarber/1115-fix-dep0190-deprecation
fix: replace spawn shell option with explicit shell args to avoid Node.js DEP0190 warning
2026-01-21 01:54:37 -08:00
tanzhenxin
b9a0d904de feat: add multi-modal input support (image, PDF, audio) across all content generators 2026-01-21 15:44:58 +08:00
yiliang114
01a906d6ea feat(cli): add experimental LSP support with --experimental-lsp flag
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-21 13:59:31 +08:00
LaZzyMan
1e41965a7e fix settings in interactive mode 2026-01-21 11:29:48 +08:00
刘伟光
4c6780b79d feat: make DiffRenderer respect ui.showLineNumbers setting 2026-01-21 11:25:14 +08:00
LaZzyMan
140e8c926d Merge branch 'main' into feat/extension 2026-01-21 10:11:59 +08:00