Skip to content

fix(amazonq): fix agentic asset loading in remote mode #5734

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -111,13 +111,13 @@
wrapper.setContent(loadingPanel)

scope.launch {
val webUri = service<ArtifactManager>().fetchArtifact(project).resolve("amazonq-ui.js").toUri()
val mynahAsset = service<ArtifactManager>().fetchArtifact(project).resolve("amazonq-ui.js")

Check warning on line 114 in plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt

View check run for this annotation

Codecov / codecov/patch

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

Added line #L114 was not covered by tests
// 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 {

Check warning on line 120 in plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt

View check run for this annotation

Codecov / codecov/patch

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

Added line #L120 was not covered by tests
wrapper.setContent(it.component())

initConnections()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
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
Expand All @@ -17,14 +18,13 @@
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 {

Check warning on line 27 in plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/Browser.kt

View check run for this annotation

Codecov / codecov/patch

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

Added line #L27 was not covered by tests

val jcefBrowser = createBrowser(parent)

Expand Down Expand Up @@ -122,13 +122,13 @@
): 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())

Check warning on line 125 in plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/Browser.kt

View check run for this annotation

Codecov / codecov/patch

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

Added line #L125 was not covered by tests
generateQuickActionConfig()
// https://github.com/highlightjs/highlight.js/issues/1387
// language=HTML
val jsScripts = """
<script type="text/javascript" charset="UTF-8" src="$connectorAdapterPath"></script>
<script type="text/javascript" charset="UTF-8" src="$webUri" defer onload="init()"></script>

<script type="text/javascript" charset="UTF-8" src="$mynahResource" defer onload="init()"></script>

Check warning on line 131 in plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/Browser.kt

View check run for this annotation

Codecov / codecov/patch

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

Added line #L131 was not covered by tests
<script type="text/javascript">

const init = () => {
Expand Down
Loading