diff --git a/src/features/ask/askService.js b/src/features/ask/askService.js index 9c9a03e..78ab69f 100644 --- a/src/features/ask/askService.js +++ b/src/features/ask/askService.js @@ -145,9 +145,16 @@ class AskService { } } - async toggleAskButton() { + async toggleAskButton(inputScreenOnly = false) { const askWindow = getWindowPool()?.get('ask'); + let shouldSendScreenOnly = false; + if (inputScreenOnly && this.state.showTextInput && askWindow && askWindow.isVisible()) { + shouldSendScreenOnly = true; + await this.sendMessage('', []); + return; + } + const hasContent = this.state.isLoading || this.state.isStreaming || (this.state.currentResponse && this.state.currentResponse.length > 0); if (askWindow && askWindow.isVisible() && hasContent) { @@ -218,10 +225,12 @@ class AskService { this.abortController = new AbortController(); const { signal } = this.abortController; - if (!userPrompt || userPrompt.trim().length === 0) { - console.warn('[AskService] Cannot process empty message'); - return { success: false, error: 'Empty message' }; - } + + // if (!userPrompt || userPrompt.trim().length === 0) { + // console.warn('[AskService] Cannot process empty message'); + // return { success: false, error: 'Empty message' }; + // } + let sessionId; diff --git a/src/features/shortcuts/shortcutsService.js b/src/features/shortcuts/shortcutsService.js index 744ff66..78e5af2 100644 --- a/src/features/shortcuts/shortcutsService.js +++ b/src/features/shortcuts/shortcutsService.js @@ -211,7 +211,7 @@ class ShortcutsService { callback = () => this.toggleAllWindowsVisibility(this.windowPool); break; case 'nextStep': - callback = () => askService.toggleAskButton(); + callback = () => askService.toggleAskButton(true); break; case 'scrollUp': callback = () => { diff --git a/src/preload.js b/src/preload.js index 5f49b87..63b6f85 100644 --- a/src/preload.js +++ b/src/preload.js @@ -136,7 +136,7 @@ contextBridge.exposeInMainWorld('api', { // Listeners onAskStateUpdate: (callback) => ipcRenderer.on('ask:stateUpdate', callback), removeOnAskStateUpdate: (callback) => ipcRenderer.removeListener('ask:stateUpdate', callback), - + onAskStreamError: (callback) => ipcRenderer.on('ask-response-stream-error', callback), removeOnAskStreamError: (callback) => ipcRenderer.removeListener('ask-response-stream-error', callback), diff --git a/src/ui/ask/AskView.js b/src/ui/ask/AskView.js index 41c1364..c5c7efe 100644 --- a/src/ui/ask/AskView.js +++ b/src/ui/ask/AskView.js @@ -987,9 +987,14 @@ export class AskView extends LitElement { // ✨ 로딩 상태를 먼저 확인 if (this.isLoading) { - responseContainer.innerHTML = `