fix(updates): in-app updates on the Android app (third topology)
The Updates page only knew git topologies (GitHub checkout / fleet bare
repo); the Android app installs from a prebuilt tarball with no git, so
it showed "no update source reachable" and could never update itself.
New ANDROID topology, detected via process.platform === 'android'
(Termux node) with a filesystem fallback:
- "Latest" = the package.json version on the klonkt STABLE branch (the
channel the phone tarballs are built from), fetched with an 8s abort.
- The update button spawns the phone's own
klonkt-update detached; the
shell survives the pkill/restart the updater performs.
- Renders version chips (v1.3.1) instead of commit hashes; the existing
view handles the null git fields as-is.
- src/routes/admin-updates.js — IS_ANDROID detection, androidLatestVersion(),
android branches in GET / and POST /run
- CHANGELOG(.nl/.de).md — user-facing entry under Unreleased (3 languages)
Co-Authored-By: Claude <noreply@…>