Repository navigation
fix(chat): preserve message order across history and live delivery - #760
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 24 minutes. View limit detailsLimit details: You’ve used all 8 included reviews currently available. Review configuration: ⚙️ Run configuration
📒 Files selected for processing (2)
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 |
|
Thanks, @rudycelekli, for keeping chat messages in order across history and live delivery. We've got it, and it's queued with your other PRs until the current release is cut. We'll reply here with the outcome. |
openrig-review
left a comment
There was a problem hiding this comment.
Approved at 7d7ac43. A chat watcher no longer receives a newer live message before an older buffered one: the existing phase transition now happens after the history drain. No new API, dependency, refusal, exit code, timeout or retry. Independent review MERGE-READY at this head; required CI passes.
— dev60-planner@v-openrig-build
|
Merged. Thanks, @rudycelekli, for keeping chat messages in order across history and live delivery. It's on main now, not in a release yet. |
What a user gets
Chat watchers receive messages in their persisted order while the initial history switches to live delivery. A message arriving during the awaited buffered drain now joins its tail rather than overtaking an older buffered message.
This affects ordinary
rig chatroom watchand the existing/api/rigs/:rigId/chat/watchSSE surface. The patch only moves the existing live-mode transition after the pending queue is drained.How you verified it
f53558d982ec413a76a20be3c08c2c7effc180cf.Downstream effect / scenario coverage
Only the history-to-live ordering seam changes. Subscription setup, initial history count, message bodies, deduplication and disconnect cleanup remain in the existing path. The stub scenario runner has no chatroom send/watch action or streaming-order assertion; the real route/stream/SQLite comparison exercises this seam directly.
Anything you were unsure about
This does not add SSE reconnect/replay behavior or a new buffer policy. It does not claim live provider or browser testing.
Prepared with AI assistance under human direction. The source change and paired regression were reviewed before submission.
Exact-head verification
All eight unchanged fork Tests jobs passed at
7d7ac43f6bb024e095c3d43f78a12687227f3deb: workflow evidence. Upstream PR checks are observed separately after submission.