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:
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(¬es[0]));
} else {
warn!("Skipping since optimization for {:?}: number of local notes is less than limit, attempting to backfill.", &timeline.kind);
}