From fc5606cc3a9fdfeaf18c747de045fefa29b59602 Mon Sep 17 00:00:00 2001 From: Aditya Mitra <61635505+uinstinct@users.noreply.github.com> Date: Thu, 27 Nov 2025 15:14:55 +0530 Subject: [PATCH] feat: select org profile on sign in (#8859) * feat: select org profile on sign in * reset inside cascade init * reset only when personl --- core/config/ConfigHandler.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/core/config/ConfigHandler.ts b/core/config/ConfigHandler.ts index 545c73723..134f79d4e 100644 --- a/core/config/ConfigHandler.ts +++ b/core/config/ConfigHandler.ts @@ -100,7 +100,7 @@ export class ConfigHandler { return `${workspaceId}:::${orgId}`; } - private async cascadeInit(reason: string) { + private async cascadeInit(reason: string, isLogin?: boolean) { const signal = this.cascadeAbortController.signal; this.workspaceDirs = null; // forces workspace dirs reload @@ -118,7 +118,12 @@ export class ConfigHandler { const workspaceId = await this.getWorkspaceId(); const selectedOrgs = this.globalContext.get("lastSelectedOrgIdForWorkspace") ?? {}; - const currentSelection = selectedOrgs[workspaceId]; + let currentSelection = selectedOrgs[workspaceId]; + + // reset personal org to first available non-personal org on login + if (isLogin && currentSelection === "personal") { + currentSelection = null; + } const firstNonPersonal = orgs.find( (org) => org.id !== this.PERSONAL_ORG_DESC.id, @@ -402,6 +407,7 @@ export class ConfigHandler { const newSession = sessionInfo; let reload = false; + let isLogin = false; if (newSession) { if (currentSession) { if ( @@ -416,6 +422,7 @@ export class ConfigHandler { } else { // log in reload = true; + isLogin = true; } } else { if (currentSession) { @@ -430,7 +437,7 @@ export class ConfigHandler { this.ide, ); this.abortCascade(); - await this.cascadeInit("Control plane session info update"); + await this.cascadeInit("Control plane session info update", isLogin); } return reload; }