fixing ask logic
This commit is contained in:
		
							parent
							
								
									beedb909f9
								
							
						
					
					
						commit
						43a9ce154f
					
				@ -120,65 +120,7 @@ async function toggleFeature(featureName) {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (askWindow.isVisible()) {
 | 
			
		||||
            try {
 | 
			
		||||
                const hasResponse = await askWindow.webContents.executeJavaScript(`
 | 
			
		||||
                    (() => {
 | 
			
		||||
                        try {
 | 
			
		||||
                            // PickleGlassApp의 Shadow DOM 내부로 접근
 | 
			
		||||
                            const pickleApp = document.querySelector('pickle-glass-app');
 | 
			
		||||
                            if (!pickleApp || !pickleApp.shadowRoot) {
 | 
			
		||||
                                console.log('PickleGlassApp not found');
 | 
			
		||||
                                return false;
 | 
			
		||||
                            }
 | 
			
		||||
                            
 | 
			
		||||
                            // PickleGlassApp의 shadowRoot 내부에서 ask-view 찾기
 | 
			
		||||
                            const askView = pickleApp.shadowRoot.querySelector('ask-view');
 | 
			
		||||
                            if (!askView) {
 | 
			
		||||
                                console.log('AskView not found in PickleGlassApp shadow DOM');
 | 
			
		||||
                                return false;
 | 
			
		||||
                            }
 | 
			
		||||
                            
 | 
			
		||||
                            console.log('AskView found, checking state...');
 | 
			
		||||
                            console.log('currentResponse:', askView.currentResponse);
 | 
			
		||||
                            console.log('isLoading:', askView.isLoading);
 | 
			
		||||
                            console.log('isStreaming:', askView.isStreaming);
 | 
			
		||||
                            
 | 
			
		||||
                            const hasContent = !!(askView.currentResponse || askView.isLoading || askView.isStreaming);
 | 
			
		||||
                            
 | 
			
		||||
                            if (!hasContent && askView.shadowRoot) {
 | 
			
		||||
                                const responseContainer = askView.shadowRoot.querySelector('.response-container');
 | 
			
		||||
                                if (responseContainer && !responseContainer.classList.contains('hidden')) {
 | 
			
		||||
                                    const textContent = responseContainer.textContent.trim();
 | 
			
		||||
                                    const hasActualContent = textContent && 
 | 
			
		||||
                                        !textContent.includes('Ask a question to see the response here') &&
 | 
			
		||||
                                        textContent.length > 0;
 | 
			
		||||
                                    console.log('Response container content check:', hasActualContent);
 | 
			
		||||
                                    return hasActualContent;
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                            
 | 
			
		||||
                            return hasContent;
 | 
			
		||||
                        } catch (error) {
 | 
			
		||||
                            console.error('Error checking AskView state:', error);
 | 
			
		||||
                            return false;
 | 
			
		||||
                        }
 | 
			
		||||
                    })()
 | 
			
		||||
                `);
 | 
			
		||||
 | 
			
		||||
                console.log(`[WindowManager] Ask window visible, hasResponse: ${hasResponse}`);
 | 
			
		||||
 | 
			
		||||
                if (hasResponse) {
 | 
			
		||||
                    askWindow.webContents.send('toggle-text-input');
 | 
			
		||||
                    console.log('[WindowManager] Sent toggle-text-input command');
 | 
			
		||||
                } else {
 | 
			
		||||
                    console.log('[WindowManager] No response found, closing window');
 | 
			
		||||
                    askWindow.webContents.send('window-hide-animation');
 | 
			
		||||
                }
 | 
			
		||||
            } catch (error) {
 | 
			
		||||
                console.error('[WindowManager] Error checking Ask window state:', error);
 | 
			
		||||
                console.log('[WindowManager] Falling back to toggle text input');
 | 
			
		||||
                askWindow.webContents.send('toggle-text-input');
 | 
			
		||||
            }
 | 
			
		||||
            askWindow.webContents.send('ask-global-send');
 | 
			
		||||
        } else {
 | 
			
		||||
            console.log('[WindowManager] Showing hidden Ask window');
 | 
			
		||||
            askWindow.show();
 | 
			
		||||
 | 
			
		||||
@ -735,7 +735,6 @@ export class AskView extends LitElement {
 | 
			
		||||
        this.handleCopy = this.handleCopy.bind(this);
 | 
			
		||||
        this.clearResponseContent = this.clearResponseContent.bind(this);
 | 
			
		||||
        this.processAssistantQuestion = this.processAssistantQuestion.bind(this);
 | 
			
		||||
        this.handleToggleTextInput = this.handleToggleTextInput.bind(this);
 | 
			
		||||
        this.handleEscKey = this.handleEscKey.bind(this);
 | 
			
		||||
        this.handleDocumentClick = this.handleDocumentClick.bind(this);
 | 
			
		||||
        this.handleWindowBlur = this.handleWindowBlur.bind(this);
 | 
			
		||||
@ -916,7 +915,6 @@ export class AskView extends LitElement {
 | 
			
		||||
        if (window.require) {
 | 
			
		||||
            const { ipcRenderer } = window.require('electron');
 | 
			
		||||
            ipcRenderer.on('ask-global-send', this.handleGlobalSendRequest);
 | 
			
		||||
            ipcRenderer.on('toggle-text-input', this.handleToggleTextInput);
 | 
			
		||||
            ipcRenderer.on('receive-question-from-assistant', this.handleQuestionFromAssistant);
 | 
			
		||||
            ipcRenderer.on('hide-text-input', () => {
 | 
			
		||||
                console.log('📤 Hide text input signal received');
 | 
			
		||||
@ -979,7 +977,6 @@ export class AskView extends LitElement {
 | 
			
		||||
        if (window.require) {
 | 
			
		||||
            const { ipcRenderer } = window.require('electron');
 | 
			
		||||
            ipcRenderer.removeListener('ask-global-send', this.handleGlobalSendRequest);
 | 
			
		||||
            ipcRenderer.removeListener('toggle-text-input', this.handleToggleTextInput);
 | 
			
		||||
            ipcRenderer.removeListener('clear-ask-response', () => { });
 | 
			
		||||
            ipcRenderer.removeListener('hide-text-input', () => { });
 | 
			
		||||
            ipcRenderer.removeListener('window-hide-animation', () => { });
 | 
			
		||||
@ -1148,10 +1145,6 @@ export class AskView extends LitElement {
 | 
			
		||||
        this.renderContent(); // 👈 updateResponseContent() 대신 renderContent() 호출
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    handleToggleTextInput() {
 | 
			
		||||
        this.showTextInput = !this.showTextInput;
 | 
			
		||||
        this.requestUpdate();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    requestWindowResize(targetHeight) {
 | 
			
		||||
        if (window.require) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user