File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -100,12 +100,15 @@ function PermissionWatcher() {
100100 if ( ! isAuthenticated || ! flagReady ) return ;
101101 if ( userProfile === null || userProfile === undefined ) return ; // Wait for profile to load
102102 if ( isInitialLogin ) return ; // Skip mid-session checks during initial login
103+ // Don't trigger when permissions haven't been loaded yet (e.g. on /bmdashboard/login before profile fetch)
104+ if ( userProfile ?. permissions === undefined || userProfile ?. permissions === null ) return ;
103105
104106 // User permissions changed when logged in → start timer
105107 // Detected by: permissions were acknowledged (or was null/true), then became unacknowledged
106108 // AND user was already logged in (not initial login)
109+ // Use isAcknowledged === false to avoid treating undefined (profile not loaded) as unacknowledged
107110 const permissionsChangedMidSession =
108- ! isAcknowledged && ! forceLogoutAt && initialAcknowledgedState !== false ; // Was acknowledged or null before (not explicitly false)
111+ isAcknowledged === false && ! forceLogoutAt && initialAcknowledgedState !== false ; // Was acknowledged or null before (not explicitly false)
109112
110113 if ( permissionsChangedMidSession ) {
111114 dispatch ( startForceLogout ( 20000 ) ) ;
You can’t perform that action at this time.
0 commit comments