From 2a5d882fac63f8572ee95f85447b180f5b17f57a Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 28 Feb 2026 01:08:17 +0100 Subject: fix cont token check in value sort --- database/src/kv/index.rs | 3 --- server/src/ui/items.rs | 13 +++++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/database/src/kv/index.rs b/database/src/kv/index.rs index ba5784b..dd2471b 100644 --- a/database/src/kv/index.rs +++ b/database/src/kv/index.rs @@ -129,9 +129,6 @@ pub fn iter_index<'a>( assert!(value_sort.offset.is_none(), "TODO"); let mut start = prefix.clone(); if let Some(resume) = resume { - if resume.len() != 8 { - bail!("invalid resume length") - } start.extend(resume); start = inc_key(start); } diff --git a/server/src/ui/items.rs b/server/src/ui/items.rs index 6071bcc..bd4b759 100644 --- a/server/src/ui/items.rs +++ b/server/src/ui/items.rs @@ -11,7 +11,7 @@ use jellycommon::{ jellyobject::{EMPTY, Path}, *, }; -use jellydb::{Filter, Query}; +use jellydb::{Filter, MultiBehaviour, Query, Sort, SortOrder, ValueSort}; use jellyui::components::items::Items; use rocket::{get, response::content::RawHtml}; use std::borrow::Cow; @@ -28,7 +28,16 @@ pub fn r_items(ri: RequestInfo, cont: Option<&str>) -> MyResult> ri.state.database.transaction(&mut |txn| { let rows = txn .query(Query { - filter: Filter::Match(Path(vec![NO_KIND.0]), KIND_CHANNEL.into()), + filter: Filter::All(vec![ + Filter::Match(Path(vec![NO_KIND.0]), KIND_VIDEO.into()), + Filter::Match(Path(vec![NO_VISIBILITY.0]), VISI_VISIBLE.into()), + ]), + sort: Sort::Value(ValueSort { + path: Path(vec![NO_RELEASEDATE.0]), + multi: MultiBehaviour::First, + order: SortOrder::Descending, + offset: None, + }), continuation: cont_in.clone(), ..Default::default() })? -- cgit v1.3