Skip to content

Commit 3355755

Browse files
Merge branch 'feature/q-lsp-chat' into samgst/q-chat-link-click
2 parents c12ff9c + b85d204 commit 3355755

File tree

38 files changed

+391
-290
lines changed

38 files changed

+391
-290
lines changed

.changes/3.67.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"date" : "2025-04-18",
3+
"version" : "3.67",
4+
"entries" : [ {
5+
"type" : "bugfix",
6+
"description" : "Amazon Q: Customization now resets with a warning if unavailable in the selected profile."
7+
}, {
8+
"type" : "bugfix",
9+
"description" : "Q panel will get stuck while signin if users have multiple windows"
10+
}, {
11+
"type" : "bugfix",
12+
"description" : "Fix integer overflow when local context index input is larger than 2GB"
13+
}, {
14+
"type" : "bugfix",
15+
"description" : "Fix workspace index process quits when hitting a race condition"
16+
}, {
17+
"type" : "bugfix",
18+
"description" : "Fix infinite loop when workspace indexing server fails to initialize"
19+
} ]
20+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "bugfix",
3+
"description" : "/dev: Fix prompt to enable devfile build not triggering when devfile is present."
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "bugfix",
3+
"description" : "/review: disabled highlighter for ignored issues"
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "feature",
3+
"description" : "Amazon Q /test: Remove unsupported message for non-java python languages"
4+
}

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
# _3.67_ (2025-04-18)
2+
- **(Bug Fix)** Amazon Q: Customization now resets with a warning if unavailable in the selected profile.
3+
- **(Bug Fix)** Q panel will get stuck while signin if users have multiple windows
4+
- **(Bug Fix)** Fix integer overflow when local context index input is larger than 2GB
5+
- **(Bug Fix)** Fix workspace index process quits when hitting a race condition
6+
- **(Bug Fix)** Fix infinite loop when workspace indexing server fails to initialize
7+
18
# _3.66_ (2025-04-11)
29
- **(Feature)** The logs emitted by the Agent during user command execution will be accepted and written to `.amazonq/dev/run_command.log` file in the user's local repository.
310
- **(Bug Fix)** Unit test generation now completes successfully when using the `/test` command

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.67-SNAPSHOT
5+
toolkitVersion=3.68-SNAPSHOT
66

77
# Publish Settings
88
publishToken=

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/commands/MessageSerializer.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.util.command
2020

2121
class MessageSerializer @VisibleForTesting constructor() {
2222

23-
private val objectMapper = jacksonObjectMapper()
23+
val objectMapper = jacksonObjectMapper()
2424
.registerModule(JavaTimeModule())
2525
.enable(MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS)
2626
.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
@@ -37,8 +37,8 @@ class MessageSerializer @VisibleForTesting constructor() {
3737

3838
fun serialize(value: Any): String = objectMapper.writeValueAsString(value)
3939

40-
fun <T> deserializeChatMessages(value: JsonNode, clazz: Class<T>): T =
41-
objectMapper.treeToValue(value, clazz)
40+
inline fun <reified T> deserializeChatMessages(value: JsonNode): T =
41+
objectMapper.treeToValue<T>(value)
4242

4343
// Provide singleton global access
4444
companion object {

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@ class AmazonQToolWindowFactory : ToolWindowFactory, DumbAware {
9595
project.messageBus.connect(toolWindow.disposable).subscribe(
9696
QRegionProfileSelectedListener.TOPIC,
9797
object : QRegionProfileSelectedListener {
98-
override fun onProfileSelected(project: Project, profile: QRegionProfile?) {
98+
// note we name myProject intentionally ow it will shadow the "project" provided by the IDE
99+
override fun onProfileSelected(myProject: Project, profile: QRegionProfile?) {
99100
if (project.isDisposed) return
100101
AmazonQToolWindow.getInstance(project).disposeAndRecreate()
101102
qPanel.setContent(AmazonQToolWindow.getInstance(project).component)

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class Browser(parent: Disposable, private val webUri: URI, val project: Project)
4343
"mynah",
4444
AssetResourceHandler.AssetResourceHandlerFactory(),
4545
)
46-
AmazonQLspService.getInstance(project).addServerStartedListener {
46+
AmazonQLspService.getInstance(project).addLspInitializeMessageListener {
4747
loadWebView(
4848
isCodeTransformAvailable,
4949
isFeatureDevAvailable,

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ class BrowserConnector(
157157
private fun handleFlareChatMessages(browser: Browser, node: JsonNode) {
158158
when (node.command) {
159159
SEND_CHAT_COMMAND_PROMPT -> {
160-
val requestFromUi = serializer.deserializeChatMessages(node, SendChatPromptRequest::class.java)
160+
val requestFromUi = serializer.deserializeChatMessages<SendChatPromptRequest>(node)
161161
val chatPrompt = ChatPrompt(
162162
requestFromUi.params.prompt.prompt,
163163
requestFromUi.params.prompt.escapedPrompt,
@@ -195,7 +195,7 @@ class BrowserConnector(
195195
showResult(result, partialResultToken, tabId, encryptionManager, browser)
196196
}
197197
CHAT_QUICK_ACTION -> {
198-
val requestFromUi = serializer.deserializeChatMessages(node, QuickChatActionRequest::class.java)
198+
val requestFromUi = serializer.deserializeChatMessages<QuickChatActionRequest>(node)
199199
val tabId = requestFromUi.params.tabId
200200
val quickActionParams = requestFromUi.params
201201
val partialResultToken = chatCommunicationManager.addPartialChatMessage(tabId)

0 commit comments

Comments
 (0)