You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
π Guard soft-refresh navigation and signout raceΒ #4459
What β Right after creating an organization a user can be bounced back to the "no workspace" wall; and a late-resolving refresh can un-logout a user who just signed out. Why β A soft-refresh action that never throws is followed by unconditional navigation / has no in-flight guard against signout.
src/modules/auth/stores/auth.store.jssignout() (~L287): no generation/in-flight guard shared with token()/refreshAbilities(). A token() dispatched before a concurrent signout() can resolve after it and re-populate auth=true/user/localStorage. Reachable from organizations.required.view.vue (Check-status + Sign-out on one screen).
Fix: guard the org-create navigation on authStore.user?.currentOrganization (mirror the sibling views); add an in-flight/generation guard so a soft-refresh continuation cannot write auth state after signout(). Tests: org-create failure path stays on page; signout wins the race.
Refs: internal audit cycle-1 2026-07-16 (H2 + M4); follows #4431/#4451.
Created via /dev:issue
Activity
PierreBrisorgueil commentedon Jul 16, 2026
WIP β claimed by autonomous agent at 2026-07-16 20:51:53 UTC
fix(organizations): prevent duplicate org creation on pending-refreshβ¦
fix(auth,organizations): guard soft-refresh navigation and the signouβ¦
chore(release): 2.3.0
fix(auth): guard fetchServerConfig against a concurrent signout race
fix(auth): signout resets serverConfig to null (#4541)
fix(users): guard email-preference save against a shared-device user β¦
feat(users): email preference switches on account page (#4709)