Skip to content

Commit a7b79f6

Browse files
Merge main into feature/q-lsp-chat
2 parents f8f92c4 + f8bdd3f commit a7b79f6

File tree

2 files changed

+27
-5
lines changed
  • plugins/amazonq
    • chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow
    • shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile

2 files changed

+27
-5
lines changed

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,9 @@ class AmazonQToolWindow private constructor(
9494
appConnections.clear()
9595
prepareBrowser()
9696

97-
ApplicationManager.getApplication().messageBus.syncPublisher(LafManagerListener.TOPIC).lookAndFeelChanged(LafManager.getInstance())
97+
runInEdt {
98+
ApplicationManager.getApplication().messageBus.syncPublisher(LafManagerListener.TOPIC).lookAndFeelChanged(LafManager.getInstance())
99+
}
98100
}
99101

100102
private fun sendMessage(message: AmazonQMessage, tabType: String) {

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QProfileResources.kt

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@
33

44
package software.aws.toolkits.jetbrains.services.amazonq.profile
55

6+
import software.amazon.awssdk.awscore.exception.AwsServiceException
67
import software.amazon.awssdk.services.codewhispererruntime.CodeWhispererRuntimeClient
78
import software.aws.toolkits.core.ClientConnectionSettings
9+
import software.aws.toolkits.core.utils.debug
10+
import software.aws.toolkits.core.utils.getLogger
11+
import software.aws.toolkits.core.utils.warn
812
import software.aws.toolkits.jetbrains.core.AwsClientManager
913
import software.aws.toolkits.jetbrains.core.Resource
1014
import software.aws.toolkits.jetbrains.core.region.AwsRegionProvider
@@ -25,15 +29,31 @@ object QProfileResources {
2529
val awsRegion = AwsRegionProvider.getInstance()[regionKey] ?: return@flatMap emptyList()
2630
val client = AwsClientManager
2731
.getInstance()
28-
.getClient(CodeWhispererRuntimeClient::class, connectionSettings.withRegion(awsRegion))
32+
.getClient<CodeWhispererRuntimeClient>(connectionSettings.withRegion(awsRegion))
2933

30-
client.listAvailableProfilesPaginator {}
31-
.profiles()
32-
.map { p -> QRegionProfile(arn = p.arn(), profileName = p.profileName() ?: "<no name>") }
34+
try {
35+
val profiles = client.listAvailableProfilesPaginator {}
36+
.profiles()
37+
.map { p -> QRegionProfile(arn = p.arn(), profileName = p.profileName() ?: "<no name>") }
38+
LOG.debug { "Found profiles for region $regionKey : $profiles" }
39+
40+
profiles
41+
} catch (e: Exception) {
42+
LOG.warn(e) { "Failed to list Q profiles for region $regionKey" }
43+
44+
// service has low TPS so only suppress if not a service error
45+
if (e is AwsServiceException) {
46+
throw e
47+
}
48+
49+
emptyList()
50+
}
3351
}
3452
return mappedProfiles
3553
}
3654

3755
override fun expiry(): Duration = Duration.ofSeconds(60)
3856
}
57+
58+
private val LOG = getLogger<QProfileResources>()
3959
}

0 commit comments

Comments
 (0)