Skip to content

fix: make public-timeline E2E specs immune to live auto-expanded cards#623

Merged
BreakableHoodie merged 1 commit into
mainfrom
fix/602-e2e-live-card
Jul 17, 2026
Merged

fix: make public-timeline E2E specs immune to live auto-expanded cards#623
BreakableHoodie merged 1 commit into
mainfrom
fix/602-e2e-live-card

Conversation

@BreakableHoodie

Copy link
Copy Markdown
Owner

Summary

The e2e/public-timeline.spec.js suite failed on evening CI runs only (#602): during show hours a live event's card auto-expands (useState(isLive)), its toggle reads "Hide Details", and seven specs' blind first-card → click "View Details" pattern timed out. A collapsedEventCard(page) helper now filters to a card still showing the collapsed affordance and pins it by DOM index — the pinning matters because Playwright locators are live: a .filter() locator stops matching the moment the clicked card's button flips, silently re-resolving later queries to a different card (a second bug caught during reproduction).

Reproduced, not reasoned: against a locally seeded happening-now event (no doors_json, first-set-start gating it into "Happening Now" as the true first card), the original specs failed 7/13 with the exact CI timeout signature; the fixed specs pass 13/13, twice consecutively, against the same server and DB state.

Closes #602

What changed

File Change
e2e/public-timeline.spec.js collapsedEventCard() helper (documented: show-hours mechanism + lazy-locator pinning rationale); all 7 View-Details click sites routed through it. Full audit of every other first-card site in the file: visibility-only/count-only/nested-scope sites left as-is deliberately — none assert collapsed-state affordances

Deliberately not coupled to the ?debugTime hook (per the issue's chosen fix direction). Pre-existing prettier drift across all 8 e2e spec files left untouched — filed as #622 rather than blowing up this diff.

Security / correctness notes

None — test-only change.

Verification


Built by Sonny · Reviewed by Theo · 🤖 Claude Code

During show hours a live event's card auto-expands, its toggle reads
Hide Details, and the specs' blind first-card + "View Details" click
timed out — the whole suite failed on evening CI runs only. A
collapsedEventCard() helper filters to a card still showing the
collapsed affordance and pins it by DOM index (Playwright locators
are live — a filtered locator silently re-resolves to a different
card once the clicked card's button flips).

Reproduced locally: a seeded happening-now event failed the original
specs 7/13 with the exact CI timeout; fixed specs pass 13/13 twice
against the same state.

Closes #602

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 17, 2026 14:50
@BreakableHoodie BreakableHoodie added bug Something isn't working priority:p2 Medium priority ci CI/CD workflows and gates labels Jul 17, 2026
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@BreakableHoodie
BreakableHoodie enabled auto-merge (squash) July 17, 2026 14:50
@BreakableHoodie
BreakableHoodie merged commit 7cbf3d9 into main Jul 17, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working ci CI/CD workflows and gates priority:p2 Medium priority

Projects

None yet

Development

Successfully merging this pull request may close these issues.

E2E: public-timeline suite fails when run during show hours — live first card auto-expands, has no View Details button

2 participants