This repository was archived by the owner on Jun 10, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Errors, Network requests and no internet connection
Tobias Schubotz edited this page Jun 29, 2020
·
2 revisions
We fetch different data from our backend and the blockchain. We should ensure that both clients behave similarly, if not the same. e.g. in the legacy mobile app, iOS had some kind of polling whereas Android only refreshed when accessing a screen. This should be prevented.
- When do we expect clients to make network requests?
- What happens when there is no response or no internet connection?
- How real time should we update information?
- How do we display errors
- Assets
- Load balances (ETH, ERC20, Collectibles)
- Transactions
- Load transactions list
- Load creation tx (Perhaps separate)
- Tx details
- Settings
- Load required confirmations
- Load owner list
- Load current master copy (implies contract version)
- Load module list
- Other
- Images
- (Technical) Register device for pushes?
- App start
- Just the balances (Since the app startes on the
Assets -> Coinsscreen.
- Just the balances (Since the app startes on the
- App comes from background to foreground
- Reload whatever screen was open
- Received push notification
- tbd
- Manual refresh by user
- Reload whatever was refreshed
- User switches Safe
- [future] User made a transaction
Only reload data per screen
- Where?
- Assets
- Tx list
- Tx details
- Settings list (Refreshes Safe details)
- Manual refresh cancels other reloads that might be pending for the same resource
- There should be visual feedback when refreshed via pull to refresh (e.g. loading spinner)
If there is a text input - then errors are in the error label on/near the text input fields.
- Error during initial loading -> "No data" screen + timed snackbar message
- Error during pull to refresh -> same data stays, + timed snackbar message
- Error during other network request -> keep screen state + timed snackbar message
- "no internet connection" counts as error - It is show upon the "data reload event" or upon "user action", i.e. not upon "network availability" events
- Always only reload data when accessing a specific screen
- Don’t persist data as in previous section, i.e. when app is started and there is no Internet connection, then there will be no data displayed inside the app
We used the following 2 working docs during the discussion:
- https://docs.google.com/document/d/12bRFzVZKcr4thB10VpHQUTjDk_ftNCV-aofAvn0P5v0/edit#
- https://docs.google.com/document/d/17xl9l7JLbPIjH8Wgz_z9--ulcRV4hhYcgcrkAJ4J9LY/edit#
There was another discussion during backlog refinement