feat: improve PWA auth robustness and session management
This commit is contained in:
@@ -24,23 +24,28 @@ export default function Home() {
|
||||
// Check session
|
||||
const checkUser = async () => {
|
||||
try {
|
||||
// Proactively get session - this will trigger a refresh if needed
|
||||
const { data: { session }, error } = await supabase.auth.getSession();
|
||||
console.log('[Auth] Initial session check:', {
|
||||
hasSession: !!session,
|
||||
userId: session?.user?.id,
|
||||
email: session?.user?.email,
|
||||
error: error?.message
|
||||
});
|
||||
|
||||
if (session) {
|
||||
console.log('[Auth] Valid session found:', {
|
||||
userId: session.user.id,
|
||||
expiry: new Date(session.expires_at! * 1000).toLocaleString()
|
||||
});
|
||||
} else {
|
||||
console.log('[Auth] No active session found.');
|
||||
}
|
||||
|
||||
if (error) {
|
||||
console.error('[Auth] Session retrieval error:', error);
|
||||
console.error('[Auth] Session check error:', error);
|
||||
}
|
||||
|
||||
setUser(session?.user ?? null);
|
||||
if (session?.user) {
|
||||
fetchCollection();
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('[Auth] Fatal error checking user:', err);
|
||||
console.error('[Auth] Unexpected error during session check:', err);
|
||||
setUser(null);
|
||||
} finally {
|
||||
setIsLoading(false);
|
||||
|
||||
@@ -10,6 +10,21 @@ export default function PWARegistration() {
|
||||
.register('/sw.js')
|
||||
.then((registration) => {
|
||||
console.log('SW registered: ', registration);
|
||||
|
||||
// Check for updates
|
||||
registration.onupdatefound = () => {
|
||||
const installingWorker = registration.installing;
|
||||
if (installingWorker == null) return;
|
||||
installingWorker.onstatechange = () => {
|
||||
if (installingWorker.state === 'installed') {
|
||||
if (navigator.serviceWorker.controller) {
|
||||
console.log('[SW] New content is available; please refresh.');
|
||||
} else {
|
||||
console.log('[SW] Content is cached for offline use.');
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
})
|
||||
.catch((registrationError) => {
|
||||
console.log('SW registration failed: ', registrationError);
|
||||
|
||||
Reference in New Issue
Block a user