status-im / status-mobile

a free (libre) open source, mobile OS for Ethereum
https://status.app
Mozilla Public License 2.0
3.92k stars 984 forks source link

Reload of Wallet Home screen takes approx 20 sec and routes are not built #21455

Open mariia-skrypnyk opened 1 month ago

mariia-skrypnyk commented 1 month ago

Bug Report

Reproduction

  1. Install nightly build from 18/10
  2. Create user and reload Wallet Home screen

Actual behavior

Reload of Wallet Home screen takes approx 20 sec and more

https://github.com/user-attachments/assets/1a4ed86e-49e4-4a98-adcb-90472b722763

Reload logs.zip

Expected behavior

Reload of Wallet Home screen takes not more than 4-7 sec as it was before

Additional Information

VolodLytvynenko commented 1 month ago

I encountered the current issue with long wallet loading as well. Additionally, routes are not being built while this issue persists on both Desktop and Mobile. I used the build from this PR where we have a fresh status go, but the issue is also reproducible on the latest master as well

https://github.com/user-attachments/assets/81cff6a6-5def-48b5-9397-c10c746f5cb6

Mobile logs: logs (3).zip

Desktop logs: geth copy 2.log

saledjenic commented 1 month ago

@mariia-skrypnyk @pavloburykh @VolodLytvynenko under no circumstances should you be waiting for the route that long.

I've checked the code many times, and there is no reason for that in the code. However, that part relies on many external things, like providers' responsiveness, network congestion, internet speed, and the performance of the device where the app is running.

In theory when all chains are included in wallet_getSuggestedRoutesAsync call, it should not take more than 20 seconds worst case, usually less than 10.

Also asking the router to generate the route just for a single chain doesn't mean we've solved the issue, but it means, we reduced the number of calls that we're doing, but the time for getting the response is not reduced.

Pretty sure that we can freely say that solving external issues/increasing the reliability of the third parties will solve all our router-related/sending-tx-related issues.