Repository navigation
fix(sdk-recorder): release capture before uploading - #3191
Merged
Merged
Conversation
Contributor
|
@AksharP5 is attempting to deploy a commit to the Cap Software Inc Team on Vercel. A member of the Team first needs to authorize it. |
Contributor
Author
|
@greptileai review current head d937565. The session-ownership P1 is corrected, including stale chunk/source callbacks and cancellation before upload. Three delayed-stop regressions fail on the previous revision; all 35 SDK tests pass. Astra HIGH R3 approved the exact head and five boundary probes. The prior Biome correction is also included; fresh CI is running. |
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.
After pressing Stop, SDK callers keep camera, microphone and screen capture active while the recording uploads. Capture now releases after the encoder delivers its final data, before video creation or multipart upload, without discarding recording chunks.
Closes #3190.
liveendedliveendedThe existing encoder identity also protects a replacement recording when an old stop finishes after destroy/restart. The canceled stop rejects with
AbortErrorbefore releasing tracks or uploading; stale data and source-ended callbacks cannot affect the replacement. Normal duration, upload results and errors retain their existing behavior.All 35 SDK tests pass, including the capture-release and delayed-stop regressions. The suite now runs in CI. Independent Astra HIGH review approved the final patch and passed five additional ownership/error probes. Ten fresh native Chromium runs compare the original base and final runtime; all eight successful recordings preserve their complete emitted bytes and decode cleanly. Delayed-stop cancellation is verified with controlled encoder events.
Scoped TypeScript retains the pre-existing unsubscribe TS2345. Biome and tsup are unavailable locally; the exact CI formatting correction is included. Final-head configured CI passes, including the 35-test SDK suite, repository typechecking, Biome format/lint, Mobile, Linux Rust tests, both Clippy jobs and the native desktop build matrix. Current-head Greptile is 5/5 with no unresolved findings. Vercel previews require team authorization. Physical devices, OS indicators, Firefox/Safari, mounted React, authenticated storage and the published tsup package were not tested. Destroy/restart after upload has already begun remains a separately reproduced pre-existing limitation.


Confidence Score: 5/5
The PR appears safe to merge; the previous replacement-recording issue is fixed, and no new actionable issues were found.Summary
Capture now ends after the encoder finishes and before upload begins.
Reviews (2) · Last reviewed commit: "fix(sdk-recorder): isolate canceled reco..." · Reviewed by Greptile