Overview
The app uses Expo OTA updates but does not check if the currently loaded bundle is more than N days old and a newer update is available. Users on very old cached bundles may encounter API incompatibilities that are silently ignored.
Specifications
Features:
- Check for available OTA updates on app foreground using
expo-updates
- If an update is available and the current bundle is > 7 days old, prompt the user to update
- If an update is critical (determined by a flag in the update manifest), force the update before allowing app use
Tasks:
- Add update check in App.tsx on foreground
- Create
UpdatePromptModal for non-critical updates
- Implement forced update flow for critical updates
Impacted Files:
App.tsx
src/components/common/UpdatePromptModal.tsx (new)
Acceptance Criteria
- Stale bundles (> 7 days) prompt the user to update
- Critical updates block app use until applied
- Update check does not block app startup
Overview
The app uses Expo OTA updates but does not check if the currently loaded bundle is more than N days old and a newer update is available. Users on very old cached bundles may encounter API incompatibilities that are silently ignored.
Specifications
Features:
expo-updatesTasks:
UpdatePromptModalfor non-critical updatesImpacted Files:
App.tsxsrc/components/common/UpdatePromptModal.tsx(new)Acceptance Criteria