fix: preserve client modifiers when emit aborts - #366
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
Included review availability: Your plan provides up to 10 included reviews per hour; 5 remain after this review. 📝 WalkthroughWalkthroughThe client now consumes modifiers after outgoing observation and packet encoding. Regression tests cover listener exceptions, encoding failures, and reserved-event rejection. Conformance documentation and the payload decision record describe the updated behavior. ChangesClient modifier retention
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to The PR preserves client modifiers when an emit aborts and adds coverage for the affected cases. No actionable merge-blocking risk remains after normal validation and review. Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Summary
Keeps client Socket modifiers until an emit is dropped as volatile, buffered, or successfully encoded and scheduled. Outgoing observer and payload-encoding failures therefore preserve the pending modifier for the next completed emit, matching Socket.IO.
Shared real/mock cases cover both failure modes, one-shot consumption, reserved-event retention, and the unchanged Server Socket control. ADR 0026 and the generated conformance report record the consumption boundary.
Related issue
Closes #361
Checklist