fix: detect auth changes via polling and visibility change
All checks were successful
Build frontend / build (push) Successful in 52s

This commit is contained in:
Claw AI
2026-04-01 15:29:41 +00:00
parent 9e1f8f517b
commit 571c85f14f

View File

@ -23,11 +23,11 @@ export default function NotificationHandler() {
const initialized = useRef(false); const initialized = useRef(false);
useEffect(() => { useEffect(() => {
const timer = setTimeout(() => { function checkAuth() {
if (initialized.current) return; if (initialized.current) return;
initialized.current = true;
if (!AuthService.getToken()) return; if (!AuthService.getToken()) return;
initialized.current = true;
if ("Notification" in window) { if ("Notification" in window) {
if (Notification.permission === "default") { if (Notification.permission === "default") {
@ -36,9 +36,28 @@ export default function NotificationHandler() {
setupFCM(); setupFCM();
} }
} }
}
// Check immediately
checkAuth();
// Also check when auth token changes (login via client-side navigation)
const interval = setInterval(() => {
if (!initialized.current && AuthService.getToken()) {
checkAuth();
}
}, 1000); }, 1000);
return () => clearTimeout(timer); // Check on route change (visibility)
const onVisibility = () => {
if (document.visibilityState === "visible") checkAuth();
};
document.addEventListener("visibilitychange", onVisibility);
return () => {
clearInterval(interval);
document.removeEventListener("visibilitychange", onVisibility);
};
}, []); }, []);
async function setupFCM() { async function setupFCM() {