Mobile Q1 · 2019
**GOALS** * Improve Error handling * Implement offline/local-first mode * Improve UX * Gatherings improvements * Easier update for android users * Add 2FA **ERROR HANDLING** Improve the overall UX with better error handling **Api Level:** If an api call fails due to a network error, wait a few ms and repeat the call, if the second call fails, throw the error. **Store Level:** If an api call returns an error, store the state and warn the users. “Error loading the feed. <Retry>” for example. **Component Level:** Use componentDidCatch to capture exceptions in components and show error messages to users.”Oops can’t show this activity” Update the package react-native-error-handling Post the user’s critical error stack trace somewhere? **OFFLINE / LOCAL-FIRST** There is an old implementation which supports offline mode, maybe we can use it and improve the functionality. https://github.com/Minds/mobile-native-internal/pull/583 **Current Implementation:** **Connectivity Service:** It detects changes in the connectivity state of the device and keeps the other components/services informed (using an observable) Implemented here: https://github.com/Minds/mobile-native-internal/pull/583/files#diff-90c423f62eaeb78804639057271a8b67 **Data Service:** It abstracts the calls to get data from a data provider method and adds the possibility of attaching middlewares before and after the calls Implemented here: https://github.com/Minds/mobile-native-internal/pull/583/files#diff-c68ffe588d0b5d700398d0f5e4b23f2e **Cache Entities Middleware:** It stores and retrieves entities from the local database in case the device is offline https://github.com/Minds/mobile-native-internal/pull/583/files#diff-9a750897ec7172d46ba7ab74add502caR7 **Cache Feeds Middleware:** it stores and retrieves the feeds (array of guids of the entities) Implemented here: https://github.com/Minds/mobile-native-internal/pull/583/files#diff-4ee906e0c2b9cfdfc0fa70237fe959b7 **SQL Backend:** Stores and retrieves cached data from the SQLite db https://github.com/Minds/mobile-native-internal/pull/583/files#diff-6416f5613b51c2a20ded24dbbb0be348 **GATHERINGS IMPROVEMENTS** * Be able to turn to landscape smoothly * Display groups and live gatherings on top of newsfeed * Be able to minimize gatherings when navigating away like jitsi **EASIER UPDATE FOR ANDROID USERS** Despite the use of code push for faster updates, sometimes we will need to change the native code and, in those cases, we have to make a new apk release. **Improvements alternatives:** 1. Autoupdate of apk (we have to check if this is possible with react native) 2. Check for new updated and prompt the user to download the new apk
epic