Skip to content

chore: bump status-go — defer mailserver history sync in background#21111

Open
xAlisher wants to merge 4 commits into
masterfrom
chore/bump-status-go-defer-mailserver-sync
Open

chore: bump status-go — defer mailserver history sync in background#21111
xAlisher wants to merge 4 commits into
masterfrom
chore/bump-status-go-defer-mailserver-sync

Conversation

@xAlisher
Copy link
Copy Markdown
Contributor

@xAlisher xAlisher commented Jun 2, 2026

Summary

Companion PR for status-im/status-go#7508.

  • Bumps vendor/status-go to d793ad5d99a115967edf55af5e4a590047983e36
  • Wires the new SetAppBackground RPC into StatusGoService.java

What this fixes

When the app is backgrounded and LTE connectivity resumes (airplane mode off, dead zone recovery), status-go was unconditionally requesting all historic messages — generating 321 MB of background network traffic and keeping the LTE radio at 99% duty cycle (~425 mAh/hr). Measured in #21045 (T5 soak).

The status-go PR adds a backgroundMode flag that gates asyncRequestAllHistoricMessages(). This PR wires the Android lifecycle signal so the flag is set correctly.

Changes

vendor/status-go — bumped to status-im/status-go#7508

StatusGoService.java — in scheduleBackendLifecycleUpdate():

nativeCall("SetAppBackground", "[" + !visible + "]");

Called after PauseServices/ResumeServices, on the same lifecycleExecutor thread with coalescing already in place.

Test plan

  • Background app → airplane mode off → no mailserver sync in background (verify via adb shell dumpsys netstats — Status RX bytes should be minimal)
  • Foreground app after reconnect → sync runs, messages appear
  • Push notifications still work while backgrounded

Closes #21045 (R2 of proposed fixes)

xAlisher and others added 2 commits June 2, 2026 17:53
Updates vendor/status-go to status-im/status-go#7508.

Companion PR for the background battery drain fix:
- Adds backgroundMode flag to Messenger
- Gates asyncRequestAllHistoricMessages() in handleConnectionChange
  and checkForStorenodeCycleSignals when app is backgrounded
- Exposes SetAppBackground RPC (wired in StatusGoService.java in this PR)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Wires the new SetAppBackground RPC (status-im/status-go#7508) into
scheduleBackendLifecycleUpdate so the messenger layer knows when the app
is backgrounded and can defer mailserver history syncs accordingly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@status-im-auto
Copy link
Copy Markdown
Member

status-im-auto commented Jun 2, 2026

Jenkins Builds

Click to see older builds (4)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 76eadf8 1 2026-06-02 16:05:27 ~10 min tests/nim 📄log
✔️ 76eadf8 1 2026-06-02 16:05:50 ~10 min android/arm64 🤖apk 📲
✔️ 76eadf8 1 2026-06-02 16:08:26 ~13 min tests/ui 📄log
✔️ 76eadf8 1 2026-06-02 16:09:40 ~14 min ios/aarch64 📱ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 99c4317 3 2026-06-02 16:37:13 ~12 min tests/nim 📄log
✔️ 99c4317 3 2026-06-02 16:38:25 ~14 min android/arm64 🤖apk 📲
✔️ 99c4317 3 2026-06-02 16:39:16 ~15 min ios/aarch64 📱ipa 📲
✔️ 99c4317 3 2026-06-02 16:39:58 ~15 min macos/aarch64 🍎dmg
✔️ 99c4317 3 2026-06-02 16:41:12 ~16 min tests/ui 📄log
✔️ 99c4317 3 2026-06-02 16:46:11 ~21 min linux/x86_64 📦tgz
✔️ 99c4317 11558 2026-06-02 17:07:42 ~21 min tests/e2e 📊rpt
✔️ 99c4317 3 2026-06-02 17:16:04 ~51 min windows/x86_64 💿exe
✖️ 99c4317 3494 2026-06-02 18:06:22 ~50 min tests/e2e-windows 📊rpt

xAlisher and others added 2 commits June 2, 2026 18:10
Includes fix(filter): suppress Waku filter-subscription renewal in background
(R1 of #21045 battery-drain fix, logos-messaging/logos-delivery-go#1304)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

[Mobile] Android flagged Status for high battery consumption and CPU usage

2 participants