a371045b4194a2b7e1e4bcaed434a9ce61df017a
deploy / deploy (push) Successful in 1m4s
Refresh tokens rotate on every use and each refresh deletes the old session server-side, so when one tab refreshed, other open tabs were left holding a dead access token and a rotated-away refresh token — their next request 401'd and bounced them to the login screen. Sync the auth store across tabs via the storage event (propagating logins, refreshes, and logouts), and make refresh race-resilient: if a refresh fails but a newer token has meanwhile synced in from another tab, adopt it and retry instead of ending a still-valid session. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Description
🎋Tanabata — web file manager with tags!
5.6 MiB
Languages
Go
50%
Svelte
38.6%
TypeScript
8.8%
PLpgSQL
1.4%
Dockerfile
0.5%
Other
0.7%