Skip to content

ADFA-5004 feat(kiwix): delete installed ZIMs from the app - #333

Merged
luisguzman-adfa merged 6 commits into
mainfrom
feat/ADFA-5004-kiwix-delete-zims
Aug 4, 2026
Merged

ADFA-5004 feat(kiwix): delete installed ZIMs from the app#333
luisguzman-adfa merged 6 commits into
mainfrom
feat/ADFA-5004-kiwix-delete-zims

Conversation

@luisguzman-adfa

@luisguzman-adfa luisguzman-adfa commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Restores the ability to remove installed Wikipedia/ZIM content to free space,
which was lost when the legacy web dashboard was retired (ADFA-4933) and never
ported to the REST core.

Backend adds two direct endpoints to the dashboard, mirroring /maps/delete:
GET /kiwix/library lists installed ZIMs, and POST /kiwix/delete removes one
and rebuilds the Kiwix index (iiab-make-kiwix-lib). The delete logic is ported
from the retired delete_zim socket handler and hardened with strict name
validation (a plain <file>.zim, plus a basename guard) so it can't escape the
ZIM directory.

On the app side, a native KiwixClient (mirroring MapsRegionClient /
BooksClient) backs a small manage screen that lists installed ZIMs with a
per-item delete and a confirm dialog — the same in-app pattern as Maps, rather
than injecting controls into kiwix-serve's upstream page.

Add k2go_zim_* (manage/list/delete + deferred) to every values-*/strings_k2go.xml,
matching the base English keys. Placeholders (%1$d/%2$s/%1$s) preserved. Initial
AI translations — pending native-speaker review.

Verified on device: after delete the ZIM is gone from the list and from Read
Wikipedia. No changes to the download job or to kiwix-serve.

@luisguzman-adfa
luisguzman-adfa merged commit 8cb8b3a into main Aug 4, 2026
4 checks passed
@luisguzman-adfa
luisguzman-adfa deleted the feat/ADFA-5004-kiwix-delete-zims branch August 4, 2026 00:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant