project-nomad/admin/inertia/pages/settings
chriscrosstalk d22c0b202c
fix(ZIM): accumulate across Kiwix pages to prevent empty Content Explorer (#746)
When many ZIMs are already installed locally, a single Kiwix catalog page
(12 items) could return 12 already-installed items, which zim_service
would fully filter out client-side. The endpoint returned items: [] with
has_more: true, and the frontend's infinite-scroll guard
(flatData.length > 0) blocked fetchNextPage — leaving the user with
"No records found" despite plenty of uninstalled ZIMs available.

Backend now accumulates across up to 5 Kiwix fetches (60 items each)
until it has enough post-filter results to return, dedupes by entry id,
advances currentStart by actual entries returned (not requested), and
returns a next_start cursor. The frontend consumes that cursor instead
of computing Kiwix offsets locally, and the flatData.length > 0 guard is
removed so the existing on-mount effect drives bounded auto-fetch when
a short page lands.

The pre-existing has_more off-by-one (compared totalResults against the
input start rather than the post-fetch position) is fixed implicitly.

Diagnosis credit: @johno10661.

Closes #731

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 16:05:27 -07:00
..
zim fix(ZIM): accumulate across Kiwix pages to prevent empty Content Explorer (#746) 2026-04-20 16:05:27 -07:00
apps.tsx feat(UI): add Night Ops dark mode with theme toggle 2026-03-20 11:46:10 -07:00
benchmark.tsx fix(ui): ref issue in benchmark page 2026-03-20 19:29:13 +00:00
legal.tsx feat(UI): add Night Ops dark mode with theme toggle 2026-03-20 11:46:10 -07:00
maps.tsx feat(maps): add global map download from Protomaps (#525) 2026-04-03 14:26:50 -07:00
models.tsx fix(AI): add null check to model name (#645) 2026-04-17 11:34:31 -07:00
support.tsx feat: switch all PNG images to WEBP (#575) 2026-04-03 14:26:50 -07:00
system.tsx fix(disk): correct storage display by fixing device matching and dedup mount entries 2026-03-20 11:46:10 -07:00
update.tsx fix(UI): clear stale update banner after successful update 2026-03-20 11:46:10 -07:00