fix: resolve race conditions during impersonation handoff by reloading directly from dataService

This commit is contained in:
Cauê Faleiros
2026-03-11 15:33:38 -03:00
parent 7cb78f13c0
commit bf157687d4
3 changed files with 8 additions and 7 deletions

View File

@@ -410,6 +410,10 @@ export const impersonateTenant = async (tenantId: string): Promise<any> => {
localStorage.setItem('ctms_token', data.token);
localStorage.setItem('ctms_user_id', data.user.id);
localStorage.setItem('ctms_tenant_id', data.user.tenant_id || '');
window.location.hash = '#/';
window.location.reload();
return data;
};
@@ -434,6 +438,9 @@ export const returnToSuperAdmin = (): boolean => {
localStorage.setItem('ctms_user_id', payload.id);
localStorage.setItem('ctms_tenant_id', payload.tenant_id || 'system');
localStorage.removeItem('ctms_super_admin_token');
window.location.hash = '#/super-admin';
window.location.reload();
return true;
} catch (e) {
console.error("Failed to restore super admin token", e);