project-nomad/admin
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
..
app fix(ZIM): accumulate across Kiwix pages to prevent empty Content Explorer (#746) 2026-04-20 16:05:27 -07:00
bin feat: curated content system overhaul 2026-02-11 15:44:46 -08:00
commands fix(Jobs): improved error handling and robustness 2026-04-03 14:26:50 -07:00
config fix: cache docker list requests, aiAssistantName fetching, and ensure inertia used properly 2026-04-03 14:26:50 -07:00
constants feat(Kiwix): migrate to Kiwix library mode for improved stability (#622) 2026-04-03 14:26:50 -07:00
database fix(qdrant): disable anonymous telemetry by default (#747) 2026-04-20 15:25:58 -07:00
docs docs: add Community Add-Ons page with field manuals + W3Schools packs (#753) 2026-04-20 14:57:53 -07:00
inertia fix(ZIM): accumulate across Kiwix pages to prevent empty Content Explorer (#746) 2026-04-20 16:05:27 -07:00
providers feat(Kiwix): migrate to Kiwix library mode for improved stability (#622) 2026-04-03 14:26:50 -07:00
public feat: switch all PNG images to WEBP (#575) 2026-04-03 14:26:50 -07:00
resources/views feat: switch all PNG images to WEBP (#575) 2026-04-03 14:26:50 -07:00
start feat(maps): add scale bar and location markers (#636) 2026-04-03 14:26:50 -07:00
tests feat: initial commit 2025-06-29 15:51:08 -07:00
types fix(ZIM): accumulate across Kiwix pages to prevent empty Content Explorer (#746) 2026-04-20 16:05:27 -07:00
util feat: display model download progress 2026-02-06 16:22:23 -08:00
views feat: initial commit 2025-06-29 15:51:08 -07:00
.editorconfig feat: initial commit 2025-06-29 15:51:08 -07:00
.env.example feat: Add Windows Docker Desktop support for local development 2026-01-19 10:29:24 -08:00
ace.js feat: initial commit 2025-06-29 15:51:08 -07:00
adonisrc.ts feat(Kiwix): migrate to Kiwix library mode for improved stability (#622) 2026-04-03 14:26:50 -07:00
eslint.config.js feat: openwebui+ollama and zim management 2025-07-09 09:08:21 -07:00
package-lock.json build(deps): bump lodash from 4.17.23 to 4.18.1 in /admin (#643) 2026-04-17 14:48:19 -07:00
package.json build(deps-dev): bump vite from 6.4.1 to 6.4.2 in /admin (#677) 2026-04-17 14:47:31 -07:00
tailwind.config.ts feat: initial commit 2025-06-29 15:51:08 -07:00
tsconfig.json feat: initial commit 2025-06-29 15:51:08 -07:00
vite.config.ts fix(Maps): ensure proper parsing of hostnames (#640) 2026-04-03 14:26:50 -07:00