The trust/isTrustedFolder logic was accidentally dropped during the
permission system refactor in feat/support-permission (PR #2283).
Previously, shouldConfirmExecute() returned false (no confirmation) when
both conditions were met:
- MCP server config has trust: true
- The workspace folder is trusted (isTrustedFolder())
The refactor replaced shouldConfirmExecute() with getDefaultPermission() but
left out the trust check entirely, adding a comment claiming 'trust logic is
now handled by PM rules' — however no PM rules were ever generated from the
trust setting, making trust: true completely non-functional.
This fix restores the original behavior: MCP tools from a trusted server
(trust: true) auto-approve only when the workspace is also trusted, preserving
the security gate that prevents trust settings from bypassing confirmation in
untrusted folders.
- Add concise system instruction for web content processing
- Prevents glm-5 and other models from using main session's complex prompt
- Fixes issue where web_fetch returns AI greetings instead of web content
Resolves#2609
- Add null/undefined guard in formatBtwError to avoid "null"/"undefined" strings
- Add type guard for btw property in HistoryItemDisplay to prevent crash
- Extract isBtwCommand regex to module-level constant and simplify with [/?]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The CI was failing because fs.readdirSync returns Dirent<Buffer>[], not
Dirent<string>[]. Updated all 8 type assertions to use the correct generic.
Made-with: Cursor
Key changes:
1. Remove LspLanguageDetector — LSP is now fully config-driven via
.lsp.json or extensions. No more auto-detected built-in presets
that fail when the server binary is missing.
2. Add ensureDocumentOpen — send textDocument/didOpen before every
document-level LSP request (definitions, references, hover,
documentSymbol, implementations, prepareCallHierarchy, diagnostics,
codeActions). This fixes the root cause of most methods returning
empty results (Issue #2106, #1873).
3. Add retry mechanism for slow servers — when a freshly opened
document yields empty results on non-TypeScript servers (jdtls,
clangd, pylsp), wait 2s and retry once. This mirrors the existing
retry logic in workspaceSymbols.
4. Handle LSP 3.17 WorkspaceSymbol format — location.range is now
optional in normalizeSymbolResult, fixing jdtls workspace symbol
responses that omit the range field.
5. Improve workspace symbol warmup — for non-TypeScript servers, open
a workspace file before the first workspace/symbol request and
retry on empty results after a warmup delay.
6. Track warmup-opened URIs — warmupTypescriptServer now returns the
opened URI, which is registered with ensureDocumentOpen to prevent
duplicate didOpen notifications.
Closes#2106, closes#1873
Made-with: Cursor
When the CLI process crashes during initialization (e.g. due to a malformed
settings.json), the extension now surfaces the error instead of hanging
indefinitely on "Preparing Qwen Code...":
- Collect stderr output from the child process for inclusion in error messages
- Race SDK initialize() against a process-exit promise so a crash rejects
immediately rather than leaving a dangling await
- Add a 30-second safety-net timeout in App.tsx to clear the loading spinner
when initialization stalls for any reason
Closes#2382
Made-with: Cursor
Flip the context key logic from negative (`doesNotSupportSecondarySidebar`) to
positive (`supportsSecondarySidebar`) so that the secondary sidebar container is
only declared when the VS Code version is known to support it. This prevents the
"container 'qwen-code-secondary' does not exist" warning on older versions and
avoids accidentally relocating other extensions' views to the Explorer container.
Closes#2432Closes#2416
Made-with: Cursor
Fixes extension installation from local domain git servers (GitLab, Bitbucket, etc.)
by catching errors from parseGitHubRepoForReleases and falling back to use the source URL directly.
- Add unit test for non-GitHub git URLs
The previous Discord invite link was invalid. Updated to a permanent
invite link as reported in #2103.
Closes#2103
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Move "Dive Deeper" section after "Screenshots / Video Demo" to improve
readability. Screenshots section is more actionable and should appear
earlier in the template.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Add a new section to the PR template encouraging contributors to attach
visual demos of their changes. This helps reviewers understand changes
quickly and prioritizes reviews. Also update CONTRIBUTING.md with
guidelines for different types of changes (bug fixes, features, refactors).
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>