Skip to content

Gate: explicit "End shift" button (clears scanner session server-side)#1072

Merged
peterdrier merged 1 commit into
peterdrier:mainfrom
veryaaron:fix/gate-end-shift
Jul 1, 2026
Merged

Gate: explicit "End shift" button (clears scanner session server-side)#1072
peterdrier merged 1 commit into
peterdrier:mainfrom
veryaaron:fix/gate-end-shift

Conversation

@veryaaron

Copy link
Copy Markdown

Replaces the gate scanning screen's faint "Change" text-link with an explicit two-tap "End shift" button.

Why

"Change" only navigated to the claim screen — it did not clear the per-person scanner session. Since the session lives ~8h, a volunteer who walked away left the next person's scans attributed to whoever last claimed. It also read as "I picked the wrong name", not "I'm done — next person".

What

  • New GateController.EndShift ([HttpPost], GateAdmit, antiforgery) clears the scanner session server-side, then returns to "Who is scanning?".
  • The topbar control is now a clear bordered button (not a faint link), keeping the deliberate two-tap guard ("Tap again to end shift").
  • Fixes a latent bug: after ending, revisiting /Gate now correctly lands on the claim screen with no lingering attribution.

Verification

Build clean · gate tests green · dotnet format clean · live-verified end-to-end on the tablet viewport (two-tap arm, POST, session cleared, /Gate → claim). Peer-reviewed (no blockers). docs/sections/Gate.md invariant updated.

Not for merge without your review.

🤖 Generated with Claude Code

…utton

End shift POSTs GateController.EndShift to clear the scanner session
server-side and return to the claim screen, so a walk-away can't leave
the next person's scans attributed to whoever last claimed (the old
"Change" link only navigated away, leaving the ~8h session intact).
Live-verified end-to-end; docs/sections/Gate.md invariant updated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@peterdrier peterdrier merged commit 1fc0f47 into peterdrier:main Jul 1, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants