From 10e60de691ceab14cd533abd153effbf3891d6af Mon Sep 17 00:00:00 2001 From: Richard Li Date: Mon, 19 May 2025 13:58:37 -0700 Subject: [PATCH 1/2] fix(amazonq): fix agentic asset loading in remote mode --- .../jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt | 4 ++-- .../toolkits/jetbrains/services/amazonq/webview/Browser.kt | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt b/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt index 79016830c90..3f384d6c476 100644 --- a/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt +++ b/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt @@ -111,13 +111,13 @@ class AmazonQPanel(val project: Project, private val scope: CoroutineScope) : Di wrapper.setContent(loadingPanel) scope.launch { - val webUri = service().fetchArtifact(project).resolve("amazonq-ui.js").toUri() + val mynahAsset = service().fetchArtifact(project).resolve("amazonq-ui.js") // wait for server to be running AmazonQLspService.getInstance(project).instanceFlow.first() withContext(EDT) { browser.complete( - Browser(this@AmazonQPanel, webUri, project).also { + Browser(this@AmazonQPanel, mynahAsset, project).also { wrapper.setContent(it.component()) initConnections() diff --git a/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/Browser.kt b/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/Browser.kt index 131c4659dfb..09af16e1a97 100644 --- a/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/Browser.kt +++ b/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/Browser.kt @@ -9,6 +9,7 @@ import com.intellij.openapi.Disposable import com.intellij.openapi.project.Project import com.intellij.openapi.util.Disposer import com.intellij.ui.jcef.JBCefJSQuery +import software.aws.toolkits.core.utils.inputStream import software.aws.toolkits.jetbrains.core.webview.LocalAssetJBCefRequestHandler import software.aws.toolkits.jetbrains.services.amazonq.CodeWhispererFeatureConfigService import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.AwsServerCapabilitiesProvider @@ -17,14 +18,14 @@ import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfile import software.aws.toolkits.jetbrains.services.amazonq.util.HighlightCommand import software.aws.toolkits.jetbrains.services.amazonq.util.createBrowser import software.aws.toolkits.jetbrains.settings.MeetQSettings -import java.net.URI +import java.nio.file.Path import java.nio.file.Paths /* Displays the web view for the Amazon Q tool window */ -class Browser(parent: Disposable, private val webUri: URI, val project: Project) : Disposable { +class Browser(parent: Disposable, private val mynahAsset: Path, val project: Project) : Disposable { val jcefBrowser = createBrowser(parent) @@ -127,7 +128,7 @@ class Browser(parent: Disposable, private val webUri: URI, val project: Project) // language=HTML val jsScripts = """ - + - - +