fix(web): make the hero tilt e2e test settle on the flat transform
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 半日
- 初心者へのやさしさ
- 62/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- playwright, react, typescript
- 領域
- testing
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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
- Find what changes the perspective term between reading
flatand the assertion (layout, viewport, or font load). - Make the test compare what it means to compare (no rotation) rather than the whole matrix, or read
flatafter 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
- 主要言語
- TypeScript
- スター
- 1
- フォーク
- 1
- 平均マージ
- 6時間 56分
- マージ済み PR(30日)
- 136
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
eddiejaoude/StackDash のほかの issue
-
area: docs documentation priority: P3 size: S
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
eddiejaoude/StackDash#462 ·
メンテナーはふだん 1 日以内に返信
-
area: web bug priority: P3 size: XS
難易度 1/5 1〜3時間 初心者へのやさしさ 85/100
eddiejaoude/StackDash#432 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
area: database bug priority: P3 size: S
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
eddiejaoude/StackDash#419 ·
メンテナーはふだん 1 日以内に返信
-
area: docs bug priority: P2 size: XS
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
eddiejaoude/StackDash#418 ·
メンテナーはふだん 1 日以内に返信
-
accessibility area: timeline bug priority: P3 size: XS
難易度 2/5 1〜3時間 初心者へのやさしさ 80/100
eddiejaoude/StackDash#389 ·
メンテナーはふだん 1 日以内に返信
eddiejaoude/StackDash の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
open-webui/tether#52 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
voidzero-dev/void#835 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
AykutSarac/jsoncrack.com#616 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
melgarafael/DeskcommCRM#4679 ·
メンテナーはふだん 1 日以内に返信