Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
196 commits
Select commit Hold shift + click to select a range
6caa149
feat(amazonq): Add support for Amazon Q chat on remote 242+ (#4825)
rli Mar 6, 2025
52971e8
Merge main into feature/remote-chat
aws-toolkit-automation Mar 6, 2025
d350a7b
Merge main into feature/remote-chat
aws-toolkit-automation Mar 7, 2025
60cb453
Merge main into feature/remote-chat
aws-toolkit-automation Mar 8, 2025
3e44576
Merge main into feature/remote-chat
aws-toolkit-automation Mar 10, 2025
9f27494
Merge main into feature/remote-chat
aws-toolkit-automation Mar 10, 2025
dc43b09
fix: follow up comments on #4825 (#5450)
rli Mar 10, 2025
b297f63
Merge main into feature/remote-chat
aws-toolkit-automation Mar 10, 2025
81d567e
Merge main into feature/remote-chat
aws-toolkit-automation Mar 10, 2025
466ede5
Merge main into feature/remote-chat
aws-toolkit-automation Mar 11, 2025
63b5f47
Merge main into feature/remote-chat
aws-toolkit-automation Mar 11, 2025
c44e188
Merge main into feature/remote-chat
aws-toolkit-automation Mar 12, 2025
7f0577e
Merge main into feature/remote-chat
aws-toolkit-automation Mar 12, 2025
ab3d3d4
Merge main into feature/remote-chat
aws-toolkit-automation Mar 12, 2025
7714059
Merge main into feature/remote-chat
aws-toolkit-automation Mar 12, 2025
bc2c92e
fix(amazonq): Bug Fix for "Q: Send to Prompt" doesn't work in split p…
LokeshDogga13 Mar 13, 2025
1475824
Revert "Adding change log" (#5473)
LokeshDogga13 Mar 13, 2025
549b273
Merge main into feature/remote-chat
aws-toolkit-automation Mar 13, 2025
fb7e7d3
Merge main into feature/remote-chat
aws-toolkit-automation Mar 13, 2025
7253190
Merge main into feature/remote-chat
aws-toolkit-automation Mar 14, 2025
508893c
Merge main into feature/remote-chat
aws-toolkit-automation Mar 17, 2025
05ee7fb
Merge main into feature/remote-chat
aws-toolkit-automation Mar 17, 2025
e7ec491
Merge main into feature/remote-chat
aws-toolkit-automation Mar 18, 2025
20661e8
Merge main into feature/remote-chat
aws-toolkit-automation Mar 18, 2025
7895c0b
Merge main into feature/remote-chat
aws-toolkit-automation Mar 19, 2025
72c75ab
Merge main into feature/remote-chat
aws-toolkit-automation Mar 20, 2025
9a195e1
fix(amazonq): use https as scheme for local webview resource resolver…
rli Mar 20, 2025
4df223e
Merge main into feature/remote-chat
aws-toolkit-automation Mar 20, 2025
4729f4b
Merge main into feature/remote-chat
aws-toolkit-automation Mar 20, 2025
d316bed
Merge main into feature/remote-chat
aws-toolkit-automation Mar 21, 2025
9974e78
Merge main into feature/remote-chat
aws-toolkit-automation Mar 21, 2025
d72a058
Merge main into feature/remote-chat
aws-toolkit-automation Mar 24, 2025
110bef3
Merge main into feature/remote-chat
aws-toolkit-automation Mar 25, 2025
fc18ee7
Merge main into feature/remote-chat
aws-toolkit-automation Mar 25, 2025
9bdd6c5
Merge main into feature/remote-chat
aws-toolkit-automation Mar 26, 2025
138f483
Merge main into feature/remote-chat
aws-toolkit-automation Mar 26, 2025
4e68ffb
Merge main into feature/remote-chat
aws-toolkit-automation Mar 26, 2025
27d5b2b
Merge main into feature/remote-chat
aws-toolkit-automation Mar 27, 2025
26be9e4
Merge main into feature/remote-chat
aws-toolkit-automation Mar 27, 2025
86f03dd
Merge main into feature/remote-chat
aws-toolkit-automation Mar 27, 2025
63ded71
Merge main into feature/remote-chat
aws-toolkit-automation Mar 28, 2025
20ef0d3
Merge main into feature/remote-chat
aws-toolkit-automation Mar 31, 2025
854f471
Merge main into feature/remote-chat
aws-toolkit-automation Mar 31, 2025
483345a
Merge main into feature/remote-chat
aws-toolkit-automation Mar 31, 2025
8cb8f19
Merge main into feature/remote-chat
aws-toolkit-automation Apr 1, 2025
1f378d0
Merge main into feature/remote-chat
aws-toolkit-automation Apr 1, 2025
cc9999f
Merge main into feature/remote-chat
aws-toolkit-automation Apr 3, 2025
38f99c0
Merge main into feature/remote-chat
aws-toolkit-automation Apr 3, 2025
bef2775
Merge main into feature/remote-chat
aws-toolkit-automation Apr 8, 2025
d8b5b90
Merge remote-tracking branch 'origin/main' into HEAD
rli Apr 10, 2025
8729093
Merge remote-tracking branch 'origin/main' into autoMerge/feature/rem…
rli Apr 24, 2025
d53b509
build
rli Apr 24, 2025
ff7867b
Merge pull request #5538 from aws/autoMerge/feature/remote-chat
rli Apr 24, 2025
8013d88
Merge main into feature/remote-chat
aws-toolkit-automation Apr 24, 2025
c205076
Merge main into feature/remote-chat
aws-toolkit-automation Apr 24, 2025
19339e0
Merge main into feature/remote-chat
aws-toolkit-automation Apr 28, 2025
764c638
Merge main into feature/remote-chat
aws-toolkit-automation Apr 28, 2025
e9d65e1
Merge main into feature/remote-chat
aws-toolkit-automation Apr 28, 2025
13be4a1
Merge main into feature/remote-chat
aws-toolkit-automation Apr 28, 2025
67226b2
Merge main into feature/remote-chat
aws-toolkit-automation Apr 28, 2025
df1fb1d
Merge main into feature/remote-chat
aws-toolkit-automation Apr 30, 2025
79db094
Merge main into feature/remote-chat
aws-toolkit-automation May 1, 2025
2680dc2
Merge main into feature/remote-chat
aws-toolkit-automation May 2, 2025
9c6a08b
Merge main into feature/remote-chat
aws-toolkit-automation May 2, 2025
9521ad6
Merge main into feature/remote-chat
aws-toolkit-automation May 6, 2025
02db760
Merge main into feature/remote-chat
aws-toolkit-automation May 6, 2025
cb10ebd
Merge main into feature/remote-chat
aws-toolkit-automation May 6, 2025
3f9a19d
Merge main into feature/remote-chat
aws-toolkit-automation May 6, 2025
378895a
Merge main into feature/remote-chat
aws-toolkit-automation May 6, 2025
d9b6973
Merge main into feature/remote-chat
aws-toolkit-automation May 6, 2025
dfdae9e
Merge main into feature/remote-chat
aws-toolkit-automation May 7, 2025
f67d1db
Merge main into feature/remote-chat
aws-toolkit-automation May 8, 2025
3584ac2
Merge main into feature/remote-chat
aws-toolkit-automation May 8, 2025
9ed4300
Merge main into feature/remote-chat
aws-toolkit-automation May 8, 2025
980e842
Merge main into feature/remote-chat
aws-toolkit-automation May 9, 2025
676cf83
Merge main into feature/remote-chat
aws-toolkit-automation May 9, 2025
c1dd833
Merge main into feature/remote-chat
aws-toolkit-automation May 12, 2025
a72fc70
Merge main into feature/remote-chat
aws-toolkit-automation May 15, 2025
6332641
Merge main into feature/remote-chat
aws-toolkit-automation May 15, 2025
77b82a4
Merge main into feature/remote-chat
aws-toolkit-automation May 16, 2025
d6d251f
Merge remote-tracking branch 'origin/feature/q-lsp-chat' into feature…
rli May 19, 2025
9997147
Merge main into feature/remote-chat
aws-toolkit-automation May 19, 2025
b983da5
Merge main into feature/remote-chat-lsp
aws-toolkit-automation May 19, 2025
1c90e7c
Merge main into feature/remote-chat
aws-toolkit-automation May 19, 2025
4f9d2c3
Merge main into feature/remote-chat
aws-toolkit-automation May 20, 2025
fe316fa
Merge main into feature/remote-chat
aws-toolkit-automation May 20, 2025
5ae53fb
fix(amazonq): fix agentic asset loading in remote mode (#5734)
rli May 20, 2025
ec50363
Merge remote-tracking branch 'origin/feature/q-lsp-chat' into HEAD
rli May 20, 2025
d24e27e
Merge pull request #5736 from aws/autoMerge/feature/remote-chat-lsp
rli May 20, 2025
8593344
fix(amazonq): fix code issues tab not appearing in remote (#5737)
rli May 20, 2025
996c6bb
Merge branch 'feature/remote-chat' into feature/remote-chat-lsp
rli May 20, 2025
815e86d
Merge remote-tracking branch 'origin/feature/q-lsp-chat' into HEAD
rli May 22, 2025
a6f4103
Merge pull request #5747 from aws/autoMerge/feature/remote-chat-lsp
rli May 22, 2025
17c34c7
Merge remote-tracking branch 'origin/feature/q-lsp-chat' into feature…
rli May 22, 2025
330192f
Merge main into feature/remote-chat-lsp
aws-toolkit-automation May 23, 2025
fa68528
Merge main into feature/remote-chat-lsp
aws-toolkit-automation May 23, 2025
affb351
Merge main into feature/remote-chat-lsp
aws-toolkit-automation May 24, 2025
8c4100a
fix(amazonq): use progress bar decorator while loading q chat on remo…
rli May 27, 2025
b12bc76
Merge main into feature/remote-chat-lsp
aws-toolkit-automation May 27, 2025
9f40236
Merge main into feature/remote-chat-lsp
aws-toolkit-automation May 27, 2025
77d140c
Merge main into feature/remote-chat-lsp
aws-toolkit-automation May 30, 2025
266d7d9
Merge branch 'feature/q-lsp-chat' into feature/remote-chat-lsp
rli May 30, 2025
8dcb35b
Merge remote-tracking branch 'origin/feature/q-lsp-chat' into feature…
rli May 30, 2025
9267a23
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 2, 2025
b6d4a6a
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 2, 2025
7ac27ea
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 3, 2025
91f7eb3
Merge remote-tracking branch 'origin/main' into HEAD
rli Jun 6, 2025
3bea4ef
detekt
rli Jun 6, 2025
e2a8496
Merge pull request #5793 from aws/autoMerge/feature/remote-chat-lsp
rli Jun 9, 2025
983167a
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 9, 2025
3b9ef40
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 9, 2025
fd2edfa
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 10, 2025
238d915
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 10, 2025
cd83577
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 11, 2025
208c2f3
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 11, 2025
d5bae52
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 11, 2025
c6cc7fa
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 11, 2025
dc5cd91
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 11, 2025
0dd1ad8
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 11, 2025
fe6dc55
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 12, 2025
f59b276
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 12, 2025
d352b25
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 12, 2025
37df0c9
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 13, 2025
ee94829
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 14, 2025
ac061dc
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 16, 2025
b093d89
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 16, 2025
5722bd8
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 16, 2025
8a75021
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 16, 2025
e04fa04
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 17, 2025
7eab941
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 18, 2025
373e346
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 18, 2025
4c89026
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 23, 2025
8601de3
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 24, 2025
5bf140f
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 24, 2025
b9f5c36
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 25, 2025
de2e4fb
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 25, 2025
c85c5a4
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 25, 2025
fe53968
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 26, 2025
af4ee6a
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 26, 2025
47521cc
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 27, 2025
ab8e445
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 27, 2025
4d6a7a7
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 27, 2025
d864388
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jun 27, 2025
0f3baf7
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 1, 2025
1a8cf53
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 2, 2025
f1d5c4e
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 2, 2025
418f4ea
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 2, 2025
b5c8a22
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 2, 2025
c46aba9
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 3, 2025
08c037c
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 3, 2025
cd084c5
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 3, 2025
c37b33d
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 7, 2025
a2bd251
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 7, 2025
77fbf97
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 8, 2025
b08ee5f
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 8, 2025
85ee7e7
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 8, 2025
3cad360
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 9, 2025
9f2be28
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 9, 2025
033a00d
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 9, 2025
cb1570b
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 9, 2025
882e6ff
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 10, 2025
c361946
Merge remote-tracking branch 'origin/main' into HEAD
rli Jul 22, 2025
eb1ff0c
Merge pull request #5895 from aws/autoMerge/feature/remote-chat-lsp
rli Jul 28, 2025
0ea7bc3
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 29, 2025
7d39d99
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 31, 2025
d798cc4
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 31, 2025
b2b3d99
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Jul 31, 2025
7f28f5e
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 1, 2025
a39afaf
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 4, 2025
0408ed9
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 4, 2025
1fa6666
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 6, 2025
7710098
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 7, 2025
c627781
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 7, 2025
4235a88
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 7, 2025
60736d6
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 8, 2025
88fc119
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 13, 2025
c5b174c
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 14, 2025
0e3f83b
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 14, 2025
57cd4d5
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 14, 2025
a0d810e
Merge branch 'feature/remote-chat-lsp' into autoMerge/feature/remote-…
rli Aug 14, 2025
aeb459a
Merge pull request #5975 from aws/autoMerge/feature/remote-chat-lsp
rli Aug 14, 2025
d835735
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 18, 2025
541da2c
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 18, 2025
a6e4f3c
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 20, 2025
93f75d6
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 20, 2025
8812dee
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 21, 2025
7f48ef9
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 22, 2025
b2fb2b3
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 22, 2025
61270ed
fix: provide loading text when chat assets are slow to load (#5973)
rli Aug 25, 2025
a8d819b
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 26, 2025
90c7327
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 26, 2025
7335f81
feat(amazonq): limit remote to amzn-internal compute (#5993)
rli Aug 26, 2025
46b1ca3
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 26, 2025
c2de6bc
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 27, 2025
734c3e7
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 27, 2025
aefd8f3
Merge main into feature/remote-chat-lsp
aws-toolkit-automation Aug 29, 2025
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
@@ -0,0 +1,4 @@
{
"type" : "feature",
"description" : "Add support for using Amazon Q chat through a remote IDE instance on 2024.2+"
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ object IdeVersions {
private val commonPlugins = listOf(
"Git4Idea",
"org.jetbrains.plugins.terminal",
"org.jetbrains.plugins.yaml"
"org.jetbrains.plugins.yaml",
)

private val ideProfiles = listOf(
Expand All @@ -34,6 +34,7 @@ object IdeVersions {
"com.intellij.java",
"com.intellij.gradle",
"org.jetbrains.idea.maven",
"com.jetbrains.codeWithMe",
),
marketplacePlugins = listOf(
"org.toml.lang:242.20224.155",
Expand Down Expand Up @@ -71,6 +72,7 @@ object IdeVersions {
"com.intellij.java",
"com.intellij.gradle",
"org.jetbrains.idea.maven",
"com.jetbrains.codeWithMe",
),
marketplacePlugins = listOf(
"org.toml.lang:243.21565.122",
Expand Down Expand Up @@ -114,6 +116,7 @@ object IdeVersions {
"com.intellij.java",
"com.intellij.gradle",
"org.jetbrains.idea.maven",
"com.jetbrains.codeWithMe",
),
marketplacePlugins = listOf(
"org.toml.lang:251.26927.47",
Expand Down Expand Up @@ -160,6 +163,7 @@ object IdeVersions {
"com.intellij.java",
"com.intellij.gradle",
"org.jetbrains.idea.maven",
"com.jetbrains.codeWithMe",
"com.intellij.properties"
),
marketplacePlugins = listOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

import org.jetbrains.intellij.platform.gradle.IntelliJPlatformType
import org.jetbrains.intellij.platform.gradle.tasks.PatchPluginXmlTask
import org.jetbrains.intellij.platform.gradle.tasks.aware.SplitModeAware
import software.aws.toolkits.gradle.intellij.IdeFlavor
import software.aws.toolkits.gradle.intellij.toolkitIntelliJ

Expand Down Expand Up @@ -75,3 +76,8 @@ tasks.runIde {
systemProperty("user.home", home)
environment("HOME", home)
}

val runSplitIde by intellijPlatformTesting.runIde.registering {
splitMode = true
splitModeTarget = SplitModeAware.SplitModeTarget.BACKEND
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import org.cef.CefApp
import software.aws.toolkits.core.utils.debug
import software.aws.toolkits.core.utils.error
import software.aws.toolkits.core.utils.getLogger
Expand All @@ -37,8 +36,8 @@ import software.aws.toolkits.jetbrains.core.credentials.sono.isSono
import software.aws.toolkits.jetbrains.core.region.AwsRegionProvider
import software.aws.toolkits.jetbrains.core.webview.BrowserMessage
import software.aws.toolkits.jetbrains.core.webview.BrowserState
import software.aws.toolkits.jetbrains.core.webview.LocalAssetJBCefRequestHandler
import software.aws.toolkits.jetbrains.core.webview.LoginBrowser
import software.aws.toolkits.jetbrains.core.webview.WebviewResourceHandlerFactory
import software.aws.toolkits.jetbrains.isDeveloperMode
import software.aws.toolkits.jetbrains.services.amazonq.profile.QProfileSwitchIntent
import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfile
Expand Down Expand Up @@ -131,25 +130,14 @@ class QWebviewPanel private constructor(val project: Project, private val scope:
class QWebviewBrowser(val project: Project, private val parentDisposable: Disposable) :
LoginBrowser(
project,
QWebviewBrowser.DOMAIN,
QWebviewBrowser.WEB_SCRIPT_URI
),
Disposable {
// TODO: confirm if we need such configuration or the default is fine
override val jcefBrowser = createBrowser(parentDisposable)
private val query = JBCefJSQuery.create(jcefBrowser)
private val assetHandler = LocalAssetJBCefRequestHandler(jcefBrowser)

init {
CefApp.getInstance()
.registerSchemeHandlerFactory(
"http",
domain,
WebviewResourceHandlerFactory(
domain = "http://$domain/",
assetUri = "/webview/assets/"
),
)

loadWebView(query)

query.addHandler(jcefHandler)
Expand Down Expand Up @@ -332,7 +320,12 @@ class QWebviewBrowser(val project: Project, private val parentDisposable: Dispos
}

override fun loadWebView(query: JBCefJSQuery) {
jcefBrowser.loadHTML(getWebviewHTML(webScriptUri, query))
val webScriptUri = assetHandler.createResource(
WEB_SCRIPT,
QWebviewBrowser::class.java.getResourceAsStream("/webview/assets/$WEB_SCRIPT")
)

jcefBrowser.loadURL(assetHandler.createResource("content.html", getWebviewHTML(webScriptUri, query)))
}

private fun handleListProfilesMessage() {
Expand Down Expand Up @@ -383,7 +376,6 @@ class QWebviewBrowser(val project: Project, private val parentDisposable: Dispos

companion object {
private val LOG = getLogger<QWebviewBrowser>()
private const val WEB_SCRIPT_URI = "http://webview/js/getStart.js"
private const val DOMAIN = "webview"
private const val WEB_SCRIPT = "js/getStart.js"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,20 @@
import software.aws.toolkits.jetbrains.services.amazonq.toolwindow.AMAZON_Q_WINDOW_ID
import software.aws.toolkits.jetbrains.services.amazonq.toolwindow.AmazonQToolWindow
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.runScanKey
import software.aws.toolkits.jetbrains.utils.isRunningOnRemoteBackend
import software.aws.toolkits.resources.message
import software.aws.toolkits.telemetry.UiTelemetry

class QOpenPanelAction : AnAction(message("action.q.openchat.text"), null, AwsIcons.Logos.AWS_Q) {

Check warning on line 17 in plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/QOpenPanelAction.kt

View workflow job for this annotation

GitHub Actions / Qodana Community for JVM

ActionUpdateThread is missing

Override 'getActionUpdateThread' and choose 'EDT' or 'BGT'
override fun actionPerformed(e: AnActionEvent) {
if (isRunningOnRemoteBackend()) return
val project = e.getRequiredData(CommonDataKeys.PROJECT)
UiTelemetry.click(project, "q_openChat")
ToolWindowManager.getInstance(project).getToolWindow(AMAZON_Q_WINDOW_ID)?.activate(null, true)
if (e.getData(runScanKey) == true) {
AmazonQToolWindow.openScanTab(project)
}
}

override fun update(e: AnActionEvent) {
e.presentation.isEnabled = e.getData(CommonDataKeys.PROJECT) != null
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import org.cef.browser.CefBrowser
import org.cef.browser.CefFrame
import org.cef.handler.CefLoadHandlerAdapter
import software.aws.toolkits.jetbrains.core.coroutines.disposableCoroutineScope
import software.aws.toolkits.jetbrains.core.webview.LocalAssetJBCefRequestHandler
import software.aws.toolkits.jetbrains.services.amazonq.toolwindow.AmazonQToolWindow
import software.aws.toolkits.jetbrains.services.amazonq.webview.theme.EditorThemeAdapter
import software.aws.toolkits.resources.message
Expand Down Expand Up @@ -72,7 +73,7 @@ class QGettingStartedContent(val project: Project) : Disposable {

private fun loadWebView() {
// load the web app
jcefBrowser.loadHTML(getWebviewHTML())
jcefBrowser.loadURL(LocalAssetJBCefRequestHandler(jcefBrowser).createResource("content.html", getWebviewHTML()))
}

private fun getWebviewHTML(): String {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
package software.aws.toolkits.jetbrains.services.amazonq.toolwindow

import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.intellij.idea.AppMode
import com.intellij.openapi.Disposable
import com.intellij.openapi.components.service
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.Disposer
import com.intellij.ui.components.JBLoadingPanel
import com.intellij.ui.components.JBTextArea
import com.intellij.ui.components.ProgressBarLoadingDecorator
import com.intellij.ui.components.panels.Wrapper
import com.intellij.ui.dsl.builder.Align
import com.intellij.ui.dsl.builder.AlignX
Expand Down Expand Up @@ -45,6 +45,7 @@ import software.aws.toolkits.jetbrains.services.amazonqCodeTest.auth.isCodeTestA
import software.aws.toolkits.jetbrains.services.amazonqDoc.auth.isDocAvailable
import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.auth.isFeatureDevAvailable
import software.aws.toolkits.jetbrains.services.codemodernizer.utils.isCodeTransformAvailable
import software.aws.toolkits.jetbrains.utils.isRunningOnRemoteBackend
import software.aws.toolkits.resources.message
import java.awt.datatransfer.DataFlavor
import java.awt.dnd.DropTarget
Expand Down Expand Up @@ -92,8 +93,8 @@ class AmazonQPanel(val project: Project, private val scope: CoroutineScope) : Di
init {
if (!JBCefApp.isSupported()) {
// Fallback to an alternative browser-less solution
if (AppMode.isRemoteDevHost()) {
webviewContainer.add(JBTextArea("Amazon Q chat is not supported in remote dev environment."))
if (isRunningOnRemoteBackend()) {
webviewContainer.add(JBTextArea("Amazon Q chat is not supported in this remote dev environment because it lacks JCEF webview support."))
} else {
webviewContainer.add(JBTextArea("JCEF not supported"))
}
Expand All @@ -102,21 +103,28 @@ class AmazonQPanel(val project: Project, private val scope: CoroutineScope) : Di
webviewContainer.add(JBTextArea("${message("q.unavailable")}\n ${message("q.unavailable.node")}"))
browser.complete(null)
} else {
val loadingPanel = JBLoadingPanel(null, this)
val loadingPanel = if (isRunningOnRemoteBackend()) {
JBLoadingPanel(null) {
ProgressBarLoadingDecorator(it, this, -1)
}
} else {
JBLoadingPanel(null, this)
}

val wrapper = Wrapper()
loadingPanel.startLoading()

webviewContainer.add(wrapper)
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")
// wait for server to be running
AmazonQLspService.getInstance(project).instanceFlow.first()

withContext(EDT) {
browser.complete(
Browser(this@AmazonQPanel, webUri, project).also { browserInstance ->
Browser(this@AmazonQPanel, mynahAsset, project).also { browserInstance ->
wrapper.setContent(browserInstance.component())

// Register direct callback instead of using message bus
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,12 @@ class AmazonQToolWindowFactory : ToolWindowFactory, DumbAware {
}
}

/**
* Only applies to local
* On remote, since we are using PROJECTOR_INSTANCING, this will never run
*/
override fun init(toolWindow: ToolWindow) {
toolWindow.stripeTitle = message("q.window.title")
toolWindow.stripeTitle = message("toolwindow.stripe.amazon.q.window")
toolWindow.component.addComponentListener(
object : ComponentAdapter() {
override fun componentResized(e: ComponentEvent) {
Expand All @@ -143,6 +147,8 @@ class AmazonQToolWindowFactory : ToolWindowFactory, DumbAware {
LOG.debug {
"Amazon Q Tool window stretched to a width less than the minimum allowed width, resizing to the minimum allowed width"
}

// can't implement equivalent on remote as stretchWidth impl is noop
(toolWindow as ToolWindowEx).stretchWidth(MINIMUM_TOOLWINDOW_WIDTH - newWidth)
}
}
Expand Down

This file was deleted.

Loading
Loading