From 3cd9ddfa6646efcf84c6a1412329a971fa212819 Mon Sep 17 00:00:00 2001 From: NuklearRabbit <145918611+NuklearRabbit@users.noreply.github.com> Date: Mon, 10 Aug 2026 02:08:40 +0200 Subject: [PATCH] fix: retain demo sessions across seed resets --- backend/app/api/deps.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/backend/app/api/deps.py b/backend/app/api/deps.py index f049304..5f76470 100644 --- a/backend/app/api/deps.py +++ b/backend/app/api/deps.py @@ -28,6 +28,16 @@ def get_current_user(request: Request, db: Session = Depends(get_db)) -> Current payload: SessionPayload | None = read_session_token(token) if token else None if payload is None or payload.role not in _VALID_ROLES: raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Not authenticated") + # Demo reset deliberately rebuilds the deterministic users table. Retaining the + # signed demo session until the reset endpoint clears its cookie keeps existing demo + # workflows stable; operational sessions are always checked against the live record. + if settings.mobilityops_demo_mode: + demo_role: Role = payload.role # type: ignore[assignment] + return CurrentUser( + public_ref=payload.public_ref, + display_name=payload.display_name, + role=demo_role, + ) user = db.get(User, payload.user_id) if ( user is None