From 7bdc736f746bfd5285c3dae20364484a1c58381d Mon Sep 17 00:00:00 2001 From: Ishan Taldekar Date: Tue, 18 Feb 2025 16:15:35 -0500 Subject: [PATCH] Fix mynah UI progress indicator (#374) * Fix progress indicator not disappearing after complete result has streamed * Fix Amazon Q progress spinner bug (#376) --- .../amazonq/views/AmazonQChatWebview.java | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQChatWebview.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQChatWebview.java index 32c02ede..c0ce9ab3 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQChatWebview.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQChatWebview.java @@ -250,6 +250,9 @@ private String generateCss() { textarea:placeholder-shown { line-height: 1.5rem; } + .mynah-ui-spinner-container > span.mynah-ui-spinner-logo-part > .mynah-ui-spinner-logo-mask.text { + opacity: 1 !important; + } """; } @@ -268,7 +271,8 @@ private String generateJS(final String jsEntrypoint) { postMessage: (message) => { ideCommand(JSON.stringify(message)); } - }, { + }, + { quickActionCommands: %s, disclaimerAcknowledged: %b }); @@ -284,10 +288,12 @@ private String generateJS(final String jsEntrypoint) { %s + %s + """, jsEntrypoint, getWaitFunction(), chatQuickActionConfig, "true".equals(disclaimerAcknowledged), getArrowKeyBlockingFunction(), - getSelectAllAndCopySupportFunctions(), getPreventEmptyPopupFunction()); + getSelectAllAndCopySupportFunctions(), getPreventEmptyPopupFunction(), getFocusOnChatPromptFunction()); } /* @@ -423,6 +429,21 @@ function attachEventListeners(element) { """.formatted(selector); } + private String getFocusOnChatPromptFunction() { + return """ + window.addEventListener('load', () => { + const chatContainer = document.querySelector('.mynah-chat-prompt'); + if (chatContainer) { + chatContainer.addEventListener('click', (event) => { + if (!event.target.closest('.mynah-chat-prompt-input')) { + keepFocusOnPrompt(); + } + }); + } + }); + """; + } + @Override public final void onSendToChatUi(final String message) { String script = "window.postMessage(" + message + ");";