notedeck

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

commit 074472eec910b92932af2a8a9b407707b31c20a0
parent 119456e2b39c666bb679182d5bccb3c4f6824786
Author: William Casarin <jb55@jb55.com>
Date:   Tue, 15 Jul 2025 13:02:05 -0700

columns/timeline: include column index in timeline view_id

might fix weird scroll issues on profiles

Signed-off-by: William Casarin <jb55@jb55.com>

Diffstat:
Mcrates/notedeck_columns/src/timeline/mod.rs | 8++++----
Mcrates/notedeck_columns/src/timeline/route.rs | 2++
Mcrates/notedeck_columns/src/ui/timeline.rs | 7++++++-
3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/crates/notedeck_columns/src/timeline/mod.rs b/crates/notedeck_columns/src/timeline/mod.rs @@ -247,12 +247,12 @@ impl Timeline { ) } - pub fn make_view_id(id: &TimelineKind, selected_view: usize) -> egui::Id { - egui::Id::new((id, selected_view)) + pub fn make_view_id(id: &TimelineKind, col: usize, selected_view: usize) -> egui::Id { + egui::Id::new((id, selected_view, col)) } - pub fn view_id(&self) -> egui::Id { - Timeline::make_view_id(&self.kind, self.selected_view) + pub fn view_id(&self, col: usize) -> egui::Id { + Timeline::make_view_id(&self.kind, col, self.selected_view) } pub fn new(kind: TimelineKind, filter_state: FilterState, views: Vec<TimelineTab>) -> Self { diff --git a/crates/notedeck_columns/src/timeline/route.rs b/crates/notedeck_columns/src/timeline/route.rs @@ -37,6 +37,7 @@ pub fn render_timeline_route( note_options, &(&accounts.get_selected_account().key).into(), jobs, + col, ) .ui(ui); @@ -66,6 +67,7 @@ pub fn render_timeline_route( note_options, &(&accounts.get_selected_account().key).into(), jobs, + col, ) .ui(ui); diff --git a/crates/notedeck_columns/src/ui/timeline.rs b/crates/notedeck_columns/src/ui/timeline.rs @@ -24,6 +24,7 @@ pub struct TimelineView<'a, 'd> { note_context: &'a mut NoteContext<'d>, cur_acc: &'a KeypairUnowned<'a>, jobs: &'a mut JobsCache, + col: usize, } impl<'a, 'd> TimelineView<'a, 'd> { @@ -36,6 +37,7 @@ impl<'a, 'd> TimelineView<'a, 'd> { note_options: NoteOptions, cur_acc: &'a KeypairUnowned<'a>, jobs: &'a mut JobsCache, + col: usize, ) -> Self { let reverse = false; TimelineView { @@ -47,6 +49,7 @@ impl<'a, 'd> TimelineView<'a, 'd> { note_context, cur_acc, jobs, + col, } } @@ -61,6 +64,7 @@ impl<'a, 'd> TimelineView<'a, 'd> { self.note_context, self.cur_acc, self.jobs, + self.col, ) } @@ -81,6 +85,7 @@ fn timeline_ui( note_context: &mut NoteContext, cur_acc: &KeypairUnowned, jobs: &mut JobsCache, + col: usize, ) -> Option<NoteAction> { //padding(4.0, ui, |ui| ui.heading("Notifications")); /* @@ -104,7 +109,7 @@ fn timeline_ui( // need this for some reason?? ui.add_space(3.0); - egui::Id::new(("tlscroll", timeline.view_id())) + egui::Id::new(("tlscroll", timeline.view_id(col))) }; let show_top_button_id = ui.id().with((scroll_id, "at_top"));