• Steven's avatar
    fix(web): use BroadcastChannel to sync token refreshes across tabs · bbdc9986
    Steven authored
    When multiple tabs are open and a token expires, each tab independently
    attempts a refresh. With server-side token rotation this causes all but
    the first tab to fail, logging the user out.
    
    Add a BroadcastChannel (memos_token_sync) so that when any tab
    successfully refreshes, it broadcasts the new token to all other tabs.
    Receiving tabs adopt the token in-memory immediately, skipping their own
    refresh request and avoiding conflicts with token rotation.
    
    Falls back gracefully when BroadcastChannel is unavailable (e.g. some
    privacy modes).
    bbdc9986
auth-state.ts 4.47 KB