straw: infinite-scroll pagination for channel + search
All checks were successful
gitleaks / scan (push) Successful in 41s

Wire the new strawcore continuation fetchers through UniFFI and add
load-more-on-scroll to the Channel and Search screens — previously both
loaded only page 1 and stopped.

FFI (rust/strawcore): search() now returns Page{items, continuation};
channelInfo carries videos_continuation; new searchContinuation() and
channelVideosContinuation() suspend funs map the core ContinuationPage.

Channel + Search ViewModels: loadMore() fetches the next page, dedups by
url, advances the token, and stops when the token runs out or a page
yields zero net-new items (guards a looping continuation). Result-set
swaps (channel switch / new submit / cache preview) cancel the in-flight
page, and a token fence inside the state update prevents a stale page
being spliced into a replaced list. Screens add a near-end LazyColumn
trigger (rememberLazyListState + derivedStateOf) and a footer spinner.
This commit is contained in:
Cobb 2026-06-19 18:21:42 -07:00
parent 6f2ae831cc
commit 4dfb2e1450
8 changed files with 2670 additions and 9 deletions

2364
rust/Cargo.lock generated Normal file

File diff suppressed because it is too large Load diff