Skip to content

Commit f88563b

Browse files
authored
fix expire connection able to call recommendation API issue (#3881)
1 parent 540bfb9 commit f88563b

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

jetbrains-core/src/software/aws/toolkits/jetbrains/services/codewhisperer/service/CodeWhispererService.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ import software.aws.toolkits.jetbrains.services.codewhisperer.editor.CodeWhisper
4949
import software.aws.toolkits.jetbrains.services.codewhisperer.editor.CodeWhispererEditorUtil.getCaretPosition
5050
import software.aws.toolkits.jetbrains.services.codewhisperer.explorer.CodeWhispererExplorerActionManager
5151
import software.aws.toolkits.jetbrains.services.codewhisperer.explorer.isCodeWhispererEnabled
52+
import software.aws.toolkits.jetbrains.services.codewhisperer.explorer.isCodeWhispererExpired
5253
import software.aws.toolkits.jetbrains.services.codewhisperer.model.CaretPosition
5354
import software.aws.toolkits.jetbrains.services.codewhisperer.model.DetailContext
5455
import software.aws.toolkits.jetbrains.services.codewhisperer.model.FileContextInfo
@@ -91,6 +92,8 @@ class CodeWhispererService {
9192

9293
if (promptReAuth(project)) return
9394

95+
if (isCodeWhispererExpired(project)) return
96+
9497
latencyContext.credentialFetchingEnd = System.nanoTime()
9598
val psiFile = runReadAction { PsiDocumentManager.getInstance(project).getPsiFile(editor.document) }
9699

jetbrains-core/src/software/aws/toolkits/jetbrains/services/codewhisperer/util/CodeWhispererUtil.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import software.aws.toolkits.jetbrains.core.credentials.pinning.CodeWhispererCon
2121
import software.aws.toolkits.jetbrains.core.credentials.sono.isSono
2222
import software.aws.toolkits.jetbrains.core.credentials.sso.bearer.BearerTokenAuthState
2323
import software.aws.toolkits.jetbrains.core.credentials.sso.bearer.BearerTokenProvider
24+
import software.aws.toolkits.jetbrains.core.explorer.refreshDevToolTree
2425
import software.aws.toolkits.jetbrains.services.codewhisperer.actions.CodeWhispererLoginLearnMoreAction
2526
import software.aws.toolkits.jetbrains.services.codewhisperer.actions.CodeWhispererSsoLearnMoreAction
2627
import software.aws.toolkits.jetbrains.services.codewhisperer.actions.ConnectWithAwsToContinueActionError
@@ -196,12 +197,14 @@ object CodeWhispererUtil {
196197
// for example, when user performs security scan or fetch code completion for the first time
197198
// Return true if need to re-auth, false otherwise
198199
fun promptReAuth(project: Project, isPluginStarting: Boolean = false): Boolean {
199-
if (CodeWhispererService.hasReAuthPromptBeenShown()) return false
200200
if (!isCodeWhispererExpired(project)) return false
201201
val tokenProvider = tokenProvider(project) ?: return false
202202
return maybeReauthProviderIfNeeded(project, tokenProvider) {
203203
runInEdt {
204-
notifyConnectionExpiredRequestReauth(project)
204+
project.refreshDevToolTree()
205+
if (!CodeWhispererService.hasReAuthPromptBeenShown()) {
206+
notifyConnectionExpiredRequestReauth(project)
207+
}
205208
if (!isPluginStarting) {
206209
CodeWhispererService.markReAuthPromptShown()
207210
}

0 commit comments

Comments
 (0)