Theme store: download, verify and update catalog themes
Facebook Messenger on your desktop, without the Facebook clutter
Brought to you by:
kristoffer-r
Originally created by: kristofferR
Chatpane needs to list catalog themes, fetch one when it is chosen, keep it safe and current, and work offline.
All network work in Rust; the Messenger page gets no access.
https://raw.githubusercontent.com/kristofferR/Carrier/main/themes/index.json (#426) when Settings shows the gallery and with the existing update check; cached in the app cache dir for 24 h. No redirects off that host; response size capped.bytes while streaming, check SHA-256, run the existing check_css, write themes/<id>.css, record { id, version, sha256 } in themes/store.json, then select and apply it. On any failure keep the current theme and return the reason for Settings' notice.version is newer is replaced in place and re-applied if selected. A theme dropped from the catalog keeps working.THEME_HOOKS_VERSION; entries needing more are listed but can't be chosen ("Needs a newer Chatpane").store.json entry; if it was selected, fall back to Default.store.json, so an imported file with the same name doesn't collide (imports get a suffix).list_themes returns built-ins, imported and catalog themes in one list with downloaded, source and available flags.check_css, version bump, removed-from-catalog, offline cache, id collision.Part of [#434].