notedeck

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

commit b7d6e3b2f16ade23938997e08dee61a7f76730f3
parent d560e84eab3c64070fb99ffac7802c24cdf91190
Author: kernelkind <kernelkind@gmail.com>
Date:   Wed, 18 Jun 2025 14:29:00 -0400

only deserialize first route in each column

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

Diffstat:
Mcrates/notedeck_columns/src/storage/decks.rs | 28++++++++++++----------------
1 file changed, 12 insertions(+), 16 deletions(-)

diff --git a/crates/notedeck_columns/src/storage/decks.rs b/crates/notedeck_columns/src/storage/decks.rs @@ -319,26 +319,22 @@ fn deserialize_columns( ) -> Columns { let mut cols = Columns::new(); for column in columns { - let mut cur_routes = Vec::new(); + let Some(route) = column.first() else { + continue; + }; - for route in column { - let tokens: Vec<&str> = route.split(":").collect(); - let mut parser = TokenParser::new(&tokens); + let tokens: Vec<&str> = route.split(":").collect(); + let mut parser = TokenParser::new(&tokens); - match CleanIntermediaryRoute::parse(&mut parser, deck_user) { - Ok(route_intermediary) => { - if let Some(ir) = route_intermediary.into_intermediary_route(ndb) { - cur_routes.push(ir); - } - } - Err(err) => { - error!("could not turn tokens to RouteIntermediary: {:?}", err); + match CleanIntermediaryRoute::parse(&mut parser, deck_user) { + Ok(route_intermediary) => { + if let Some(ir) = route_intermediary.into_intermediary_route(ndb) { + cols.insert_intermediary_routes(timeline_cache, vec![ir]); } } - } - - if !cur_routes.is_empty() { - cols.insert_intermediary_routes(timeline_cache, cur_routes); + Err(err) => { + error!("could not turn tokens to RouteIntermediary: {:?}", err); + } } }