project-nomad/admin/inertia/pages/settings
Chris Sherwood 3aab9f29ec feat(zim): add "Rescan Library" button for sideloaded ZIM files
Adds a user-facing trigger to rebuild the Kiwix library index from the
ZIM files currently on disk. Covers the sideload case: a user copies a
.zim onto the box (USB, SSH, network share) outside NOMAD's download
flow, and Kiwix has no way to discover it without regenerating the
library index.

Reuses the existing native KiwixLibraryService.rebuildFromDisk() (which
also extracts embedded favicons natively), so no kiwix-tools container
and no icon-patch step are needed. In library mode (--monitorLibrary)
kiwix-serve hot-reloads the XML automatically; only legacy glob-mode
containers are restarted.

- KiwixLibraryService.rebuildFromDisk now returns the book count; adds
  getBookCount() for the before/after delta
- ZimService.rescanLibrary() orchestrates rebuild + legacy restart
- POST /api/zim/rescan-library + ZimController.rescanLibrary
- "Rescan Library" button on the Content Manager page (shown when Kiwix
  is installed) with a success toast reporting books found

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 11:04:53 -07:00
..
zim feat(zim): add "Rescan Library" button for sideloaded ZIM files 2026-06-06 11:04:53 -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 fix(Maps): send filename instead of full path to delete endpoint 2026-05-20 10:16:00 -07:00
models.tsx feat(AI): improved AMD GPU acceleration for Ollama via ROCm + HSA override (#804) 2026-05-20 10:16:00 -07:00
support.tsx feat: switch all PNG images to WEBP (#575) 2026-04-03 14:26:50 -07:00
system.tsx feat(AI): improved AMD GPU acceleration for Ollama via ROCm + HSA override (#804) 2026-05-20 10:16:00 -07:00
update.tsx fix(UI): four fixes for the System Update page (#827) 2026-05-20 10:16:00 -07:00