Summary
The app has no ErrorBoundary component. If a rendering error occurs (e.g., corrupted data causing a component to throw), the entire app becomes unresponsive with no recovery path.
Proposal
Add an ErrorBoundary wrapper around the tab navigator that catches rendering errors and shows a recovery UI (e.g., "Something went wrong — tap to retry"). This is especially important for the Dashboard and Calendar screens which perform complex data transformations during render.
Notes
- Low effort, high impact on user experience.
- Expo Router may provide built-in error boundary support — investigate before implementing a custom one.
Split from #36.
Summary
The app has no
ErrorBoundarycomponent. If a rendering error occurs (e.g., corrupted data causing a component to throw), the entire app becomes unresponsive with no recovery path.Proposal
Add an
ErrorBoundarywrapper around the tab navigator that catches rendering errors and shows a recovery UI (e.g., "Something went wrong — tap to retry"). This is especially important for the Dashboard and Calendar screens which perform complex data transformations during render.Notes
Split from #36.