From dd2cba282b48ff024432210ed963baaf738db3ee Mon Sep 17 00:00:00 2001 From: Marcin Kulik Date: Tue, 24 Jun 2025 17:34:49 +0200 Subject: [PATCH] Use 0 as initial stream time for subscribers who subscribe before first stream event --- src/stream.rs | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/stream.rs b/src/stream.rs index bcb03c7..e09f2c2 100644 --- a/src/stream.rs +++ b/src/stream.rs @@ -126,22 +126,26 @@ async fn run( request = request_rx.recv() => { match request { Some(request) => { - let elapsed_time = stream_time + last_event_time.elapsed().as_micros() as u64; + let init = if last_event_id > 0 { + let elapsed_time = stream_time + last_event_time.elapsed().as_micros() as u64; - let vt_seed = if last_event_id > 0 { - vt.dump() + Event::Init( + last_event_id, + elapsed_time, + vt.size().into(), + tty_theme.clone(), + vt.dump(), + ) } else { - "".to_owned() + Event::Init( + last_event_id, + stream_time, + vt.size().into(), + tty_theme.clone(), + "".to_owned(), + ) }; - let init = Event::Init( - last_event_id, - elapsed_time, - vt.size().into(), - tty_theme.clone(), - vt_seed, - ); - let events_rx = broadcast_tx.subscribe(); let _ = request.send(Subscription { init, events_rx }); info!("subscriber count: {}", broadcast_tx.receiver_count());