We first populate the dApps list from the persistence layer (status-go). As soon as the SDK is available we replace the persistence ("offline" model) with the ground-truth list of connected dApps sourced from connected sessions.
Requesting the ground-truth dApps list is made from SDK that is connection dependent. If the network is slow or SDK has errors it might fail.
[ ] Most of the time the offline source and online will coincide. Incrementally updating the model (add new and remove inexistent) should provide a better user experience.
We first populate the dApps list from the persistence layer (status-go). As soon as the SDK is available we replace the persistence ("offline" model) with the ground-truth list of connected dApps sourced from connected sessions.
Requesting the ground-truth dApps list is made from SDK that is connection dependent. If the network is slow or SDK has errors it might fail.
Problem: When sourcing the connected dApps from the SDK we reset the existing model and add the SDK sourced dApps; see here https://github.com/status-im/status-desktop/blob/fdf47c4c21aa10dcc4d3afafc8c4aeba9ab8d3f0/ui/app/AppLayouts/Wallet/services/dapps/DAppsListProvider.qml#L33