Skip to content

Commit 75b064f

Browse files
authored
fix(codewhisperer): await globalState.update() #2759
1 parent dfc197f commit 75b064f

File tree

3 files changed

+20
-16
lines changed

3 files changed

+20
-16
lines changed

src/codewhisperer/activation.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ export async function activate(context: ExtContext): Promise<void> {
9090
if (configurationChangeEvent.affectsConfiguration('aws.experiments')) {
9191
const codewhispererEnabled = await codewhispererSettings.isEnabled()
9292
if (!codewhispererEnabled) {
93-
set(CodeWhispererConstants.termsAcceptedKey, false, context)
94-
set(CodeWhispererConstants.autoTriggerEnabledKey, false, context)
93+
await set(CodeWhispererConstants.termsAcceptedKey, false, context)
94+
await set(CodeWhispererConstants.autoTriggerEnabledKey, false, context)
9595
if (!isCloud9()) {
9696
InlineCompletion.instance.hideCodeWhispererStatusBar()
9797
}
@@ -106,15 +106,15 @@ export async function activate(context: ExtContext): Promise<void> {
106106
* Accept terms of service
107107
*/
108108
Commands.register('aws.codeWhisperer.acceptTermsOfService', async () => {
109-
set(CodeWhispererConstants.autoTriggerEnabledKey, true, context)
110-
set(CodeWhispererConstants.termsAcceptedKey, true, context)
109+
await set(CodeWhispererConstants.autoTriggerEnabledKey, true, context)
110+
await set(CodeWhispererConstants.termsAcceptedKey, true, context)
111111
await vscode.commands.executeCommand('setContext', CodeWhispererConstants.termsAcceptedKey, true)
112112
await vscode.commands.executeCommand('aws.codeWhisperer.refresh')
113113

114114
const isShow = get(CodeWhispererConstants.welcomeMessageKey, context)
115115
if (!isShow) {
116116
showCodeWhispererWelcomeMessage()
117-
set(CodeWhispererConstants.welcomeMessageKey, true, context)
117+
await set(CodeWhispererConstants.welcomeMessageKey, true, context)
118118
}
119119

120120
if (!isCloud9()) {
@@ -125,7 +125,7 @@ export async function activate(context: ExtContext): Promise<void> {
125125
* Cancel terms of service
126126
*/
127127
Commands.register('aws.codeWhisperer.cancelTermsOfService', async () => {
128-
set(CodeWhispererConstants.autoTriggerEnabledKey, false, context)
128+
await set(CodeWhispererConstants.autoTriggerEnabledKey, false, context)
129129
await vscode.commands.executeCommand('aws.codeWhisperer.refresh')
130130
}),
131131
/**

src/codewhisperer/commands/basicCommands.ts

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export const toggleCodeSuggestions = Commands.declare(
2222
'aws.codeWhisperer.toggleCodeSuggestion',
2323
(context: ExtContext) => async () => {
2424
const autoTriggerEnabled: boolean = get(CodeWhispererConstants.autoTriggerEnabledKey, context) || false
25-
set(CodeWhispererConstants.autoTriggerEnabledKey, !autoTriggerEnabled, context)
25+
await set(CodeWhispererConstants.autoTriggerEnabledKey, !autoTriggerEnabled, context)
2626
await vscode.commands.executeCommand('aws.codeWhisperer.refresh')
2727
}
2828
)
@@ -45,7 +45,11 @@ export const enterAccessToken = Commands.declare(
4545
'aws.codeWhisperer.enterAccessToken',
4646
(context: ExtContext, client: DefaultCodeWhispererClient) => async () => {
4747
const setToken = async (token: string) => {
48-
set(CodeWhispererConstants.accessToken, token, context)
48+
try {
49+
await context.extensionContext.globalState.update(CodeWhispererConstants.accessToken, token)
50+
} catch (error) {
51+
getLogger().error(`Failed to save access token: ${error}`)
52+
}
4953
await vscode.commands.executeCommand('aws.codeWhisperer.refresh')
5054
await vscode.commands.executeCommand('aws.codeWhisperer.enableCodeSuggestions')
5155
}
@@ -66,10 +70,10 @@ export const requestAccessCloud9 = Commands.declare(
6670
try {
6771
await vscode.commands.executeCommand('cloud9.codeWhispererRequestAccess')
6872
showTimedMessage(CodeWhispererConstants.cloud9AccessSent, 3000)
69-
set(CodeWhispererConstants.cloud9AccessStateKey, Cloud9AccessState.RequestedAccess, context)
73+
await set(CodeWhispererConstants.cloud9AccessStateKey, Cloud9AccessState.RequestedAccess, context)
7074
} catch (e) {
7175
getLogger().error(`Encountered error when requesting cloud9 access ${e}`)
72-
set(CodeWhispererConstants.cloud9AccessStateKey, Cloud9AccessState.NoAccess, context)
76+
await set(CodeWhispererConstants.cloud9AccessStateKey, Cloud9AccessState.NoAccess, context)
7377
}
7478
}
7579
}
@@ -109,7 +113,7 @@ export const updateCloud9TreeNodes = Commands.declare(
109113
for (let i = 0; i < 3; i++) {
110114
const result = await testApiCall()
111115
if (result) {
112-
context.extensionContext.globalState.update(
116+
await context.extensionContext.globalState.update(
113117
CodeWhispererConstants.cloud9AccessStateKey,
114118
Cloud9AccessState.HasAccess
115119
)
@@ -119,14 +123,14 @@ export const updateCloud9TreeNodes = Commands.declare(
119123
sleep(1000)
120124
}
121125
if (state !== Cloud9AccessState.RequestedAccess) {
122-
context.extensionContext.globalState.update(
126+
await context.extensionContext.globalState.update(
123127
CodeWhispererConstants.cloud9AccessStateKey,
124128
Cloud9AccessState.NoAccess
125129
)
126130
}
127131
} catch (e) {
128132
getLogger().error(`Error when updateCloud9TreeNodes ${e}`)
129-
context.extensionContext.globalState.update(
133+
await context.extensionContext.globalState.update(
130134
CodeWhispererConstants.cloud9AccessStateKey,
131135
Cloud9AccessState.NoAccess
132136
)
@@ -163,8 +167,8 @@ export function get(key: string, context: ExtContext): any {
163167
return context.extensionContext.globalState.get(key)
164168
}
165169

166-
export function set(key: string, value: any, context: ExtContext): void {
167-
context.extensionContext.globalState.update(key, value).then(
170+
export async function set(key: string, value: any, context: ExtContext): Promise<void> {
171+
await context.extensionContext.globalState.update(key, value).then(
168172
() => {},
169173
error => {
170174
getLogger().verbose(`Failed to update global state: ${error}`)

src/codewhisperer/util/invalidateToken.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ import globals from '../../shared/extensionGlobals'
88
import { CodeWhispererConstants } from '../models/constants'
99

1010
export const invalidateAccessToken = async () => {
11-
globals.context.globalState.update(CodeWhispererConstants.accessToken, undefined)
11+
await globals.context.globalState.update(CodeWhispererConstants.accessToken, undefined)
1212
await vscode.commands.executeCommand('aws.codeWhisperer.refresh')
1313
}

0 commit comments

Comments
 (0)