diff --git a/CHANGELOG.md b/CHANGELOG.md index 64d37dd..b28b03c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,21 @@ All notable changes to the "claude-code-chat" extension will be documented in th Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. +## [1.0.4] - 2025-01-22 + +### 🐛 Bug Fixes +- Fixed input text area overflow issue by adding `box-sizing: border-box` to prevent padding from extending beyond container width +- Fixed command parameter handling for `claude-code-chat.openChat` to properly handle both ViewColumn and Uri parameters from different invocation contexts + +### 🔧 Technical Improvements +- Enhanced `show()` method to accept optional ViewColumn parameter with ViewColumn.Two as default +- Added proper type checking for command parameters to handle context menu invocations +- Improved webview panel positioning with flexible column parameter support + +### 🎨 UI/UX Improvements +- Resolved text input container sizing issues that caused visual overflow +- Better input field styling consistency across different VS Code themes + ## [1.0.0] - 2025-01-15 ### 🚀 Major Features Added diff --git a/README.md b/README.md index fbc2384..cfcf696 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,9 @@ Ditch the command line and experience Claude Code like never before. This extens 💾 **Conversation History** - Automatic conversation history and session management 🎨 **VS Code Native** - Claude Code integrated directly into VS Code with native theming and sidebar support 🧠 **Plan and Thinking modes** - Plan First and configurable Thinking modes for better results -⚡ **Smart File/Image Context and Custom Commands** - Reference any file, copy images or screenshots, and create custom commands +⚡ **Smart File/Image Context and Custom Commands** - Reference any file, paste images or screenshots and create custom commands 🤖 **Model Selection** - Choose between Opus, Sonnet, or Default based on your needs -🐧 **Windows/WSL Support** - Full Windows support and Windows Subsystem for Linux integration and compatibility +🐧 **Windows/WSL Support** - Full native Windows and WSL support ![Claude Code Chat 1 0 0](https://github.com/user-attachments/assets/5954a74c-eff7-4205-8482-6a1c9de6e102) diff --git a/package.json b/package.json index 0cb99eb..92b42c5 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "claude-code-chat", "displayName": "Claude Code Chat", "description": "Beautiful Claude Code Chat Interface for VS Code", - "version": "1.0.3", + "version": "1.0.4", "publisher": "AndrePimenta", "author": "Andre Pimenta", "repository": { diff --git a/src/extension.ts b/src/extension.ts index 70fff6e..4819670 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -10,9 +10,9 @@ export function activate(context: vscode.ExtensionContext) { console.log('Claude Code Chat extension is being activated!'); const provider = new ClaudeChatProvider(context.extensionUri, context); - const disposable = vscode.commands.registerCommand('claude-code-chat.openChat', () => { + const disposable = vscode.commands.registerCommand('claude-code-chat.openChat', (column?: vscode.ViewColumn) => { console.log('Claude Code Chat command executed!'); - provider.show(); + provider.show(column); }); const loadConversationDisposable = vscode.commands.registerCommand('claude-code-chat.loadConversation', (filename: string) => { @@ -134,21 +134,22 @@ class ClaudeChatProvider { this._currentSessionId = latestConversation?.sessionId; } - public show() { - const column = vscode.ViewColumn.Two; + public show(column: vscode.ViewColumn | vscode.Uri = vscode.ViewColumn.Two) { + // Handle case where a URI is passed instead of ViewColumn + const actualColumn = column instanceof vscode.Uri ? vscode.ViewColumn.Two : column; // Close sidebar if it's open this._closeSidebar(); if (this._panel) { - this._panel.reveal(column); + this._panel.reveal(actualColumn); return; } this._panel = vscode.window.createWebviewPanel( 'claudeChat', 'Claude Code Chat', - column, + actualColumn, { enableScripts: true, retainContextWhenHidden: true, diff --git a/src/ui-styles.ts b/src/ui-styles.ts index ffa0529..6340c50 100644 --- a/src/ui-styles.ts +++ b/src/ui-styles.ts @@ -1350,13 +1350,14 @@ const styles = ` .input-field { width: 100%; + box-sizing: border-box; background-color: transparent; color: var(--vscode-input-foreground); border: none; padding: 12px; outline: none; font-family: var(--vscode-editor-font-family); - min-height: 20px; + min-height: 68px; line-height: 1.4; overflow-y: hidden; resize: none; diff --git a/src/ui.ts b/src/ui.ts index b316206..d1d7d48 100644 --- a/src/ui.ts +++ b/src/ui.ts @@ -943,6 +943,10 @@ const html = ` addMessage(completionText, 'system'); return; // Don't show the result message } + + if(data.isError && data.content === "File has not been read yet. Read it first before writing to it."){ + return addMessage("File has not been read yet. Let me read it first before writing to it.", 'system'); + } const messageDiv = document.createElement('div'); messageDiv.className = data.isError ? 'message error' : 'message tool-result';