You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Time Travel for Remote_Source nodes. Extracted Consumer's time-travel transport into a shared Time_Travel trait (seek/step/pause/play, the frames+cursor read surface, snapshot/line-mode, and the six console verbs) and wired it into Remote_Source_Node, so the topology console's Time Travel panel renders for remote sources: SEEK_FRAME reconnects the SSE pull from the frame's offset and PAUSE/PLAY stop/resume it. STEP is a documented no-op for a push-driven source (nothing to single-step). Consumer was refactored onto the same trait with no behavior change. The offsetlog checkpoint/commit machinery both nodes had duplicated — the OFFSETLOG_SEGMENT_SIZE/OFFSETLOG_NUM_SEGMENTS geometry, the checkpoint_seg/checkpoint_off/last_checkpoint bookkeeping, and the near-identical frame writer (write_checkpoint_frame vs commit_position) — is now normalized into a single Time_Travel::commit_checkpoint_frame() primitive, with each node contributing only its own frame fields via a checkpoint_frame_extra() hook (Consumer: name/target/…/cache; Remote_Source: _ts/dlq). The per-tick throttle and the advance-guard are likewise shared (checkpoint_due() / cursor_moved_since_checkpoint()), which also fixes an idle Remote_Source re-committing the same {seg,off} every interval — with segment_size=1 that had spammed a duplicate keyframe per interval and cluttered the Time Travel ruler.
Fixed
RemoteLink's dashboard counter now aggregates from its SseIn child instead of showing the pass-through link's own zero — matching how bytesRead/largestMsgSent already delegate. counter moved behind a get/set accessor (a pass-through link's own increment is a no-op), and dumpNode now surfaces getter-backed accessors under their public names.