Commit graph

18 commits

Author SHA1 Message Date
yiliang114
e8c85c8784 fix(vscode-ide-companion): inherit model for new chat tabs
Carry the active pane model into a newly opened editor chat tab.

Add regression coverage for the handler, command, and provider session initialization flow.
2026-04-01 20:48:30 +08:00
mingholy.lmh
bddce08750 refactor(vscode-ide-companion): unify error message handling across the codebase
- Extract getErrorMessage utility for consistent error-to-string conversion
- Replace scattered error handling logic with centralized function
- Simplify authentication error checks using isAuthenticationRequiredError
- Add unit tests for errorMessage utility

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-11 22:17:02 +08:00
yiliang114
40afc13e14 feat(vscode-ide-companion): refactor webview layout to mutual-exclusive sidebar pattern
Adopt Claude Code's approach for webview view registration:
- Use mutual-exclusive sidebar/secondary sidebar with `when` conditions
- Detect secondary sidebar support via VS Code version >= 1.106
- Share single ChatWebviewViewProvider instance across both view IDs
- Only set context key when secondary sidebar is NOT supported
- Pass supportsSecondarySidebar as closure variable to commands

Additional fixes:
- Fix WebViewContent.generate() to accept both Webview and WebviewPanel
- Fix permission handler leak (cancel old promise before new)
- Fix double diff command execution in resolve callback
- Add initializationPromise dedup for auth-restore races
- Add attachToView() for sidebar/secondary sidebar hosting
- Add missing AskUserQuestionResponseMessage import

Co-authored-by: buaoyezz <buaoyezz@users.noreply.github.com>
2026-03-11 11:20:25 +08:00
yiliang114
b26e21f71d feat(vscode-ide-companion): cherry-pick ACP compatibility improvements from PR #2195
- Add extractSessionListItems() utility for robust ACP response parsing
- Refactor getSessionList() and getSessionListPaged() to use the new utility
- Add openNewChatTabCommand to create new session when opening chat tab
- Add comprehensive test coverage for session list extraction

Co-authored-by: ZZAoYe <zzbuaoye@gmail.com>
2026-03-09 16:11:26 +08:00
yiliang114
c10aa7ebe5 feat(vscode-ide-companion/layout): add sidebar view and simplify chat positioning
All chat positions (sidebar, editor tab, panel, secondary sidebar) are now
available simultaneously. Remove the old chat.location configuration and
setChatLocation commands. Add focusChat, newConversation, and showLogs commands.
Refactor ChatWebviewViewProvider to use lazy factory pattern and move webview
files into providers/ subdirectory.
2026-03-07 00:30:40 +08:00
yiliang114
be2d0975b5 Merge branch 'main' into feat/vscode-ide-companion-layout 2026-03-06 22:35:11 +08:00
yiliang114
ef48ebc118 refactor(vscode-ide-companion): use @qwen-code/webui for shared components
- Add VSCodePlatformProvider to wrap App with PlatformContext
- Update all ToolCall components to import from @qwen-code/webui
- Replace local FileLink, LayoutComponents, copyUtils with re-exports
- Replace local utils.ts with re-exports from webui
- Remove local LayoutComponents.css (now bundled in webui)
- Remove MarkdownRenderer.css import (now bundled in webui)
- Delete local AssistantMessage component (moved to webui)
2026-01-16 00:38:42 +08:00
yiliang114
f1cca06304 feat(vscode-ide-companion): wip configurable layout settings 2026-01-14 13:11:33 +08:00
yiliang114
ac0d5206ba chore(vscode-ide-companion): rm useTerminal & some useless code about openDiff 2025-12-08 12:46:42 +08:00
yiliang114
63e4794633 chore(vscode-ide-companion): temporarily annotate some logic to suppress showDiff 2025-12-08 10:18:55 +08:00
yiliang114
be71976a1f chore(vscode-ide-companion): refactor directory structure 2025-12-08 00:54:26 +08:00
yiliang114
51b4de0c23 fix(vscode-ide-companion): resolve ESLint errors and improve code quality
- Fix unused variable issues by removing unused variables and renaming caught errors to match ESLint rules
- Fix TypeScript type mismatches in mode handling
- Add missing curly braces to if statements to comply with ESLint rules
- Resolve missing dependency warnings in React hooks
- Clean up empty catch blocks by adding appropriate comments
- Remove unused _lastEditorState variables that were declared but never read

These changes ensure the codebase passes ESLint checks and follows best practices for code quality.
2025-12-07 16:57:40 +08:00
yiliang114
67eee14ca9 style(vscode-ide-companion): adjust chat session initialization logic and optimize tool invocation component style 2025-12-06 22:44:31 +08:00
yiliang114
7cd26f728d feat(vscode-ide-companion): implement session message handling and UI improvements
Complete session message handling with JSONL support and UI enhancements

- Add JSONL session file reading capability

- Improve error handling and authentication flows

- Update UI components for better user experience

- Fix command identifier references

- Enhance MarkdownRenderer with copy functionality

- Update Tailwind configuration for better component coverage
2025-12-06 21:46:14 +08:00
yiliang114
57a684ad97 WIP: All changes including session and toolcall improvements 2025-12-06 16:53:40 +08:00
yiliang114
541d0b22e5 chore(vscode-ide-companion): code style & command register bugfix 2025-12-06 01:32:52 +08:00
yiliang114
96b275a756 fix(vscode-ide-companion): fix bugs & support terminal mode operation 2025-12-06 00:30:22 +08:00
yiliang114
ed0d5f67db style(vscode-ide-companion): form component style opt 2025-12-01 00:15:18 +08:00