ADFA-5004 feat(kiwix): delete installed ZIMs from the app - #333
Merged
Conversation
…' + Material icons
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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/librarylists installed ZIMs, andPOST /kiwix/deleteremoves oneand rebuilds the Kiwix index (
iiab-make-kiwix-lib). The delete logic is portedfrom the retired
delete_zimsocket handler and hardened with strict namevalidation (a plain
<file>.zim, plus a basename guard) so it can't escape theZIM directory.
On the app side, a native
KiwixClient(mirroringMapsRegionClient/BooksClient) backs a small manage screen that lists installed ZIMs with aper-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.