Skip to content

Commit b8621af

Browse files
authored
fix: registered tokens kept on wallet reset (#848)
1 parent 3b0ef3e commit b8621af

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

src/reducers/index.js

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1121,8 +1121,26 @@ export const onStartWalletFailed = (state) => ({
11211121
walletStartState: WALLET_STATUS.FAILED,
11221122
});
11231123

1124+
/**
1125+
* Reset wallet state when user explicitly resets their wallet.
1126+
*
1127+
* Resets to initialState but preserves:
1128+
* - isVersionAllowed: API version check is independent of wallet data
1129+
* - ledgerWasClosed: Ledger device state persists across wallet instances
1130+
* - featureTogglesInitialized: Unleash client runs independently
1131+
*
1132+
* Note: networkSettings is intentionally reset because the onWalletReset saga
1133+
* resets localStorage and reloads default network settings before this reducer runs.
1134+
*
1135+
* Note 2: The default values to preserve are the same from `onCleanData()`
1136+
*/
11241137
export const onStartWalletReset = (state) => ({
1125-
...state,
1138+
...initialState,
1139+
// Preserve session-level flags independent of wallet data
1140+
isVersionAllowed: state.isVersionAllowed,
1141+
ledgerWasClosed: state.ledgerWasClosed,
1142+
featureTogglesInitialized: state.featureTogglesInitialized,
1143+
// Explicitly ensure these states are cleared
11261144
walletStartState: null,
11271145
loadingAddresses: false,
11281146
});

0 commit comments

Comments
 (0)