Skip to content

Commit 5827496

Browse files
authored
Merge branch 'feature/q-lsp-chat' into q-lsp-chat
2 parents fae4946 + 2fafb49 commit 5827496

File tree

21 files changed

+172
-49
lines changed

21 files changed

+172
-49
lines changed

.changes/3.69.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"date" : "2025-04-28",
3+
"version" : "3.69",
4+
"entries" : [ {
5+
"type" : "bugfix",
6+
"description" : "Amazon Q: Fix issue where context menu items are not available after re-opening projects or restarting the IDE"
7+
}, {
8+
"type" : "bugfix",
9+
"description" : "Fix LinkageError while attempting to do Amazon Q inline suggestions in certain environments"
10+
}, {
11+
"type" : "bugfix",
12+
"description" : "Fix issue where user can become stuck because Amazon Q Chat does not show authentication prompt"
13+
}, {
14+
"type" : "removal",
15+
"description" : "Removed support for 2024.1.x IDEs"
16+
}, {
17+
"type" : "removal",
18+
"description" : "Removed support for Gateway 2024.3"
19+
} ]
20+
}

.changes/next-release/bugfix-31222d0f-5ff2-4495-9bf2-e354eabc82c7.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

.changes/next-release/bugfix-7c7e1720-545f-4b5e-8d21-511f40fabf38.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

.changes/next-release/bugfix-a7fedb6e-13ab-4d6a-a9ea-293b3f533bad.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

.changes/next-release/removal-5979b9e4-898d-405a-9fc4-5919bb972a0e.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

.changes/next-release/removal-6b54ddb0-1385-4788-a225-ddae6ac958d2.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
# _3.69_ (2025-04-28)
2+
- **(Bug Fix)** Amazon Q: Fix issue where context menu items are not available after re-opening projects or restarting the IDE
3+
- **(Bug Fix)** Fix LinkageError while attempting to do Amazon Q inline suggestions in certain environments
4+
- **(Bug Fix)** Fix issue where user can become stuck because Amazon Q Chat does not show authentication prompt
5+
- **(Removal)** Removed support for 2024.1.x IDEs
6+
- **(Removal)** Removed support for Gateway 2024.3
7+
18
# _3.68_ (2025-04-23)
29
- **(Feature)** Amazon Q: Show visual indicator in status bar if profile selection is needed to continue with Q Inline / Q Chat
310
- **(Feature)** Amazon Q /test: Remove unsupported message for non-java python languages

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# SPDX-License-Identifier: Apache-2.0
33

44
# Toolkit Version
5-
toolkitVersion=3.69-SNAPSHOT
5+
toolkitVersion=3.70-SNAPSHOT
66

77
# Publish Settings
88
publishToken=

plugins/amazonq/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ dependencies {
3636
implementation(project(":plugin-amazonq:codewhisperer"))
3737
implementation(project(":plugin-amazonq:mynah-ui"))
3838
implementation(project(":plugin-amazonq:shared"))
39+
implementation(libs.bundles.jackson)
3940
implementation(libs.lsp4j)
4041

4142
testImplementation(project(":plugin-core"))

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

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
// Copyright 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
22
// SPDX-License-Identifier: Apache-2.0
3-
3+
@file:Suppress("BannedImports")
44
package software.aws.toolkits.jetbrains.services.amazonq.webview
55

66
import com.fasterxml.jackson.databind.JsonNode
7+
import com.google.gson.Gson
78
import com.intellij.ide.BrowserUtil
89
import com.intellij.ide.util.RunOnceUtil
910
import com.intellij.openapi.project.Project
@@ -28,6 +29,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.commands.MessageSerializ
2829
import software.aws.toolkits.jetbrains.services.amazonq.lsp.AmazonQLanguageServer
2930
import software.aws.toolkits.jetbrains.services.amazonq.lsp.AmazonQLspService
3031
import software.aws.toolkits.jetbrains.services.amazonq.lsp.encryption.JwtEncryptionManager
32+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.AwsServerCapabilitiesProvider
3133
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.ChatCommunicationManager
3234
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.getTextDocumentIdentifier
3335
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ButtonClickNotification
@@ -36,6 +38,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.Butto
3638
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_BUTTON_CLICK
3739
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_COPY_CODE_TO_CLIPBOARD
3840
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_FEEDBACK
41+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_FILE_CLICK
3942
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_FOLLOW_UP_CLICK
4043
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_INFO_LINK_CLICK
4144
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_INSERT_TO_CURSOR
@@ -58,6 +61,8 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.Encry
5861
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EncryptedQuickActionChatParams
5962
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.FeedbackNotification
6063
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.FeedbackParams
64+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.FileClickNotification
65+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.FileClickParams
6166
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.FollowUpClickNotification
6267
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.FollowUpClickParams
6368
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.InfoLinkClickNotification
@@ -146,6 +151,14 @@ class BrowserConnector(
146151
// Wait for UI ready before starting to send messages to the UI.
147152
uiReady.await()
148153

154+
// Chat options including history and quick actions need to be sent in once UI is ready
155+
val showChatOptions = """{
156+
"command": "chatOptions",
157+
"params": ${Gson().toJson(AwsServerCapabilitiesProvider.getInstance(project).getChatOptions())}
158+
}
159+
""".trimIndent()
160+
browser.postChat(showChatOptions)
161+
149162
// Send inbound messages to the browser
150163
val inboundMessages = connections.map { it.messagesFromAppToUi.flow }.merge()
151164
inboundMessages
@@ -277,33 +290,33 @@ class BrowserConnector(
277290
server.linkClick(params)
278291
}
279292
}
280-
281293
CHAT_INFO_LINK_CLICK -> {
282294
handleChatNotification<InfoLinkClickNotification, InfoLinkClickParams>(node) { server, params ->
283295
server.infoLinkClick(params)
284296
}
285297
}
286-
287298
CHAT_SOURCE_LINK_CLICK -> {
288299
handleChatNotification<SourceLinkClickNotification, SourceLinkClickParams>(node) { server, params ->
289300
server.sourceLinkClick(params)
290301
}
291302
}
292-
303+
CHAT_FILE_CLICK -> {
304+
handleChatNotification<FileClickNotification, FileClickParams>(node) { server, params ->
305+
server.fileClick(params)
306+
}
307+
}
293308
PROMPT_INPUT_OPTIONS_CHANGE -> {
294309
handleChatNotification<PromptInputOptionChangeNotification, PromptInputOptionChangeParams>(node) {
295310
server, params ->
296311
server.promptInputOptionsChange(params)
297312
}
298313
}
299-
300314
CHAT_PROMPT_OPTION_ACKNOWLEDGED -> {
301315
val acknowledgedMessage = node.get("params").get("messageId")
302316
if (acknowledgedMessage.asText() == "programmerModeCardId") {
303317
MeetQSettings.getInstance().amazonQChatPairProgramming = false
304318
}
305319
}
306-
307320
CHAT_FOLLOW_UP_CLICK -> {
308321
handleChatNotification<FollowUpClickNotification, FollowUpClickParams>(node) { server, params ->
309322
server.followUpClick(params)

0 commit comments

Comments
 (0)