fix(stories): release longform readers on every exit - #2653
rudycelekli wants to merge 1 commit into
Conversation
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 55 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. Review configuration: ⚙️ Run configuration
📒 Files selected for processing (4)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
[Medium risk] Fixes stream cleanup when reading longform content stops. No merge-blocking issue was established in the changed code. SummaryThe PR adds cancellation and reader-lock cleanup to the shared longform stream consumer on completion, callback failure, and abort. It adds native-stream regression tests and updates the changelog and streaming documentation. Reviews (1) · Last reviewed commit: "fix(stories): release longform readers o..." |
|
All contributors on this pull request have signed the VoiceStudio CLA. Thank you! |
|
recheck |
Summary
The longform stream consumer can leave its response reader locked when an event callback throws or when rendering completes before the response closes. An abort can also leave a pending read waiting. The active renderer throws on render error events. Each exit should cancel unread data and release the reader lock.
Closes #2652.
Changes
Type
Testing
Hosted CI audit at 2026-10-06T12:35:20.584679+00:00: no failing latest checks; required CLA passes. All latest reported checks completed successfully. No upstream merge performed.
Native Node Web Streams regressions: 3 failed and 5 passed before; all 8 pass after. No live backend/model rendering.
git diff --checkand the repository changelog style gate pass.Focused JavaScript tests used Node 24.19.0 and a reused Vitest 5.0.1 runtime; this repository pins Vitest 4.1.11. No full build qualification is claimed.
Full backend suites and
bun run check:electronwere not run locally. The human CLA signature is registered and the required CLA status passes; hosted results are reported separately below.Checklist
package.json,pyproject.toml,backend/core/version.py, and lockfilestests/fixtures/omnivoice_data/still loads green on thesmoke-matrixCI job (macOS + Windows + Linux)Release cadence
VoiceStudio ships continuous-to-main — no release candidates, no soak windows.
Every merged PR is immediately part of rolling source (
main) and Docker:latest. Electron artifact rehearsals validate desktop packages without publishing.Version bumps require owner approval; validated releases are tagged from
mainand published explicitly under the release checklist.
Users who want stability install an Electron release or pin Docker
:stable.