fix(web): make the hero tilt e2e test settle on the flat transform

Aperta
#464 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
Mezza giornata
Idoneità per principianti
62/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
playwright, react, typescript
Ambito
testing

Direzione di ricerca

Start at e2e/data-flow.spec.ts around lines 254-288 (the "tilt" test) and read how flat is captured versus how drawn is polled; the angles already read [0, 0], so the mismatch is in the perspective term of the transform. Reproduce with the guarded runner, --repeat-each 20, on that spec, and check whether layout, viewport or font load changes the stage size between the read of flat and the assertion; the hero stage component is the place to look if the cause is there. Done means 20 consecutive passing runs through the guarded runner with the 5 degree assertion still intact.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area: web bug priority: P2 size: S

Context

e2e/data-flow.spec.ts:254 "the stage tilts toward a mouse pointer, never past 5 degrees, and not while paused" failed in CI on #457 (run 43707487703, head 7309a34), and passed on #451 and #453 the same hour with no related change, so it is flaky. Found in the #457 review.

> 288 |     await expect.poll(drawn).toBe(flat);
Expected: "matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, -0.000626338, 0, 0, 0, 1)"
Received: "matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, -0.000714286, 0, 0, 0, 1)"
Timeout 5000ms exceeded while waiting on the predicate

The angles poll at line 287 already returned [0, 0], but the drawn matrix kept a different perspective term (-1/1400 against -1/1597), so the expected flat value depends on something other than the tilt, probably the stage size or perspective at the moment flat was read.

End-to-end tests (Chromium) is a required check on main, so a flaky failure blocks merges.

Plan

  1. Find what changes the perspective term between reading flat and the assertion (layout, viewport, or font load).
  2. Make the test compare what it means to compare (no rotation) rather than the whole matrix, or read flat after the stage settles. Do not loosen the 5 degree assertion.

Acceptance criteria

  • The spec passes 20 runs in a row through the guarded runner (--repeat-each 20).
  • Playwright e2e: this spec is the coverage.

Files and areas

e2e/data-flow.spec.ts, and the hero stage component if the cause is there. Non-goals: the header bug in #460.

Model: anthropic/claude-opus-5-5 | Reasoning effort: unknown

Lingua principale
TypeScript
Stelle
1
Fork
1
Merge medio
6h 56m
PR unite (30g)
136

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di eddiejaoude/StackDash

Tutte le issue di eddiejaoude/StackDash

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.