Skip to content

fix(stream): complete fanout mutations before callbacks - #147

Merged
vincentkoc merged 1 commit into
mainfrom
fix/libterminal-fanout-lifecycle-20261103
Nov 3, 2026
Merged

vincentkoc merged 1 commit into
mainfrom
fix/libterminal-fanout-lifecycle-20261103

Conversation

@vincentkoc

@vincentkoc vincentkoc commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Summary

An overflow callback could publish recursively before other subscribers received the current bytes, reversing output order. A throwing callback could also interrupt close and leave subscribers open. Finish queue mutations and teardown before notifications; notify every recorded event and then propagate the first callback error. Preserve per-subscriber overflow/closed event order and stale-handle protection. Three regressions cover nested publication, throwing overflow, and throwing close callbacks. Production delta: +41 lines for the shared lifecycle boundary.

Validation

  • Full CI passed for merged PR head 45bf12b44989a410016478a405bf909d4632814f.
  • Independent P0–P3 autoreview: scoped-clean for 44fb4e3c5759b1df275208bcc088793e217ccd69. Rebased code and test patches were verified unchanged.
  • Combined six-fix integration passed: 185 unit/integration tests, 10 browser cases, build, types, lint, package checks, and the Linux/Windows/macOS matrix.
  • Changelog included. No release.

@clawsweeper

clawsweeper Bot commented Nov 3, 2026

Copy link
Copy Markdown

🦞👀
ClawSweeper picked this up.

Pull request received. I will update this pull request when review starts.

@vincentkoc
vincentkoc marked this pull request as ready for review November 3, 2026 12:46
@vincentkoc
vincentkoc requested a review from a team as a code owner November 3, 2026 12:46
@vincentkoc
vincentkoc force-pushed the fix/libterminal-fanout-lifecycle-20261103 branch from 44fb4e3 to 6a63ce5 Compare November 3, 2026 12:49
@vincentkoc
vincentkoc force-pushed the fix/libterminal-session-id-bom-20261103 branch from 7dde0ab to 5c0309c Compare November 3, 2026 12:49
Base automatically changed from fix/libterminal-session-id-bom-20261103 to main November 3, 2026 12:51
@vincentkoc
vincentkoc force-pushed the fix/libterminal-fanout-lifecycle-20261103 branch from 6a63ce5 to 45bf12b Compare November 3, 2026 12:51
@vincentkoc
vincentkoc merged commit 1501e29 into main Nov 3, 2026
13 of 34 checks passed
@vincentkoc
vincentkoc deleted the fix/libterminal-fanout-lifecycle-20261103 branch November 3, 2026 12:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant