fix: prevent vendor redirect to /tenant on hard refresh
All checks were successful
CI / build (push) Successful in 1m6s
CI / docker (push) Successful in 42s

RequireScope and LandingRedirect now wait for scopesReady flag before
evaluating, preventing the race where org-scoped tokens load before
global tokens and the vendor gets incorrectly redirected.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-10 19:16:46 +02:00
parent 22752ffcb1
commit a3a6f99958
3 changed files with 10 additions and 6 deletions

View File

@@ -1,4 +1,5 @@
import { useScopes } from '../auth/useScopes';
import { useOrgStore } from '../auth/useOrganization';
interface Props {
scope: string;
@@ -8,6 +9,8 @@ interface Props {
export function RequireScope({ scope, children, fallback }: Props) {
const scopes = useScopes();
const scopesReady = useOrgStore((s) => s.scopesReady);
if (!scopesReady) return null; // Still loading — don't redirect yet
if (!scopes.has(scope)) return fallback ? <>{fallback}</> : null;
return <>{children}</>;
}