notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

commit dc4e3d751041cded12b187366aa7b23811fa3ac1
parent 95e9e4326a8d1a3a843e444e71b3d7dc48147342
Author: kernelkind <kernelkind@gmail.com>
Date:   Wed, 16 Jul 2025 13:36:33 -0400

increment sub count when necessary

Signed-off-by: kernelkind <kernelkind@gmail.com>

Diffstat:
Mcrates/notedeck_columns/src/column.rs | 4+++-
Mcrates/notedeck_columns/src/timeline/cache.rs | 6++++--
Mcrates/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 @@ -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 @@ -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 @@ -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