Phase 3 (security): - P3.1: Feature gate server-side enforcement (403 on disabled features) - P3.2: Unified auth error interceptor (401→logout) - P3.3: Store-level state isolation via StoreSnapshot contract (added message-list-tabs + task stores to snapshot/restore cycle) - P3.4: Push event bus extraction — email-store no longer imports calendar/contact/filter/file stores directly - P1.3: Auth localStorage AES-GCM encryption via custom Zustand adapter Phase 4 (polish): - P4.1: Offline write queue — pending operations in localStorage, auto-retry on reconnect, offline-queue-indicator banner - P4.2: Identity spoofing — fromOverrideEmail domain validation - P4.3: WebSocket push for Electron via main-process IPC bridge (ws package with Authorization headers)
10 lines
254 B
TypeScript
10 lines
254 B
TypeScript
import { useAuthStore } from '@/stores/auth-store';
|
|
|
|
export function handleAuthError(error: unknown): boolean {
|
|
if (error instanceof Error && error.message.includes('401')) {
|
|
useAuthStore.getState().logout();
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|