From dc4e3d751041cded12b187366aa7b23811fa3ac1 Mon Sep 17 00:00:00 2001 From: kernelkind Date: Wed, 16 Jul 2025 13:36:33 -0400 Subject: [PATCH] increment sub count when necessary Signed-off-by: kernelkind --- crates/notedeck_columns/src/column.rs | 4 +++- crates/notedeck_columns/src/timeline/cache.rs | 6 ++++-- crates/notedeck_columns/src/timeline/mod.rs | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/crates/notedeck_columns/src/column.rs b/crates/notedeck_columns/src/column.rs index adc5bcd..d60a9b9 100644 --- a/crates/notedeck_columns/src/column.rs +++ b/crates/notedeck_columns/src/column.rs @@ -121,8 +121,10 @@ impl Columns { let routes = intermediary_routes .into_iter() .map(|r| match r { - IntermediaryRoute::Timeline(timeline) => { + IntermediaryRoute::Timeline(mut timeline) => { let route = Route::timeline(timeline.kind.clone()); + + timeline.subscription.increment(); timeline_cache .timelines .insert(timeline.kind.clone(), timeline); diff --git a/crates/notedeck_columns/src/timeline/cache.rs b/crates/notedeck_columns/src/timeline/cache.rs index 47342b9..f3aa8b0 100644 --- a/crates/notedeck_columns/src/timeline/cache.rs +++ b/crates/notedeck_columns/src/timeline/cache.rs @@ -1,7 +1,6 @@ use crate::{ actionbar::TimelineOpenResult, error::Error, - //subscriptions::SubRefs, timeline::{Timeline, TimelineKind}, }; @@ -105,7 +104,8 @@ impl TimelineCache { } pub fn insert(&mut self, id: TimelineKind, timeline: Timeline) { - if let Some(_cur_timeline) = self.timelines.get_mut(&id) { + if let Some(cur_timeline) = self.timelines.get_mut(&id) { + cur_timeline.subscription.increment(); return; }; @@ -205,6 +205,8 @@ impl TimelineCache { ); }; + timeline.subscription.increment(); + open_result } diff --git a/crates/notedeck_columns/src/timeline/mod.rs b/crates/notedeck_columns/src/timeline/mod.rs index 084289e..f22a105 100644 --- a/crates/notedeck_columns/src/timeline/mod.rs +++ b/crates/notedeck_columns/src/timeline/mod.rs @@ -486,6 +486,7 @@ pub fn setup_new_timeline( for relay in &mut pool.relays { send_initial_timeline_filter(since_optimize, subs, relay, timeline, accounts); } + timeline.subscription.increment(); } /// Send initial filters for a specific relay. This typically gets called