Skip to content

Commit f932f97

Browse files
authored
fix(auth): statusbar color; fallback to SSO connection
1 parent 6bc02a1 commit f932f97

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

src/credentials/auth.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -725,6 +725,11 @@ async function signout(auth: Auth) {
725725
}
726726
} else {
727727
await auth.logout()
728+
729+
const fallbackConn = (await auth.listConnections()).find(c => c.type === 'sso')
730+
if (fallbackConn !== undefined) {
731+
await auth.useConnection(fallbackConn)
732+
}
728733
}
729734
}
730735

src/credentials/awsCredentialsStatusBarItem.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ export async function initializeAwsCredentialsStatusBarItem(
3030

3131
context.subscriptions.push(
3232
Auth.instance.onDidChangeActiveConnection(conn => {
33-
updateCredentialsStatusBarItem(statusBarItem, conn?.label)
33+
const color = conn?.state === 'invalid' ? new vscode.ThemeColor('statusBarItem.errorBackground') : undefined
34+
updateCredentialsStatusBarItem(statusBarItem, conn?.label, color)
3435
handleDevSettings(devSettings, statusBarItem)
3536
}),
3637
devSettings.onDidChangeActiveSettings(() => handleDevSettings(devSettings, statusBarItem))
@@ -41,19 +42,18 @@ function handleDevSettings(devSettings: DevSettings, statusBarItem: vscode.Statu
4142
const developerMode = Object.keys(devSettings.activeSettings)
4243

4344
if (developerMode.length > 0) {
44-
;(statusBarItem as any).backgroundColor = new vscode.ThemeColor('statusBarItem.errorBackground')
45+
;(statusBarItem as any).backgroundColor ??= new vscode.ThemeColor('statusBarItem.warningBackground')
4546

4647
const devSettingsStr = developerMode.join(' \n')
4748
statusBarItem.tooltip = `Toolkit developer settings:\n${devSettingsStr}`
48-
} else {
49-
;(statusBarItem as any).backgroundColor = undefined
5049
}
5150
}
5251

5352
// Resolves when the status bar reaches its final state
5453
export async function updateCredentialsStatusBarItem(
5554
statusBarItem: vscode.StatusBarItem,
56-
credentialsId?: string
55+
credentialsId?: string,
56+
color?: vscode.ThemeColor
5757
): Promise<void> {
5858
const connectedMsg = localize(
5959
'AWS.credentials.statusbar.connected',
@@ -70,4 +70,5 @@ export async function updateCredentialsStatusBarItem(
7070
const company = getIdeProperties().company
7171
statusBarItem.tooltip = credentialsId ? connectedMsg : disconnectedMsg
7272
statusBarItem.text = credentialsId ? `${company}: ${credentialsId}` : company
73+
;(statusBarItem as any).backgroundColor = color
7374
}

0 commit comments

Comments
 (0)