mirror of
https://github.com/jjbrunton/Sauci.git
synced 2026-10-31 18:19:43 +00:00
feat(mobile): wire expo-updates to the self-hosted XPREM OTA server
Install expo-updates and the eoas CLI, and configure the client against https://ota.apps.jbrunton.co.uk. app.json stays the static source of truth for version, buildNumber, and versionCode, which EAS rewrites during a release build. A new app.config.js spreads it and layers on the updates block, because XPREM selects a release channel from a build-time request header and that value differs per EAS build profile. - updates.url points at the XPREM manifest endpoint, /manifest - runtimeVersion uses the appVersion policy, so the runtime version is the store-visible expo.version and a native change requires a store build - expo-channel-name comes from RELEASE_CHANNEL, set per EAS build profile: development, staging (preview profile), and production - expo-app-id and an empty xprem-branch header are declared at build time, since expo-updates only sends headers that existed when the build was made - code signing uses keyid main and rsa-v1_5-sha256 against a certificate at certs/certificate.pem, skipped when DISABLE_CODE_SIGNING is set so a dev client can run against the packager The XPREM app id and the code-signing certificate are still placeholders pending the update server deployment. The config throws a descriptive error whenever RELEASE_CHANNEL is set while either is unresolved, so a misconfigured build fails at config resolution rather than shipping a client that can never validate a manifest. The native projects are Expo CNG output and are left untouched: the expo-updates config plugin embeds the real app id and certificate contents, so they are regenerated as a reviewed source change once both values land. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f38b6f14fa
commit
f4db567267
5 files changed
+2224
-39
No files matched your search
@@ -0,0 +1,3 @@
|
||||
# The update-signing private key belongs to the XPREM server, never to the app.
|
||||
private-key.pem
|
||||
*.key
|
||||
Reference in new issue
Block a user