Closed
Conversation
handleAppStateChange did not cancel pending network-restore retry timers, so a stale timer could fire after the app-resume path already recovered the connection. Because attemptNetworkRestoreReconnect calls validateAndReconnect with skipPing=true, the health check that would detect the healthy connection was bypassed, forcing an unnecessary disconnect-and-reconnect cycle and briefly disrupting live data streams. Add cancelNetworkRestoreRetry() at the top of handleAppStateChange so both recovery paths cannot conflict. Co-authored-by: Nick Gambino <gambinish@users.noreply.github.com>
|
Cursor Agent can help with this pull request. Just |
Contributor
🔍 Smart E2E Test Selection⏭️ Smart E2E selection skipped - base branch is not main (base: fix/recovering-background) All E2E tests pre-selected. |
7 tasks
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Cancel pending network restore retries when the app resumes to prevent unnecessary reconnections.
The
handleAppStateChangemethod now callscancelNetworkRestoreRetry()to prevent a race condition where a stale network-restore retry timer could fire after the app-resume path has already successfully re-established the connection, forcing an unwanted disconnect and reconnect.