notedeck

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

commit cc92fc20825ba48865683751b1d23d4e58a83dc0
parent dc4e3d751041cded12b187366aa7b23811fa3ac1
Author: kernelkind <kernelkind@gmail.com>
Date:   Tue, 15 Jul 2025 16:14:03 -0400

make `TimelineCache::timelines` private

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

Diffstat:
Mcrates/notedeck_chrome/src/notedeck.rs | 6+++---
Mcrates/notedeck_columns/src/actionbar.rs | 2+-
Mcrates/notedeck_columns/src/app.rs | 4++--
Mcrates/notedeck_columns/src/column.rs | 5+----
Mcrates/notedeck_columns/src/timeline/cache.rs | 2+-
Mcrates/notedeck_columns/src/timeline/mod.rs | 4++--
Mcrates/notedeck_columns/src/ui/add_column.rs | 8++------
Mcrates/notedeck_columns/src/ui/timeline.rs | 4++--
8 files changed, 14 insertions(+), 21 deletions(-)

diff --git a/crates/notedeck_chrome/src/notedeck.rs b/crates/notedeck_chrome/src/notedeck.rs @@ -242,9 +242,9 @@ mod tests { .timeline_id() .unwrap(); - assert_eq!(app.timeline_cache.timelines.len(), 2); - assert!(app.timeline_cache.timelines.get(&tl1).is_some()); - assert!(app.timeline_cache.timelines.get(&tl2).is_some()); + assert_eq!(app.timeline_cache.num_timelines(), 2); + assert!(app.timeline_cache.get(&tl1).is_some()); + assert!(app.timeline_cache.get(&tl2).is_some()); rmrf(tmpdir); } diff --git a/crates/notedeck_columns/src/actionbar.rs b/crates/notedeck_columns/src/actionbar.rs @@ -281,7 +281,7 @@ impl NewNotes { ) { let reversed = false; - let timeline = if let Some(profile) = timeline_cache.timelines.get_mut(&self.id) { + let timeline = if let Some(profile) = timeline_cache.get_mut(&self.id) { profile } else { error!("NewNotes: could not get timeline for key {}", self.id); diff --git a/crates/notedeck_columns/src/app.rs b/crates/notedeck_columns/src/app.rs @@ -130,7 +130,7 @@ fn try_process_event( } } - for (_kind, timeline) in damus.timeline_cache.timelines.iter_mut() { + for (_kind, timeline) in &mut damus.timeline_cache { let is_ready = timeline::is_timeline_ready( app_ctx.ndb, app_ctx.pool, @@ -252,7 +252,7 @@ fn handle_eose( } SubKind::FetchingContactList(timeline_uid) => { - let timeline = if let Some(tl) = timeline_cache.timelines.get_mut(timeline_uid) { + let timeline = if let Some(tl) = timeline_cache.get_mut(timeline_uid) { tl } else { error!( diff --git a/crates/notedeck_columns/src/column.rs b/crates/notedeck_columns/src/column.rs @@ -123,11 +123,8 @@ impl Columns { .map(|r| match r { IntermediaryRoute::Timeline(mut timeline) => { let route = Route::timeline(timeline.kind.clone()); - timeline.subscription.increment(); - timeline_cache - .timelines - .insert(timeline.kind.clone(), timeline); + timeline_cache.insert(timeline.kind.clone(), timeline); route } IntermediaryRoute::Route(route) => route, diff --git a/crates/notedeck_columns/src/timeline/cache.rs b/crates/notedeck_columns/src/timeline/cache.rs @@ -13,7 +13,7 @@ use tracing::{debug, error, info, warn}; #[derive(Default)] pub struct TimelineCache { - pub timelines: HashMap<TimelineKind, Timeline>, + timelines: HashMap<TimelineKind, Timeline>, } pub enum Vitality<'a, M> { diff --git a/crates/notedeck_columns/src/timeline/mod.rs b/crates/notedeck_columns/src/timeline/mod.rs @@ -504,7 +504,7 @@ pub fn send_initial_timeline_filters( info!("Sending initial filters to {}", relay_id); let relay = &mut pool.relays.iter_mut().find(|r| r.url() == relay_id)?; - for (_kind, timeline) in timeline_cache.timelines.iter_mut() { + for (_kind, timeline) in timeline_cache { send_initial_timeline_filter(since_optimize, subs, relay, timeline, accounts); } @@ -644,7 +644,7 @@ pub fn setup_initial_nostrdb_subs( note_cache: &mut NoteCache, timeline_cache: &mut TimelineCache, ) -> Result<()> { - for (_kind, timeline) in timeline_cache.timelines.iter_mut() { + for (_kind, timeline) in timeline_cache { let txn = Transaction::new(ndb).expect("txn"); if let Err(err) = setup_timeline_nostrdb_sub(ndb, &txn, note_cache, timeline) { error!("setup_initial_nostrdb_subs: {err}"); diff --git a/crates/notedeck_columns/src/ui/add_column.rs b/crates/notedeck_columns/src/ui/add_column.rs @@ -632,9 +632,7 @@ pub fn render_add_column_routes( .router_mut() .route_to_replaced(Route::timeline(timeline.kind.clone())); - app.timeline_cache - .timelines - .insert(timeline.kind.clone(), timeline); + app.timeline_cache.insert(timeline.kind.clone(), timeline); } AddColumnResponse::Algo(algo_option) => match algo_option { @@ -674,9 +672,7 @@ pub fn render_add_column_routes( .router_mut() .route_to_replaced(Route::timeline(timeline.kind.clone())); - app.timeline_cache - .timelines - .insert(timeline.kind.clone(), timeline); + app.timeline_cache.insert(timeline.kind.clone(), timeline); } else { // we couldn't fetch the timeline yet... let's let // the user know ? diff --git a/crates/notedeck_columns/src/ui/timeline.rs b/crates/notedeck_columns/src/ui/timeline.rs @@ -94,7 +94,7 @@ fn timeline_ui( */ let scroll_id = { - let timeline = if let Some(timeline) = timeline_cache.timelines.get_mut(timeline_id) { + let timeline = if let Some(timeline) = timeline_cache.get_mut(timeline_id) { timeline } else { error!("tried to render timeline in column, but timeline was missing"); @@ -154,7 +154,7 @@ fn timeline_ui( } let scroll_output = scroll_area.show(ui, |ui| { - let timeline = if let Some(timeline) = timeline_cache.timelines.get(timeline_id) { + let timeline = if let Some(timeline) = timeline_cache.get(timeline_id) { timeline } else { error!("tried to render timeline in column, but timeline was missing");