project-nomad/admin/inertia/pages
Chris Sherwood e38dbf8a65
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-23 04:46:45 +00:00
..
docs feat(docs): polish docs rendering with desert-themed components 2026-02-06 14:41:30 -08:00
easy-setup feat(easy-setup): split AI into its own conditional step (issue #905) 2026-05-20 10:16:00 -07:00
errors feat: initial commit 2025-06-29 15:51:08 -07:00
settings feat(zim): add "Rescan Library" button for sideloaded ZIM files 2026-06-23 04:46:45 +00:00
about.tsx feat: initial commit 2025-06-29 15:51:08 -07:00
chat.tsx feat(AI Assistant): custom name option for AI Assistant 2026-03-04 20:05:14 -08:00
home.tsx fix: cache docker list requests, aiAssistantName fetching, and ensure inertia used properly 2026-04-03 14:26:50 -07:00
maps.tsx feat(maps): show map coordinates on mouse move (#786) 2026-05-20 10:16:00 -07:00