notedeck

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

commit 697040d862213b195964be197a2d636faf8537e9
parent 49866418a6691384341c86a2ebe8b349c860676b
Author: kernelkind <kernelkind@gmail.com>
Date:   Mon, 25 Aug 2025 09:52:42 -0400

make since optimize accept Option<&NoteRef> instead of notes

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

Diffstat:
Mcrates/notedeck/src/filter.rs | 15+++++++++------
Mcrates/notedeck_columns/src/timeline/mod.rs | 2+-
2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/crates/notedeck/src/filter.rs b/crates/notedeck/src/filter.rs @@ -183,21 +183,24 @@ pub fn should_since_optimize(limit: u64, num_notes: usize) -> bool { limit as usize <= num_notes } -pub fn since_optimize_filter_with(filter: Filter, notes: &[NoteRef], since_gap: u64) -> Filter { +pub fn since_optimize_filter_with( + filter: Filter, + latest_note: Option<&NoteRef>, + since_gap: u64, +) -> Filter { // Get the latest entry in the events - if notes.is_empty() { + let Some(latest) = latest_note else { return filter; - } + }; // get the latest note - let latest = notes[0]; let since = latest.created_at - since_gap; filter.since_mut(since) } -pub fn since_optimize_filter(filter: Filter, notes: &[NoteRef]) -> Filter { - since_optimize_filter_with(filter, notes, 60) +pub fn since_optimize_filter(filter: Filter, latest: Option<&NoteRef>) -> Filter { + since_optimize_filter_with(filter, latest, 60) } pub fn default_limit() -> u64 { diff --git a/crates/notedeck_columns/src/timeline/mod.rs b/crates/notedeck_columns/src/timeline/mod.rs @@ -552,7 +552,7 @@ pub fn send_initial_timeline_filter( // notes than the limit, we might want to backfill // older notes if can_since_optimize && filter::should_since_optimize(lim, notes.len()) { - filter = filter::since_optimize_filter(filter, notes); + filter = filter::since_optimize_filter(filter, Some(&notes[0])); } else { warn!("Skipping since optimization for {:?}: number of local notes is less than limit, attempting to backfill.", &timeline.kind); }