SnapBiodata: in-app update banner (OTA + store) + rebrand + EAS project - #20
Merged
pythonsst merged 7 commits intoJul 16, 2026
Merged
Conversation
Surfaces expo-updates OTA and store updates (iTunes + Play Core) in a Blinkit-style banner, hidden when up to date, store-update prioritized. Wires eas.json OTA channels per profile (modeled on Agastya). Adds privacy policy + go-live runbook for store review. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Rebrand IgniteKit -> SnapBiodata; unify bundle id + package to com.snapbiodata.app on iOS + Android (incl. Android namespace + Kotlin package/folder, display names, store listing, privacy docs) - Align the RN registration name to "SnapBiodata" across app.json, iOS moduleName, and Android getMainComponentName (fixes a latent Android boot mismatch: JS registered "IgniteKit" vs native "ReactNativeIgniteKit") - Link new EAS project @shivtiwari/snapbiodata: projectId + OTA URLs in app.config.js, Expo.plist, Info.plist(s), AndroidManifest - Harden useAppUpdates: unmount-safe setState, real background->active detection, reload guarded on fetch result, auto-download so the "Downloading" state advances instead of spinning - storeUpdate: fall back to the store listing URL when the in-app flow or native module is unavailable (wires the previously-unused STORE_URL) - Remove unused version util + its tests (store comparison is delegated to sp-react-native-in-app-updates) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The canonical privacy policy now lives in the web repo (snapbiodata/src/app/privacy) and is served at snapbiodata.com/privacy, used by both web and app. Drop the app-repo copies to avoid drift; the app already references the URL via store.config.json. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- appId com.educatorslabs.ignitekit -> com.snapbiodata.app (was a wrong/stale bundle id; the flow would launch no app) - assertVisible "Welcome to IgniteKit!" -> "Welcome to SnapBiodata!" to match the renamed welcome text in App.tsx (assertion would otherwise fail) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cosmetic: .env.signing.example referenced ignitekit-release-key.keystore; update to snapbiodata-release-key.keystore to match the rebrand. Placeholder example only — no real secrets. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- LaunchScreen.storyboard showed "IgniteKit" on the splash screen every launch -> "SnapBiodata" - App.tsx "Learn More" opened educatorslabs.com -> snapbiodata.com Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The CI + eas-build workflows call `yarn eas:version:get`, but package.json defined the script as `eas:version` — CI failed with "Couldn't find a script named eas:version:get". Rename the script to match all callers (3 workflows + docs + the script's own usage text). Also drop an unnecessary regex escape (lint warning) so `yarn lint` is clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
pythonsst
marked this pull request as ready for review
July 16, 2026 14:02
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.
Summary
Adds an in-app "App Update Available" banner (OTA + store), rebrands the app to SnapBiodata (
com.snapbiodata.app), and links a fresh EAS project.Update-available feature
useAppUpdateshook merges OTA (expo-updates) + store (sp-react-native-in-app-updates: iOS iTunes / Android Play Core).eas.jsonbuild profile (modeled on the Agastya app).Rebrand → SnapBiodata
com.snapbiodata.app(iOS + Android incl. namespace/Kotlin package).SnapBiodataacrossapp.json, iOSmoduleName, AndroidgetMainComponentName.store.config.json) + privacy policy docs rebranded; privacy URL →snapbiodata.com/privacy.EAS project
@shivtiwari/snapbiodata(projectId 46cb38f5-…); OTA URLs repointed inapp.config.js,Expo.plist,Info.plist(s),AndroidManifest.Verification
tsc0 errors · eslint clean.eas buildis the final check.Follow-ups (tracked)
ascAppId(eas.json ×3) +APP_STORE_ID(appUpdate.ts) once the new App Store Connect app record exists (both currently the old6761337270).snapbiodata.com/privacy.🤖 Generated with Claude Code