Promote to UAT: GRO-2094 React bootstrap error instrumentation (#45)
Co-authored-by: The Dogfather <20+gb_dogfather@noreply.git.farh.net> Co-committed-by: The Dogfather <20+gb_dogfather@noreply.git.farh.net>
This commit was merged in pull request #45.
This commit is contained in:
@@ -241,13 +241,31 @@ export function CustomerPortal() {
|
||||
|
||||
const avatarInitials = (clientName.split(" ")[0] || "G").charAt(0).toUpperCase();
|
||||
|
||||
// Show a loading state while the SSO bridge is in progress. The portal chrome
|
||||
// and its sections (e.g. Dashboard) assume a session is established and run
|
||||
// their own auth guards — rendering them before the bridge resolves triggers
|
||||
// a redirect to /login from `Dashboard.tsx`'s `!sessionId` check, breaking the
|
||||
// post-sign-in flow. Once `initComplete` is true we know whether a session was
|
||||
// established and can render the correct branch. See GRO-2099.
|
||||
if (!initComplete) {
|
||||
return (
|
||||
<div
|
||||
className="min-h-screen flex items-center justify-center bg-[#faf8f5]"
|
||||
role="status"
|
||||
aria-live="polite"
|
||||
>
|
||||
<div className="text-stone-500 text-sm">Loading…</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
// After init completes, redirect unauthenticated users to /login and staff to /admin.
|
||||
// The portal chrome must NEVER be visible to users without a valid client session.
|
||||
// For client dev users, we stay on the portal even if session is null — the dev-session
|
||||
// response may not have id set immediately, or there may be timing issues with the
|
||||
// session state. Dev users are verified via localStorage and the dev-session flow.
|
||||
// SSO customers are recognised by portalSessionId (set by the Better Auth bridge).
|
||||
if (initComplete && !session && !portalSessionId) {
|
||||
if (!session && !portalSessionId) {
|
||||
if (authError) {
|
||||
// GRO-1867: graceful 404 fallback — authenticated user has no client row.
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user