Skip to content

fix(login): improve login by calling ens asyncly and upping status-go#20144

Open
jrainville wants to merge 1 commit intomasterfrom
fix/slow-login-with-bad-connection
Open

fix(login): improve login by calling ens asyncly and upping status-go#20144
jrainville wants to merge 1 commit intomasterfrom
fix/slow-login-with-bad-connection

Conversation

@jrainville
Copy link
Copy Markdown
Member

@jrainville jrainville commented Mar 2, 2026

What does the PR do

Fixes #19856

There were three issues:

  1. The currency service in status-go did multiple network checks. Now in go routines
  2. The timesource service did a network call, also in go routines now
  3. We did a call to the ENS contract to get the registered address and that took a lot of time too. I made it async in the code.

With all these changes, the app load is at least 10 times faster with a shitty internet.

Affected areas

Quality checklist

Screencapture of the functionality

I did these tests by lowering my internet download speed to 1024Kbps with a 400ms latency.

Before:

long-login.webm

After:

fast-login2.webm

As you can see, it used to take 50 seconds, now it takes 10.

Impact on end user

Greatly improves login speed when having very bad internet connection

How to test

  • Use a bad internet connection or a software to reduce it
  • Login (preferably with a decently sized account

Risk

Medium
Since I make some of the calls async, especially in the backend, some things might be called out of order, but I haven,t had any catastrophic errors so far

@status-im-auto
Copy link
Copy Markdown
Member

status-im-auto commented Mar 2, 2026

Jenkins Builds

Click to see older builds (43)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 0533ea0 1 2026-03-02 22:15:29 ~8 min tests/nim 📄log
0533ea0 1 2026-03-02 22:16:16 ~9 min macos/aarch64-nwaku 📄log
✔️ 0533ea0 1 2026-03-02 22:17:49 ~10 min android/arm64 🤖apk 📲
✔️ 0533ea0 1 2026-03-02 22:18:05 ~11 min ios/aarch64 📱ipa 📲
✔️ 0533ea0 1 2026-03-02 22:19:28 ~12 min macos/aarch64 🍎dmg
✔️ 0533ea0 1 2026-03-02 22:20:08 ~13 min tests/ui 📄log
✔️ 0533ea0 1 2026-03-02 22:24:17 ~17 min linux/x86_64 📦tgz
✖️ 0533ea0 1516 2026-03-02 22:24:39 ~6 min tests/e2e-android 📦pkg
✔️ 0533ea0 1 2026-03-02 22:27:16 ~20 min linux/x86_64-nwaku 📦tgz
✔️ 0533ea0 1 2026-03-02 22:34:34 ~27 min windows/x86_64 💿exe
✔️ 0533ea0 10138 2026-03-02 22:41:03 ~16 min tests/e2e 📊rpt
✔️ 0533ea0 2239 2026-03-02 22:52:45 ~18 min tests/e2e-windows 📊rpt
✖️ 0533ea0 1544 2026-03-04 05:39:21 ~8 min tests/e2e-android 📦pkg
✖️ 0533ea0 1593 2026-03-06 05:45:12 ~13 min tests/e2e-android 📦pkg
✖️ 0533ea0 1614 2026-03-07 05:44:09 ~12 min tests/e2e-android 📦pkg
✔️ dc566a1f 2 2026-03-04 05:30:24 ~12 min android/arm64 🤖apk 📲
✔️ fc34cdba 3 2026-03-06 05:31:13 ~12 min android/arm64 🤖apk 📲
✔️ 07eaae19 4 2026-03-07 05:31:14 ~12 min android/arm64 🤖apk 📲
✔️ 75dd8e8 5 2026-03-11 16:49:37 ~17 min android/arm64 🤖apk 📲
✔️ 75dd8e8 2 2026-03-11 16:50:08 ~17 min tests/nim 📄log
✔️ 75dd8e8 2 2026-03-11 16:54:14 ~21 min ios/aarch64 📱ipa 📲
✔️ 75dd8e8 2 2026-03-11 16:55:58 ~23 min tests/ui 📄log
✔️ 75dd8e8 2 2026-03-11 16:59:16 ~26 min linux/x86_64 📦tgz
✔️ 75dd8e8 2 2026-03-11 17:00:45 ~28 min linux/x86_64-nwaku 📦tgz
✔️ 75dd8e8 2 2026-03-11 17:02:04 ~29 min windows/x86_64 💿exe
✔️ 75dd8e8 2 2026-03-11 17:03:28 ~30 min macos/aarch64-nwaku 🍎dmg
✖️ 75dd8e8 1638 2026-03-11 17:04:03 ~14 min tests/e2e-android 📦pkg
✔️ 75dd8e8 10190 2026-03-11 17:24:41 ~25 min tests/e2e 📊rpt
✔️ 75dd8e8 2290 2026-03-11 17:30:30 ~28 min tests/e2e-windows 📊rpt
✔️ d7db7ee 3 2026-03-18 14:24:31 ~19 min ios/aarch64 📱ipa 📲
d7db7ee 3 2026-03-18 14:25:33 ~20 min macos/aarch64-nwaku 📄log
✔️ d7db7ee 3 2026-03-18 14:32:55 ~27 min windows/x86_64 💿exe
✔️ d7db7ee 3 2026-03-18 14:35:07 ~30 min macos/aarch64 🍎dmg
✔️ d7db7ee 6 2026-03-18 14:37:29 ~32 min android/arm64 🤖apk 📲
✔️ d7db7ee 3 2026-03-18 14:50:14 ~45 min tests/nim 📄log
d7db7ee 1 2026-03-18 14:50:37 ~45 min unknown 📄log
✔️ d7db7ee 3 2026-03-18 14:51:55 ~46 min tests/ui 📄log
✔️ d7db7ee 3 2026-03-18 14:58:07 ~53 min linux/x86_64 📦tgz
✔️ d7db7ee 3 2026-03-18 14:59:23 ~54 min linux/x86_64-nwaku 📦tgz
✖️ d7db7ee 2418 2026-03-18 15:05:13 ~32 min tests/e2e-windows 📊rpt
✖️ d7db7ee 1825 2026-03-18 15:26:38 ~49 min tests/e2e-android 📦pkg
✖️ d7db7ee 10322 2026-03-18 15:29:53 ~31 min tests/e2e 📊rpt
✖️ d7db7ee 1878 2026-03-20 05:55:57 ~26 min tests/e2e-android 📦pkg
Commit #️⃣ Finished (UTC) Duration Platform Result
6bac5989 2 2026-03-19 13:40:15 ~4 min unknown 📄log
✔️ 44e30879 7 2026-03-20 05:29:11 ~10 min android/arm64 🤖apk 📲

@jrainville jrainville force-pushed the fix/slow-login-with-bad-connection branch from 0533ea0 to 75dd8e8 Compare March 11, 2026 16:32
Copy link
Copy Markdown
Member

@micieslak micieslak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NICE!

Fixes #19856

There were three issues:
1. The currency service in status-go did multiple network checks. Now in go routines
2. The timesource service did a network call, also in go routines now
3. We did a call to the ENS contract to get the registered address and that took a lot of time too. I made it async in the code.

With all these changes, the app load is at least 10 times faster with a shitty internet.
@jrainville jrainville force-pushed the fix/slow-login-with-bad-connection branch from 75dd8e8 to d7db7ee Compare March 18, 2026 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

App login is super slow when internet connection is bad

4 participants