Skip to content

Commit dc82572

Browse files
authored
fix(amazonq): Switch profiles if not selected in Q chat (#5724)
* Switch profiles if not selected * fix screen rendereing error * changed name * feedback * disposed * detekt
1 parent 47046c3 commit dc82572

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-7
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import com.intellij.openapi.project.DumbAwareAction
1111
import com.intellij.util.messages.Topic
1212
import software.aws.toolkits.jetbrains.services.amazonq.toolwindow.AmazonQToolWindow
1313
import software.aws.toolkits.resources.AmazonQBundle
14-
import software.aws.toolkits.resources.message
1514
import java.util.EventListener
1615

1716
class QRefreshPanelAction : DumbAwareAction(AmazonQBundle.message("amazonq.refresh.panel"), null, AllIcons.Actions.Refresh) {

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ class AmazonQToolWindow private constructor(
2424

2525
val component
2626
get() = chatPanel.component
27-
2827
fun disposeAndRecreate() {
2928
Disposer.dispose(chatPanel)
3029
chatPanel = AmazonQPanel(project, scope)

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/flareChat/ChatCommunicationManager.kt

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_
2525
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ErrorParams
2626
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.GetSerializedChatResult
2727
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.SEND_CHAT_COMMAND_PROMPT
28+
import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfileDialog
2829
import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfileManager
2930
import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfileSelectedListener
3031
import java.util.UUID
@@ -140,19 +141,28 @@ class ChatCommunicationManager(private val cs: CoroutineScope) {
140141
val incomingType = params.authFollowupType
141142
val connectionManager = ToolkitConnectionManager.getInstance(project)
142143
try {
143-
connectionManager.activeConnectionForFeature(QConnection.getInstance())?.let {
144-
reauthConnectionIfNeeded(project, it, isReAuth = true)
145-
}
146144
when (incomingType) {
147145
AuthFollowupType.USE_SUPPORTED_AUTH -> {
148-
project.messageBus.syncPublisher(QRegionProfileSelectedListener.TOPIC)
149-
.onProfileSelected(project, QRegionProfileManager.getInstance().activeProfile(project))
146+
val activeProfile = QRegionProfileManager.getInstance().activeProfile(project)
147+
if (activeProfile != null) {
148+
project.messageBus.syncPublisher(QRegionProfileSelectedListener.TOPIC)
149+
.onProfileSelected(project, QRegionProfileManager.getInstance().activeProfile(project))
150+
} else {
151+
QRegionProfileDialog(
152+
project,
153+
selectedProfile = null
154+
).show()
155+
}
156+
150157
return
151158
}
152159
AuthFollowupType.RE_AUTH,
153160
AuthFollowupType.MISSING_SCOPES,
154161
AuthFollowupType.FULL_AUTH,
155162
-> {
163+
connectionManager.activeConnectionForFeature(QConnection.getInstance())?.let {
164+
reauthConnectionIfNeeded(project, it, isReAuth = true)
165+
}
156166
return
157167
}
158168
else -> {

0 commit comments

Comments
 (0)