The Midnight Pass · Session Timeout

An expiring session, no backend required: check in, watch the countdown, renew — or let it lapse and get flashed out at midnight.

Your pass is valid for thirty seconds. Renew before midnight or turn back into a tester.

Session Timeout is a medium Network & Auth challenge on Fun UI Playground. An expiring session, no backend required: check in, watch the countdown, renew — or let it lapse and get flashed out at midnight. It runs entirely in the browser, with no backend. Every interactive element carries a stable id and data-testid prefixed with “session-timeout-”, and the techniques it exercises are expiring sessions, countdown waits, sessionStorage state, timeout assertions.

At a glance

Category
Network & Auth
Difficulty
medium
Teaches
expiring sessions · countdown waits · sessionStorage state · timeout assertions
Backend
None — runs entirely in the browser
Locators
Stable id and data-testid, prefixed session-timeout-

Selectors on this page

LocatorWhat it is
#session-timeout-checkin #session-timeout-renewCheck in: #session-timeout-checkin · renew while valid: #session-timeout-renew
#session-timeout-statusLive status in #session-timeout-status ("Pass valid — Ns until midnight." / "Pass expired…")
[data-testid="flash"]Expiry fires the site-wide flash [data-testid="flash"] with .flash-error, exactly once

Frequently asked questions

How do I test a session that expires?

Check in with #session-timeout-checkin, then either renew via #session-timeout-renew while #session-timeout-status still counts down, or wait it out and assert the .flash-error in [data-testid="flash"] that fires exactly once at expiry. ?delay=3000 gives you a three-second session.

Does the session survive a page reload?

Within the tab, yes: the pass lives in sessionStorage under funui-midnight-pass, so a reload keeps counting down and closing the tab ends it. No backend is involved in this challenge.

More Network & Auth

Updated

Fun UI Playground — all challenges, bug hunts, getting started, glossary, about.