Skip to content

Commit 2c7d3fc

Browse files
committed
Merge branch 'main' into regionExpansion_fixlaunch_api
# Conflicts: # plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/customization/CodeWhispererModelConfigurator.kt
2 parents a9de9d6 + 6947870 commit 2c7d3fc

File tree

5 files changed

+18
-6
lines changed

5 files changed

+18
-6
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "bugfix",
3+
"description" : "Q panel will get stuck while signin if users have multiple windows"
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" : "Fix infinite loop when workspace indexing server fails to initialize"
4+
}

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/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/customization/CodeWhispererModelConfigurator.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@ import com.intellij.openapi.project.Project
1717
import com.intellij.util.concurrency.annotations.RequiresBackgroundThread
1818
import com.intellij.util.xmlb.annotations.MapAnnotation
1919
import com.intellij.util.xmlb.annotations.Property
20-
import software.amazon.awssdk.services.codewhispererruntime.CodeWhispererRuntimeClient
2120
import software.amazon.awssdk.services.codewhispererruntime.model.CodeWhispererRuntimeException
22-
import software.amazon.awssdk.services.codewhispererruntime.model.ListAvailableCustomizationsRequest
2321
import software.aws.toolkits.core.utils.debug
2422
import software.aws.toolkits.core.utils.getLogger
2523
import software.aws.toolkits.core.utils.tryOrNull

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/ProjectContextProvider.kt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,14 @@ class ProjectContextProvider(val project: Project, private val encoderServer: En
116116
logger.info { "project context index starting" }
117117
delay(300)
118118
val isIndexSuccess = index()
119-
if (isIndexSuccess) isIndexComplete.set(true)
119+
if (isIndexSuccess) {
120+
isIndexComplete.set(true)
121+
}
120122
return
121123
}
124+
retryCount.incrementAndGet()
122125
} catch (e: Exception) {
126+
logger.warn(e) { "failed to init project context" }
123127
if (e.stackTraceToString().contains("Connection refused")) {
124128
retryCount.incrementAndGet()
125129
delay(10000)
@@ -133,6 +137,7 @@ class ProjectContextProvider(val project: Project, private val encoderServer: En
133137
private suspend fun initEncryption(): Boolean {
134138
val request = encoderServer.getEncryptionRequest()
135139
val response = sendMsgToLsp(LspMessage.Initialize, request)
140+
logger.info { "received response to init encryption: $response" }
136141
return response?.responseCode == 200
137142
}
138143

@@ -315,12 +320,12 @@ class ProjectContextProvider(val project: Project, private val encoderServer: En
315320
}
316321

317322
private suspend fun sendMsgToLsp(msgType: LspMessage, request: String?): LspResponse? {
318-
logger.info { "sending message: ${msgType.endpoint} to lsp on port ${encoderServer.port}" }
319-
val url = URI("http://127.0.0.1:${encoderServer.port}/${msgType.endpoint}").toURL()
320323
if (!encoderServer.isNodeProcessRunning()) {
321324
logger.warn { "language server for ${project.name} is not running" }
322325
return null
323326
}
327+
logger.info { "sending message: ${msgType.endpoint} to lsp on port ${encoderServer.port}" }
328+
val url = URI("http://127.0.0.1:${encoderServer.port}/${msgType.endpoint}").toURL()
324329
// use 1h as timeout for index, 5 seconds for other APIs
325330
val timeoutMs = if (msgType is LspMessage.Index) 60.minutes.inWholeMilliseconds.toInt() else 5000
326331
// dedicate single thread to index operation because it can be long running

0 commit comments

Comments
 (0)