Skip to content

Replace over-the-air updates with in-app APK updates - #30

Merged
lakaniemi merged 1 commit into
mainfrom
docs/drop-ota-in-app-updates
Nov 10, 2026
Merged

lakaniemi merged 1 commit into
mainfrom
docs/drop-ota-in-app-updates

Conversation

@lakaniemi

@lakaniemi lakaniemi commented Nov 10, 2026 •

Copy link
Copy Markdown
Owner

What and why

Drops the planned Over-the-air updates slice (expo-updates plus a self-hosted server). Every app change ships as a new APK, so a version number always identifies exactly what runs and there is no update server to host. The app will instead find a newer release through a latest.json asset on the GitHub release, download the APK and open Android's installer.

This records the decision and moves the new App updates slice to the front of the roadmap. The implementation follows in separate PRs: CI publishes latest.json, the installer on "Update required", then the update check and Home banner.

Decided along the way:

  • The check reads latest.json from GitHub, not an API endpoint, so it can't announce an APK that doesn't exist and the API stays free of GitHub.
  • versionCode stays hand-bumped, unchanged from Release the app as a signed APK on GitHub #29.
  • A Home banner (Later / Install), not a snackbar, because an available update stays true until it's installed.

Size

0 logic lines. Docs and specs, plus two code comments that mentioned OTA.

How to review

Start with app/docs/ARCHITECTURE.md §9 (the new "In-app updates" section, with OTA recorded as a rejected alternative) and §10. Then specs/app-shell.md for the behavior. The rest is follow-through: CLAUDE.md, specs/README.md and the two comments.

Testing

Docs only. npm run lint and npm run typecheck pass, and a search finds no leftover OTA mentions beyond the intentional "rejected" notes.

🤖 Generated with Claude Code

Every app change ships as a new APK, so a version number always
identifies what runs and no update server is needed. The app will find a
newer release through a latest.json release asset, download the APK and
open Android's installer. The App updates slice goes first on the
roadmap.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@lakaniemi
lakaniemi merged commit 1844566 into main Nov 10, 2026
1 check passed
@lakaniemi
lakaniemi deleted the docs/drop-ota-in-app-updates branch November 10, 2026 15:59
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