Repository navigation
Conversation
Quest-Claim: 3ef06a07078f10a7
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.
Problem
The documented
MOQ_RESUME_SEED=12345 MOQ_RESUME_CASES=400 bun test src/resume.model.test.tsrun fails on main (ffcb7cd974): an immediate read after replacing an exhausted[0,1)range withranges: undefinedfalsely returnsdone.Approach
Duplicate discovered during reproduction: moq-dev/moq#7736, head
5acfbc3b60bf16ca26a4d075ba994740241badf6, already fixes the cause injs/net/src/resume.ts. ItsReader.#mirrorapplies updated preferences to copies synchronously fromsync, before reads; main only applies them from a later signal notification. The outer window can therefore be open while its serving copy still judges the exhausted bounded window.Applied only that PR's
resume.tspatch experimentally, then reversed it. No implementation changes are published. Release this empty claim according to the task's instruction to skip true duplicates. The quest stays available in the tree until the existing fix lands and its regression coverage is settled.Impact
Validation
resume.tspatch: all 400 generated cases pass; all 3 model tests pass.[0,1), observe bounded EOF twice, update to undefined ranges, read again in the same turn. Both arrival and sequence order returndoneon main instead ofidle.closedopen; the same-turn update returnsidle; group 1 is subsequently delivered; declaring end at group 2 settles cleanly; a later update preserves that declared end. 2 tests, 22 assertions, no sleeps or skips. Experimental test and logs remain in this checkout's.tmp/.Reader::syncalready mirrors preferences before polling copies, and marks each copyparked, separating bounded exhaustion from track completion. The existing JS mirror patch restores that synchronous preference behavior.just ciand a new local review were not run: no source changes remain, and this duplicate claim is being released.Alternatives
A second reset or exhaustion guard would duplicate or partially mask the already implemented synchronous update fix. Use the existing PR.
Review
No implementation head to review; the claim contains only an empty commit. This was a local reproduction and duplicate check.
Follow-ups
Before completing the quest after the existing fix lands, retain the minimized range-reopening lifecycle regression in CI alongside the model. No follow-up quest was created.
(Written by GPT-6.1 Sol)