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

Đang mở
#464 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
Nửa ngày
Mức phù hợp với người mới
62/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
playwright, react, typescript
Lĩnh vực
testing

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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

Ngôn ngữ chính
TypeScript
Star
1
Fork
1
Merge trung bình
6 giờ 56 phút
Pull request đã merge (30 ngày)
136

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của eddiejaoude/StackDash

Tất cả issue của eddiejaoude/StackDash

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.