Skip to content

Update notification, in-app update and changelog - #16

Merged
sayed0am merged 1 commit into
mainfrom
updates
Oct 29, 2026
Merged

sayed0am merged 1 commit into
mainfrom
updates

Conversation

@sayed0am

Copy link
Copy Markdown
Owner

What it does

  • Daily check. Once a day, with a network, OpenStrap reads its release list from GitHub (an anonymous GET to api.github.com, only the app version in the user agent) and notifies once per new release. The notification shows the release's opening paragraph and opens the Updates page. The check is on by default, with a switch on the Updates page, and that switch is backed up.
  • In-app install. Downloads the release APK, checks it against GitHub's SHA-256 digest (or SHA256SUMS.txt), and checks that it's OpenStrap signed with the installed copy's key. Then it hands it to Android's package installer. The first time, Android asks to allow "Install unknown apps". It never installs while a workout records. Afterwards it says "Updated to OpenStrap X", and the strap reconnects without opening the app (MY_PACKAGE_REPLACED).
  • Changelog. The new Updates page (You → Updates) shows the notes of every release newer than the installed one, newest first, or this version's own when it's up to date. It reads both the hand-written notes and GitHub's generated ones.
  • Docs. docs/privacy.md, the README and the manifest comment describe the new request and the install permission.

Testing

  • All 1016 unit tests pass, 13 of them new (ReleasesTest, ReleaseNotesTest, UpdateCopyTest).
  • Checked on the Fold's cover screen: the You row, the Updates page up to date and with an update (a build labelled 2.0.0), the notification and its tap, and Install opening the "Install unknown apps" screen.
  • Not yet tested: the download and the package installer step. A debug build can't install a release over itself because the keys differ, so it shows the signed-with-another-key message. A real install needs one release build updating to a newer one.

🤖 Generated with Claude Code

A daily check of the GitHub releases (on by default, a switch on the new
Updates page) notifies once per new release. Install downloads the APK,
checks GitHub's SHA-256 and the signing key, and hands it to Android's
package installer, never while a workout records. The Updates page shows
the notes of every release newer than this one, or this version's own.
privacy.md and the README say what the check sends.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sayed0am
sayed0am merged commit 3f1cf07 into main Oct 29, 2026
1 check passed
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