Created
Jun 26, 06:55
Started
Jun 26, 06:55
Completed
Jun 26, 08:03
DevOps handoff
Type
Bug
Shape
ui+db
Worktree Slug
fix-off-board-auth-modal
Repositories
turf-monster
Release Train
—
Branch
feat/fix-off-board-auth-modal
Pull Request
https://github.com/amcritchie/turf-monster/pull/168Acceptance Criteria
Expected Test Plan
Checks Run
Agent Context
Root cause: app/views/modals/_auth.html.erb Google (@click $dispatch('auth-google-click')) and email (@submit $dispatch('auth-magic-link-submit')) only act if the contest board (_turf_totals_board.html.erb:1600-1602 — @auth-google-click.window / @auth-magic-link-submit.window on x-data=selectionBoard()) is mounted to catch the events. Navbar 'Sign in' (_navbar.html.erb:101-102) opens this modal on EVERY page, so on non-board surfaces (homepage w/o active contest, /contests index, /account, completed contests) both buttons are silently dead — no console errors, hover works, click does nothing. Reproduced on prod AND local (works on active-board page; dead on /contests). Solana is unaffected because openWalletHub() already has a handled-flag fallback. Regressed in PR #93 (2026-06-04) when navbar 'Sign in' switched from a /signin link to opening the board-coupled modal. FIX: give modal Google+email a no-board fallback mirroring Solana — dispatch carries detail.handled; the board sets handled=true; if still unhandled, run directly in the modal (open /auth/google_popup popup for Google; window.postMagicLink + advance to 'magic-link-sent' for email), matching the already-working /signin auth card.
Stage Timeline
Who handled each stage, the time it took (measured), and the model / tokens / cost reported (best-effort) — plus who's on it right now. — means the agent didn't report that metric.
Conversation
QA review feedback, agent handoffs, and follow-up notes for this task.
No task feedback has been recorded yet.
Sealed-bid sizing
Edit →Alex (PM)
—
Avi (PO)
SMALL
Dev
SMALL
Actual
XL
We emailed a one-tap sign-in link to . It expires shortly and can only be used once.
No email? Check spam, or close this and try again.