From 2fba787b0d80f347a5fca529b715a503c9b9c050 Mon Sep 17 00:00:00 2001 From: Jay Date: Sat, 11 Apr 2026 23:41:02 +0900 Subject: [PATCH] Bump version to v1.0.7 with Race Condition fix and UI cleanup --- package.json | 2 +- src/extension.ts | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 6eb15ce..5279735 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "connect-ai-lab", "displayName": "Connect AI LAB", "description": "100% 로컬 AI 코딩 에이전트 — 파일 생성, 코드 편집, 터미널 실행을 오프라인으로. Ollama + Gemma/Llama/DeepSeek 지원.", - "version": "1.0.6", + "version": "1.0.7", "publisher": "connectailab", "license": "MIT", "icon": "assets/icon.png", diff --git a/src/extension.ts b/src/extension.ts index d1e8e71..6fbc268 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -208,16 +208,16 @@ class SidebarChatProvider implements vscode.WebviewViewProvider { enableScripts: true, localResourceRoots: [this._extensionUri], }; - webviewView.webview.html = this._getHtml(); + // 중요: HTML을 그리기 전에 메시지 리스너를 먼저 붙여야 Race Condition이 발생하지 않습니다! webviewView.webview.onDidReceiveMessage(async (msg) => { switch (msg.type) { - case 'prompt': - await this._handlePrompt(msg.value, msg.model); - break; case 'getModels': await this._sendModels(); break; + case 'prompt': + await this._handlePrompt(msg.value, msg.model); + break; case 'newChat': this.resetChat(); break; @@ -227,6 +227,9 @@ class SidebarChatProvider implements vscode.WebviewViewProvider { break; } }); + + // 리스너를 붙인 후 HTML을 렌더링합니다. + webviewView.webview.html = this._getHtml(); } // --------------------------------------------------------