diff --git a/frontend/src/hooks.server.ts b/frontend/src/hooks.server.ts index c8f4ec3..18c3d63 100644 --- a/frontend/src/hooks.server.ts +++ b/frontend/src/hooks.server.ts @@ -7,6 +7,7 @@ import { setSessionCookie, clearSessionCookie, setChildSessionCookie, + setActiveChild, clearActiveChild, PLATFORM_SESSION_COOKIE, clearPlatformSession @@ -81,6 +82,11 @@ export const handle: Handle = async ({ event, resolve }) => { if (freshToken !== childToken) { setChildSessionCookie(event.cookies, activeId, freshToken); } + // Sliding expiry: pb_active has the same 5-day maxAge as the + // token cookies but was previously never re-set, so it aged + // out 5 days after join/switch despite daily use. Re-set it + // on every authenticated request to keep it alive. + setActiveChild(event.cookies, activeId); return resolve(event); } } catch {