Repository navigation
fix(preview): recover recording lifecycle with native settlement proof - #839
Merged
Merged
Conversation
This was referenced Nov 6, 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.
A recording start that expires before touching its tab now releases its own request and marker even if the desktop detached first. Late preparation closes only its own scratch resources. Once tab work has begun, capture remains blocked until native cessation and every submitted command are accounted for. A concurrent stop during an existing stop returns its own
not_startedresult instead of falsely reporting no active recording.Recorder state remains attributable to the current tab instance. Frame tokens prevent late callbacks and encoder completions from sending commands against a successor. Stop files are written as pending attachments before cessation proof; only an ordinary proven success lets the existing handler move the file into the thread. Status owns its title deadline and reports recorder metadata without lifting quarantine. Wire compatibility, #824 retention and the original SessionControl started-permit regression are preserved.
Validation on the final committed bytes:
accepted=falsecompletion released after B is active; shared-debugger effect/reply gates and cleanup resolve/reject/noncompletion. The detached-owner protocol-error branch executes while a legitimate ack reply is held on an open session/connection; separate closure controls keep commands unanswered and captures blocked.The 15 unmodified Chromium cases remain unavailable. Apple Silicon/native behavior and the underlying capture-stall cause remain unqualified. This is a source change; no installed application/server was updated or restarted. Independent affected re-review, current-head CI, merge and final UI qualification remain with the root owner.
Implemented by GPT-6.1 Sol through the Codex harness.