fix: only reconnect accounts for active chain during rehydration #1356
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.
Bug when switching chains after refreshing page
Explanation
hydrate
function callshydrateAccountState
, which reads all existing accounts from the store and sets them to "RECONNECTING" on all chains.hydrate
function then calls thereconnect
function, which callscreateAccount
for each account. But this only happens on the active chain, so any other chain's accounts will get stuck in the "RECONNECTING" state but never actually reconnect.Solutions
createAccount
function to accept an optionchain
param instead of only being able to reconnect accounts on the active chain.Pull Request Checklist
yarn test
)site
folder, and guidelines for updating/adding docs can be found in the contribution guide)feat!: breaking change
)yarn lint:check
) and fix any issues? (yarn lint:write
)PR-Codex overview
This PR focuses on enhancing the account state management by introducing an
activeChainId
that determines if the current chain is active, affecting the reconnection logic for various account types.Detailed summary
activeChainId
to track the current active chain.isActiveChain
to check if the current chain matchesactiveChainId
.LightAccount
,MultiOwnerModularAccount
,MultiOwnerLightAccount
, andModularAccountV2
to considershouldReconnect
based on the active chain.