fix: Repair 3 broken e2e tests from recent feature commits #4

Merged
dries merged 1 commit from fix/e2e-test-failures into main 2026-05-03 21:03:27 +02:00
Owner

Summary

  • dashboard.spec.ts: Update Usage tab filter tests for the ProjectScopePicker added in b6fb179 — the Usage tab now has 3 <select> elements (Project scope + Model + Date range), not 2. Adjusts expected count and selector index.
  • composer.spec.ts: Use dispatchEvent('click') for the Retry button click to bypass Playwright's hit-test, which was failing because the RAF-coalesced auto-scroll (introduced in d8b2a18) continuously repositions the button between frames, causing "intercepts pointer events" errors.
  • AssistantThread.tsx: Fix the bottomInset MutationObserver to use { childList: true } instead of { childList: true, subtree: true }. The comment already said "observe only direct children" but the code still had subtree: true, causing unnecessary layout thrash on every DOM mutation during streaming (a real production perf bug, not just a test issue).

Why they broke

Test Worked at Broke at
Usage tab filter count bdba133 (e2e suite created) b6fb179 (ProjectScopePicker added, tests not updated)
Usage tab model select bdba133 b6fb179 (same)
Composer Retry click 864e8be (retry feature created) d8b2a18 (RAF auto-scroll made viewport unstable)
## Summary - **dashboard.spec.ts**: Update Usage tab filter tests for the `ProjectScopePicker` added in b6fb179 — the Usage tab now has 3 `<select>` elements (Project scope + Model + Date range), not 2. Adjusts expected count and selector index. - **composer.spec.ts**: Use `dispatchEvent('click')` for the Retry button click to bypass Playwright's hit-test, which was failing because the RAF-coalesced auto-scroll (introduced in d8b2a18) continuously repositions the button between frames, causing "intercepts pointer events" errors. - **AssistantThread.tsx**: Fix the bottomInset `MutationObserver` to use `{ childList: true }` instead of `{ childList: true, subtree: true }`. The comment already said "observe only direct children" but the code still had `subtree: true`, causing unnecessary layout thrash on every DOM mutation during streaming (a real production perf bug, not just a test issue). ## Why they broke | Test | Worked at | Broke at | |------|-----------|----------| | Usage tab filter count | `bdba133` (e2e suite created) | `b6fb179` (ProjectScopePicker added, tests not updated) | | Usage tab model select | `bdba133` | `b6fb179` (same) | | Composer Retry click | `864e8be` (retry feature created) | `d8b2a18` (RAF auto-scroll made viewport unstable) |
fix: Repair 3 broken e2e tests from recent feature commits
Some checks failed
CI / Frontend (pull_request) Successful in 48s
CI / Backend (pull_request) Successful in 34s
CI / Playwright E2E (pull_request) Successful in 2m22s
CI / Build (pull_request) Successful in 1m10s
CI / Frontend (push) Successful in 48s
CI / Backend (push) Successful in 2m29s
CI / Playwright E2E (push) Failing after 2m22s
Semantic Tag / tag (push) Successful in 3s
CI / Build (push) Successful in 1m10s
bc97cb3e81
- dashboard.spec.ts: Update Usage tab filter tests for the
  ProjectScopePicker added in b6fb179 (3 selects, not 2).
- composer.spec.ts: Use dispatchEvent for Retry click to bypass
  Playwright hit-test failures caused by the RAF-coalesced auto-scroll
  introduced in d8b2a18.
- AssistantThread.tsx: Fix bottomInset MutationObserver to use
  childList-only (not subtree) as the comment already stated; subtree
  caused unnecessary layout thrash on every DOM mutation during
  streaming.
dries merged commit bc97cb3e81 into main 2026-05-03 21:03:27 +02:00
dries deleted branch fix/e2e-test-failures 2026-05-03 21:03:27 +02:00
Sign in to join this conversation.
No description provided.