Repository navigation
App: send the compatibility level and show Update required - #28
Merged
Merged
Conversation
Every request carries App-Compat-Level. When the API answers with app_outdated, the client flips a flag that the next commit's screen reads. It is handled in the client, not the query cache, so mutations and one-off calls are covered too. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
When the API has turned the app away, UpdateGate replaces the whole app with a screen that links to the latest APK on GitHub. The release workflow will have to attach the APK as life-app.apk. Restart for over-the-air updates comes with that slice. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Fixes the APK asset name as life-app.apk, links the new code from the app shell spec, and marks the API compatibility level done. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
What and why
The app half of the API compatibility level, App baseline slice, item 4 in the roadmap (
specs/README.md). The API half is #27.App-Compat-Level(appCompatLevel = 1).app_outdated, the client flips a flag, andUpdateGatereplaces the whole app with the "Update required" screen. Its button opens the latest APK on GitHub.This must land before Release APKs, so that no installed app lacks the handling. It fixes the APK's asset name as
life-app.apk, which the release workflow has to use.Size
About 129 logic lines (added plus removed).
How to review
Start with
app/src/api/compat.tsand the change inclient.ts. Thenfeatures/app-update/. The gate is a component rather than a conditional in_layout.tsx, to keep the route file thin. The docs only link the new code and name the APK.Testing
npm run lint,npm run typecheckandnpm testpass. Tests cover the header,app_outdatedflipping the flag (and other codes not), the gate, and the screen's button.Not tried on a device or emulator: the end-to-end check from the plan (raise the API's minimum locally and see the screen).
🤖 Generated with Claude Code