Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type" : "bugfix",
"description" : "Fix an IDE deadlock that may occur while attempting to initialize Amazon Q UI elements (#4966)"
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import com.intellij.util.Consumer
import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnection
import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManagerListener
import software.aws.toolkits.jetbrains.core.credentials.profiles.ProfileWatcher
import software.aws.toolkits.jetbrains.core.credentials.sso.bearer.BearerTokenProviderListener
import software.aws.toolkits.jetbrains.services.amazonq.gettingstarted.QActionGroups.Q_SIGNED_OUT_ACTION_GROUP
import software.aws.toolkits.jetbrains.services.codewhisperer.customization.CodeWhispererCustomizationListener
Expand Down Expand Up @@ -104,11 +105,16 @@
)
}

override fun getSelectedValue(): String = CodeWhispererModelConfigurator.getInstance().activeCustomization(project).let {
if (it == null) {
message("codewhisperer.statusbar.display_name")
} else {
"${message("codewhisperer.statusbar.display_name")} | ${it.name}"
override fun getSelectedValue(): String {
// HACK: Force ProfileWatcher to load under EDT so that ToolkitConnectionManager#activeConnectionForFeature does not deadlock while ProfileWatcher#<init>
// is waiting for VFS events to propagate on EDT
ProfileWatcher.getInstance()
return CodeWhispererModelConfigurator.getInstance().activeCustomization(project).let {

Check warning on line 112 in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/status/CodeWhispererStatusBarWidget.kt

View check run for this annotation

Codecov / codecov/patch

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/status/CodeWhispererStatusBarWidget.kt#L111-L112

Added lines #L111 - L112 were not covered by tests
if (it == null) {
message("codewhisperer.statusbar.display_name")

Check warning on line 114 in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/status/CodeWhispererStatusBarWidget.kt

View check run for this annotation

Codecov / codecov/patch

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/status/CodeWhispererStatusBarWidget.kt#L114

Added line #L114 was not covered by tests
} else {
"${message("codewhisperer.statusbar.display_name")} | ${it.name}"
}

Check warning on line 117 in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/status/CodeWhispererStatusBarWidget.kt

View check run for this annotation

Codecov / codecov/patch

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/status/CodeWhispererStatusBarWidget.kt#L116-L117

Added lines #L116 - L117 were not covered by tests
}
}

Expand Down
Loading