Skip to content

Commit 5ae53fb

Browse files
authored
fix(amazonq): fix agentic asset loading in remote mode (#5734)
local uris cannot be loaded if the host is deemed non-remote
1 parent b983da5 commit 5ae53fb

File tree

2 files changed

+9
-9
lines changed
  • plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq

2 files changed

+9
-9
lines changed

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,13 +111,13 @@ class AmazonQPanel(val project: Project, private val scope: CoroutineScope) : Di
111111
wrapper.setContent(loadingPanel)
112112

113113
scope.launch {
114-
val webUri = service<ArtifactManager>().fetchArtifact(project).resolve("amazonq-ui.js").toUri()
114+
val mynahAsset = service<ArtifactManager>().fetchArtifact(project).resolve("amazonq-ui.js")
115115
// wait for server to be running
116116
AmazonQLspService.getInstance(project).instanceFlow.first()
117117

118118
withContext(EDT) {
119119
browser.complete(
120-
Browser(this@AmazonQPanel, webUri, project).also {
120+
Browser(this@AmazonQPanel, mynahAsset, project).also {
121121
wrapper.setContent(it.component())
122122

123123
initConnections()

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/Browser.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import com.intellij.openapi.Disposable
99
import com.intellij.openapi.project.Project
1010
import com.intellij.openapi.util.Disposer
1111
import com.intellij.ui.jcef.JBCefJSQuery
12+
import software.aws.toolkits.core.utils.inputStream
1213
import software.aws.toolkits.jetbrains.core.webview.LocalAssetJBCefRequestHandler
1314
import software.aws.toolkits.jetbrains.services.amazonq.CodeWhispererFeatureConfigService
1415
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.AwsServerCapabilitiesProvider
@@ -17,14 +18,13 @@ import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfile
1718
import software.aws.toolkits.jetbrains.services.amazonq.util.HighlightCommand
1819
import software.aws.toolkits.jetbrains.services.amazonq.util.createBrowser
1920
import software.aws.toolkits.jetbrains.settings.MeetQSettings
20-
import java.net.URI
21+
import java.nio.file.Path
2122
import java.nio.file.Paths
2223

23-
/*
24-
Displays the web view for the Amazon Q tool window
24+
/**
25+
* Displays the web view for the Amazon Q tool window
2526
*/
26-
27-
class Browser(parent: Disposable, private val webUri: URI, val project: Project) : Disposable {
27+
class Browser(parent: Disposable, private val mynahAsset: Path, val project: Project) : Disposable {
2828

2929
val jcefBrowser = createBrowser(parent)
3030

@@ -122,13 +122,13 @@ class Browser(parent: Disposable, private val webUri: URI, val project: Project)
122122
): String {
123123
val postMessageToJavaJsCode = receiveMessageQuery.inject("JSON.stringify(message)")
124124
val connectorAdapterPath = "${LocalAssetJBCefRequestHandler.PROTOCOL}://${LocalAssetJBCefRequestHandler.AUTHORITY}/mynah/js/connectorAdapter.js"
125+
val mynahResource = assetRequestHandler.createResource(mynahAsset.fileName.toString(), mynahAsset.inputStream())
125126
generateQuickActionConfig()
126127
// https://github.com/highlightjs/highlight.js/issues/1387
127128
// language=HTML
128129
val jsScripts = """
129130
<script type="text/javascript" charset="UTF-8" src="$connectorAdapterPath"></script>
130-
<script type="text/javascript" charset="UTF-8" src="$webUri" defer onload="init()"></script>
131-
131+
<script type="text/javascript" charset="UTF-8" src="$mynahResource" defer onload="init()"></script>
132132
<script type="text/javascript">
133133
134134
const init = () => {

0 commit comments

Comments
 (0)