fix(stream): flush piped transforms before end - #11037
proggeramlug wants to merge 2 commits into
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (5)
Included review availability: Your plan provides up to 8 included reviews per hour; 3 remain after this review. 📝 WalkthroughWalkthroughPiped destinations now run transform flush completion before ordinary stream completion. Readable ChangesTransform pipe flush completion
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix · Severity of issue fixed: Medium Sequence Diagram(s)sequenceDiagram
participant PassThrough
participant Transform
participant finish_pipe_destination
participant finish_transform_stream
PassThrough->>finish_pipe_destination: Request destination finish
finish_pipe_destination->>finish_transform_stream: Complete transform flush
finish_transform_stream->>Transform: Push flush output
finish_transform_stream-->>finish_pipe_destination: Report completion
finish_pipe_destination->>Transform: Complete stream
Transform-->>PassThrough: Emit flush output before end
Merge Risk: ⚪ Minimal · up to The pipe flush ordering change is covered for synchronous and asynchronous cases, with no remaining merge-blocking risk identified. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 9 functions across 4 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
🛠️ Fix failing CI checks 💡
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 |
|
Landed on main in merge train 257 (#11039, v0.5.1640), main Carried at head This train was split by blast radius after an earlier 35-PR assembly hit five gap regressions: it carries only PRs touching no lowering path. Trains rebase-merge, so commits get new SHAs and GitHub cannot mark this merged. Closed as landed. |
Summary
endFixes #10450
Testing
cargo test --release -p perry-runtime piped_transform_flush_callback_pushes_tail_before_finish -- --nocapturetest_gap_10450_transform_pipe_flush.tswith the coherent release compiler/runtime archive set and compared its output byte-for-byte with Node 26.5.1cargo fmt --all -- --checkgit diff --checkscripts/check_file_size.shpython3 scripts/raw_handle_debt.py --checkSummary by CodeRabbit
Transformstreams so flush output is emitted before the stream’sendevent.