@@ -3,15 +3,16 @@ import { AnyAction, isAnyOf } from '@reduxjs/toolkit';
3
3
import { createMiddlewareWithExtraDeps } from '@suite-common/redux-utils' ;
4
4
import { DEVICE } from '@trezor/connect' ;
5
5
import {
6
+ accountsActions ,
6
7
deviceActions ,
7
8
forgetDisconnectedDevices ,
8
9
handleDeviceDisconnect ,
9
10
observeSelectedDevice ,
10
11
selectDeviceThunk ,
12
+ selectAccountsByDeviceState ,
11
13
} from '@suite-common/wallet-core' ;
12
14
import { FeatureFlag , selectIsFeatureFlagEnabled } from '@suite-native/feature-flags' ;
13
-
14
- import { wipeDisconnectedDevicesDataThunk } from '../deviceThunks' ;
15
+ import { clearAndUnlockDeviceAccessQueue } from '@suite-native/device-mutex' ;
15
16
16
17
const isActionDeviceRelated = ( action : AnyAction ) : boolean => {
17
18
if (
@@ -49,6 +50,12 @@ export const prepareDeviceMiddleware = createMiddlewareWithExtraDeps(
49
50
50
51
if ( deviceActions . forgetDevice . match ( action ) ) {
51
52
dispatch ( handleDeviceDisconnect ( action . payload ) ) ;
53
+
54
+ const deviceState = action . payload . state ;
55
+ if ( deviceState ) {
56
+ const accounts = selectAccountsByDeviceState ( getState ( ) , deviceState ) ;
57
+ dispatch ( accountsActions . removeAccount ( accounts ) ) ;
58
+ }
52
59
}
53
60
54
61
const isUsbDeviceConnectFeatureEnabled = selectIsFeatureFlagEnabled (
@@ -65,7 +72,7 @@ export const prepareDeviceMiddleware = createMiddlewareWithExtraDeps(
65
72
break ;
66
73
case DEVICE . DISCONNECT :
67
74
dispatch ( handleDeviceDisconnect ( action . payload ) ) ;
68
- dispatch ( wipeDisconnectedDevicesDataThunk ( ) ) ;
75
+ clearAndUnlockDeviceAccessQueue ( ) ;
69
76
break ;
70
77
default :
71
78
break ;
0 commit comments