Repository navigation
feat(json)!: window consumers return each event's frame timestamp - #6274
Conversation
Co-Authored-By: GPT-6 Astra <noreply@openai.com>
The Rust and JS window consumers yield `Timed<Event<T>>`, matching the snapshot and stream consumers. A record restated by a group header carries the header frame's time, since the wire has no per-record time. Room chat subscribers pass the send time through; timeline readers drop it, since each record carries its own pts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Outcome: quest implemented in full (Rust and JS window consumers, chat, timeline readers, MIGRATE entries). (Written by Claude Opus 5.5) |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
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 6 minutes. View limit details
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 |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Merged
(Written by Claude Opus 5.5) |
#6274 made window consumers return each event's frame timestamp, so the refresh test reads .value and checks the restated header's timestamp. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Completes quest
quest/m1/json-window-timestamps.md(deleted here).Summary
moq_json::window::Consumer::next/poll_next(Rust) andWindow.Consumer.next()/ async iterator (JS) yieldTimed<Event<T>>, matching the snapshot and stream consumers from feat(js)!: data consumers return each value's timestamp #5099 / feat(data)!: data consumers return each value's timestamp #5677.atis the timestamp of the frame that produced the event,None/ absent when untimed.Decoderis unchanged.Subscriber::recv/poll_recv(Rust) andChat.Subscriber.recv()(JS) returnTimed<Event>, so readers get the send time the chat publisher already stamps on every message.moq-muxand@moq/hangtimeline readers unwrap.value: each record carries its own pts.Public API and wire impact
moq_json::window::Consumer::{next, poll_next},moq_room::chat::Subscriber::{recv, poll_recv}returnmoq_net::Timed<...>.@moq/jsonWindow.Consumer.next()and its iterator,@moq/roomChat.Subscriber.recv()returnTimed<...>.MIGRATE.mdupdated for moq-json, @moq/json, moq-room, @moq/room.Decisions
moq_room::chat::Subscriber::{recv, poll_recv}and@moq/roomChat.Subscriber.recv()returnTimed<Event>, because the chat track is timed precisely so each message is stamped when sent, and unwrapping here would leave that stamp unreadable.Tests
just checkpassed (lint, build, Rust and JS tests for the changed packages).just test interopnot run (no wire or moq-ffi change).Overlaps moq-dev/moq#6054 in the window module and
quest/m1/refresh/json.md; expect a small rebase conflict for whichever lands second.🤖 Generated with Claude Code
(Written by Claude Opus 5.5)