Repository navigation
test(ui-react): establish paused liveness clock before navigation - #2316
Merged
Merged
Conversation
schlessera
marked this pull request as ready for review
October 17, 2026 10:44
schlessera
marked this pull request as draft
October 17, 2026 10:52
…ock-setup-07f4f991
schlessera
marked this pull request as ready for review
October 17, 2026 10:57
schlessera
marked this pull request as draft
October 17, 2026 11:02
…ock-setup-07f4f991
schlessera
marked this pull request as ready for review
October 17, 2026 11:06
schlessera
marked this pull request as draft
October 17, 2026 11:22
This was referenced Oct 17, 2026
…ock-setup-07f4f991
schlessera
marked this pull request as ready for review
October 17, 2026 12:28
schlessera
marked this pull request as draft
October 17, 2026 12:31
…ock-setup-07f4f991
schlessera
marked this pull request as ready for review
October 17, 2026 12:34
schlessera
marked this pull request as draft
October 17, 2026 12:36
…ock-setup-07f4f991
schlessera
marked this pull request as ready for review
October 17, 2026 12:39
schlessera
marked this pull request as draft
October 17, 2026 12:49
…ock-setup-07f4f991
schlessera
marked this pull request as ready for review
October 17, 2026 12:52
schlessera
marked this pull request as draft
October 17, 2026 12:58
…ock-setup-07f4f991
…ock-setup-07f4f991
schlessera
marked this pull request as ready for review
October 17, 2026 13:08
This was referenced Oct 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #2298
What changed
Liveness B establishes its paused browser clock before navigation and application timers. It temporarily fixes Date while applying pauseAt, then restores advancing Date semantics with setSystemTime while still paused. The selected pause time cannot expire in transit. The later Date.now() + 100 pause is removed; real sockets, host, IndexedDB, reconnect/resync and every original assertion remain.
Why this shape
The installed Playwright 1.63.0 source confirms that fixed Date and timer advancement are distinct and that setSystemTime leaves a paused clock paused. The helper uses only public clock APIs and the existing fictional 2026-07-12 midday date. It introduces no larger pause margin, sleep, product timer or test-deadline change. The browser regression also checks readiness before navigation, because navigation replay can otherwise hide an incorrectly fixed Date.
Proof
Implementation head
309f6f0a20e4bbcba141ea1e40241b2329551c6c, local tested basedcc09e9c8601f6513eec907cfbf7d3ffbc01bf16. Bun 1.4.2, Playwright 1.63.0, actual local Google Chrome 140.0.7339.127.bun run check:pr --base origin/mainpasses: 54 fast tests / 181 assertions plus all 26 affected tests / 192 assertions. This includes the complete 24-case answer-delivery runtime file and both clock controls. Full package build occurs in that original fixture setup. Strict types, lint and leakage pass.Current candidate head
70912620092f5d0117a3efee458ee49812540de4integrates main19b43c6d7e4d8e2b44b614fd6e0d431746349f90. Fresh required preflight passes 54 fast tests / 181 assertions plus all 26 affected browser tests / 192 assertions, zero failures/skips; strict types pass. All 24 answer-delivery cases and both clock controls execute, including cleanup. Only the original three clock test/fixture files differ from main.Earlier confirmations retain their exact identities on #2298. One failed on the independently tracked full-build setup timeout and diagram binding defect; the diagram repair (#2314) and narrower runtime build (#2320) are delivered. Subsequent requests became stale as main advanced and were cancelled, without a complete hosted pass. Integrated changes since that failure include native/module/relay fixture corrections, build/discovery diagnostics, HTTP mount fixtures, monotonic probe timing explicit GPT-Live export, and inaccessible private-state parent masking. The latest adapter opens a connection only when selected; this keyless fixture does not select it. Clock setup and original liveness assertions are unchanged.
Checklist
Hosted qualification
Confirmation 39035312441, attempt 1 passes all thirteen selected proof jobs plus metadata and the final aggregate. Every selected execution identifies merge
cc753a9430583e3724db7103c0d13e4bf57fcc5e, treeb6ee7282dc817b8c4d983e9ed17524353f69f9e6, ordered parents[19b43c6d7e4d8e2b44b614fd6e0d431746349f90, 70912620092f5d0117a3efee458ee49812540de4]; requested base and independent live main agree. Twelve category resource receipts and verification checkout were independently reconciled; no retained executions. Packaging is intentionally unselected for this test-only contribution. The head-only contract gate passes separately.Unit artifact
unit-proof-2(12102216736) records both clock controls passing 2 tests / 18 assertions, zero failures/skips. Artifactunit-proof-4(12101658768) records all 24 answer-delivery cases / 174 assertions, zero failures/skips; Liveness B reaches all 9 assertions. The aggregate's candidate receipt validates the same head/base/tree. Historical failed/cancelled requests retain their original identities and are not this successful run.Anything left open
No implementation or pre-merge qualification gap. Actual squash/main verification follows merge. The broader #2279 investigation remains separate; this fixture correction does not claim to resolve it.