fix(auth): pin each tab to its account so cross-tab changes don't leak in
A tab that never explicitly picked an account rode the session's default, so when ANOTHER tab changed that default (adding or switching an account), this tab silently swapped identity on its next refetch — the account chip updated while the feed/saved-views lagged until reload. - Pin every tab to whatever account it first loaded as (write the sessionStorage override on load when none is set), so its requests always carry its own account header and cross-tab default changes can't reach it. - 'Add account' now clears this tab's pin before the Google redirect, so on return the tab adopts the freshly-added account (and pins that) — the current tab switches to it while other tabs keep their own, matching the Gmail add-account model.
This commit is contained in:
parent
5cd807ec51
commit
f32c3f08dc
2 changed files with 21 additions and 1 deletions
|
|
@ -402,6 +402,10 @@ export default function NavSidebar({
|
|||
<div className="mt-2 pt-2 border-t border-border flex flex-col">
|
||||
<button
|
||||
onClick={() => {
|
||||
// Adding an account switches THIS tab to it: drop the tab's pin so that on
|
||||
// return from Google it adopts the freshly-added account (the new default)
|
||||
// and pins that. Other tabs keep their own pinned account.
|
||||
clearActiveAccount();
|
||||
window.location.href = "/auth/login";
|
||||
}}
|
||||
className="w-full flex items-center gap-2 text-sm px-2 py-2 rounded-lg text-muted hover:text-fg hover:bg-card transition"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue