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..4744b962676 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,13 @@ 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 +/** + * 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) @@ -122,13 +122,13 @@ class Browser(parent: Disposable, private val webUri: URI, val project: Project) ): String { val postMessageToJavaJsCode = receiveMessageQuery.inject("JSON.stringify(message)") val connectorAdapterPath = "${LocalAssetJBCefRequestHandler.PROTOCOL}://${LocalAssetJBCefRequestHandler.AUTHORITY}/mynah/js/connectorAdapter.js" + val mynahResource = assetRequestHandler.createResource(mynahAsset.fileName.toString(), mynahAsset.inputStream()) generateQuickActionConfig() // https://github.com/highlightjs/highlight.js/issues/1387 // language=HTML val jsScripts = """ - - +