Description
WebKit E2E tests fail intermittently because WebKit's JS execution is significantly slower than Chromium/Firefox. Three test fixtures (Dashboard, Sidebar, Overlay) run in parallel and share the same backend state. Each parallel test writes state updates via SignalR, triggering Angular re-renders of the map cards. During the CSS transition (transform 150ms) on .map-card, Playwright considers elements "not stable" and refuses to interact with them. Chromium/Firefox process re-renders fast enough that elements stabilize between Playwright actions - WebKit does not.
Component
Environment
Frontend:
- Browser: WebKit (Safari engine, via Playwright)
- OS: Ubuntu 22.04 (GitHub Actions runner)
Other:
- Streaming Tool Version/Branch: 44-add-e2e-tests and master basically
Steps to Reproduce
- Open a Pull Request targeting master
- Wait for the E2E workflow to run (matrix: chromium, firefox, webkit)
- Observe that the webkit job fails while chromium and firefox pass
Expected Behavior
All three browser matrix jobs pass consistently.
Actual Behavior
The WebKit job fails with:
element is not stable
element was detached from the DOM, retrying
System.TimeoutException : Timeout 30000ms exceeded.
Affected Features
Additional Context
- Happens consistently on WebKit, never on Chromium/Firefox
- Root cause: shared backend state + parallel test fixtures + CSS transition = unstable elements in slow WebKit
- Workaround applied: Force = true on affected Playwright clicks to skip the stability check
- Long-term fix: isolate backend state per test run, or remove the transition: transform 150ms from .map-card
Description
WebKit E2E tests fail intermittently because WebKit's JS execution is significantly slower than Chromium/Firefox. Three test fixtures (Dashboard, Sidebar, Overlay) run in parallel and share the same backend state. Each parallel test writes state updates via SignalR, triggering Angular re-renders of the map cards. During the CSS transition (transform 150ms) on .map-card, Playwright considers elements "not stable" and refuses to interact with them. Chromium/Firefox process re-renders fast enough that elements stabilize between Playwright actions - WebKit does not.
Component
Environment
Frontend:
Other:
Steps to Reproduce
Expected Behavior
All three browser matrix jobs pass consistently.
Actual Behavior
The WebKit job fails with:
element is not stable
element was detached from the DOM, retrying
System.TimeoutException : Timeout 30000ms exceeded.
Affected Features
Additional Context