Repository navigation
Fix flaky Simulator stream E2E that blocked the 0.57.0 release - #508
Conversation
The Simulator stream E2E failed the 0.57.0 release gate as flaky: the re-floated player's x was 285 while the dragged frame was 285.15625, so the exact float comparison never settled. Compare whole pixels, matching the drag assertion earlier in the same test. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SJgWwVbexyFmdCVEcQPw7v
Hermes review failedHermes could not produce a code-review verdict for this head SHA. Engine: Safe summary: Local logs: |
|
The Generated by Claude Code |
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes in the Simulator stream E2E, including the surrounding drag/dock/re-float flow and production geometry persistence.
- Whole-pixel comparison: The restored player’s x-coordinate is compared at whole-pixel precision, preserving the position-restoration check without requiring identical fractional layout coordinates. Retries, timeouts, and
--fail-on-flaky-testsare unchanged. - Validation: E2E type-checking, ESLint on the changed spec, and all seven floating-player geometry tests passed. The macOS-only Electron spec could not run on this Linux runner; its head-commit CI results remain the acceptance check.
gpt-6.1-sol | 𝕏

Requested by sbt · project thread
Before: the 0.57.0 Release desktop run (run 38853835788) failed twice without publishing. Attempt 1 passed every test, then lost network during Apple notarization. Attempt 2 failed the deterministic Electron E2E gate because
--fail-on-flaky-testscaught one flaky spec:tests/e2e/environment-devices-stream.spec.ts:107› Simulator stream › paints MJPEG through the proxy, sends touches, reconnects input, and attaches a screenshot. The failure wasexpect.poll(... boundingBox().x).toBe(floated.x), which got285when it expected285.15625. It passed on its retry.After: that assertion compares whole pixels, the same way the drag assertion a few lines earlier in this test already does. The behavior it checks still holds: the floating player comes back where it was left after docking and floating again.
How: one line in the spec.
--fail-on-flaky-tests, timeouts and retries are unchanged. Merging this to main re-triggers Release desktop, and becausev0.57.0does not exist yet, that run publishes 0.57.0.Local checks:
eslinton the spec and roottsc --noEmitpass. The spec itself needs macOS (Simulator), so the CI and release runs are its acceptance record.🤖 Generated with Claude Code
https://claude.ai/code/session_01SJgWwVbexyFmdCVEcQPw7v
Generated by Claude Code