From c2501a8e0cebf8815b91cb730819966a9dbf42ae Mon Sep 17 00:00:00 2001 From: Richard Li Date: Tue, 15 Apr 2025 15:03:53 -0700 Subject: [PATCH 1/2] fix(amazonq): fix infinite loop when workspace indexing process fails to start --- .../bugfix-f31946b6-3709-44a5-b23f-9fa202bd5cb5.json | 4 ++++ .../services/amazonq/project/ProjectContextProvider.kt | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 .changes/next-release/bugfix-f31946b6-3709-44a5-b23f-9fa202bd5cb5.json diff --git a/.changes/next-release/bugfix-f31946b6-3709-44a5-b23f-9fa202bd5cb5.json b/.changes/next-release/bugfix-f31946b6-3709-44a5-b23f-9fa202bd5cb5.json new file mode 100644 index 00000000000..f537fa0c825 --- /dev/null +++ b/.changes/next-release/bugfix-f31946b6-3709-44a5-b23f-9fa202bd5cb5.json @@ -0,0 +1,4 @@ +{ + "type" : "bugfix", + "description" : "Fix infinite loop when workspace indexing server fails to initialize" +} \ No newline at end of file diff --git a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/ProjectContextProvider.kt b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/ProjectContextProvider.kt index 475618747c0..46d00699080 100644 --- a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/ProjectContextProvider.kt +++ b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/ProjectContextProvider.kt @@ -116,10 +116,14 @@ class ProjectContextProvider(val project: Project, private val encoderServer: En logger.info { "project context index starting" } delay(300) val isIndexSuccess = index() - if (isIndexSuccess) isIndexComplete.set(true) + if (isIndexSuccess) { + isIndexComplete.set(true) + } return } + retryCount.incrementAndGet() } catch (e: Exception) { + logger.warn(e) { "failed to init project context" } if (e.stackTraceToString().contains("Connection refused")) { retryCount.incrementAndGet() delay(10000) @@ -133,6 +137,7 @@ class ProjectContextProvider(val project: Project, private val encoderServer: En private suspend fun initEncryption(): Boolean { val request = encoderServer.getEncryptionRequest() val response = sendMsgToLsp(LspMessage.Initialize, request) + logger.info { "received response to init encryption: $response"} return response?.responseCode == 200 } From 8c58fe0adb1662839d9f5942c909ddbe10f1a742 Mon Sep 17 00:00:00 2001 From: Richard Li Date: Tue, 15 Apr 2025 15:51:19 -0700 Subject: [PATCH 2/2] lint --- .../services/amazonq/project/ProjectContextProvider.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/ProjectContextProvider.kt b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/ProjectContextProvider.kt index 46d00699080..44b131616c0 100644 --- a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/ProjectContextProvider.kt +++ b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/ProjectContextProvider.kt @@ -137,7 +137,7 @@ class ProjectContextProvider(val project: Project, private val encoderServer: En private suspend fun initEncryption(): Boolean { val request = encoderServer.getEncryptionRequest() val response = sendMsgToLsp(LspMessage.Initialize, request) - logger.info { "received response to init encryption: $response"} + logger.info { "received response to init encryption: $response" } return response?.responseCode == 200 }