chore: bump status-go — defer mailserver history sync in background#21111
Open
xAlisher wants to merge 8 commits into
Open
chore: bump status-go — defer mailserver history sync in background#21111xAlisher wants to merge 8 commits into
xAlisher wants to merge 8 commits into
Conversation
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>
Member
Jenkins BuildsClick to see older builds (13)
|
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>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The `allowSyncingOnMobileNetwork` list item in Profile > Messaging was hidden with `visible: false` pending validation. The backend toggle (getSyncingOnMobileNetwork) is fully implemented and working. Removing the visibility guard exposes the setting so users can opt into Wi-Fi-only syncing and avoid LTE radio drain from Waku keepalives. Closes #21045 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
saledjenic
reviewed
Jun 3, 2026
| // Notify the messenger layer of background/foreground state so it can | ||
| // defer mailserver history syncs that would otherwise run while the | ||
| // screen is locked and drain the LTE radio (status-im/status-go#7508). | ||
| nativeCall("SetAppBackground", "[" + !visible + "]"); |
Contributor
There was a problem hiding this comment.
@xAlisher we don't need a new explicit call here, when we can use ResumeServices/PauseServices for that on the statusgo side, which is already implemented.
Now that Messenger is registered as a Pausable service in status-go (PausableMessenger), the existing PauseServices/ResumeServices call already gates filter health-check pings and mailserver history syncs when the app is backgrounded. The explicit SetAppBackground call is no longer needed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Contributor
Author
|
Good point @saledjenic. Updated in bcce26d: On the status-go side (status-im/status-go#7508 @ 5ab25f5): added On the status-app side: removed the explicit |
Updates the submodule to include the refactored lifecycle hooks: - Messenger registered in ServiceRegistry as PausableMessenger - SetAppBackground removed; background mode flows through ToBackground/ToForeground - Folded backgroundMode + SetFilterBackgroundMode into existing lifecycle hooks Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Companion PR for status-im/status-go#7508.
vendor/status-gotod793ad5d99a115967edf55af5e4a590047983e36SetAppBackgroundRPC intoStatusGoService.javaWhat 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
backgroundModeflag that gatesasyncRequestAllHistoricMessages(). This PR wires the Android lifecycle signal so the flag is set correctly.Changes
vendor/status-go— bumped to status-im/status-go#7508StatusGoService.java— inscheduleBackendLifecycleUpdate():Called after
PauseServices/ResumeServices, on the samelifecycleExecutorthread with coalescing already in place.Test plan
adb shell dumpsys netstats— Status RX bytes should be minimal)Closes #21045 (R2 of proposed fixes)