Skip to content

Commit f1b0f72

Browse files
committed
fix: network switch event broadcast twice
1 parent 89d1b1d commit f1b0f72

1 file changed

Lines changed: 18 additions & 22 deletions

File tree

packages/neuron-wallet/src/services/networks.ts

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,9 @@ import { Validate, Required } from 'decorators'
88
import { UsedName, NetworkNotFound, InvalidFormat } from 'exceptions'
99
import { NetworkListSubject, CurrentNetworkIDSubject } from 'models/subjects/networks'
1010
import { MAINNET_GENESIS_HASH, EMPTY_GENESIS_HASH, NetworkID, NetworkName, NetworkRemote, NetworksKey, NetworkType, Network, NetworkWithID } from 'types/network'
11-
import { remote } from 'electron'
1211
import NetworkSwitchSubject from 'models/subjects/network-switch-subject'
1312

14-
const isRenderer = process && process.type === 'renderer'
15-
const networkSwitchSubject = isRenderer
16-
? remote.require('./models/subjects/network-switch-subject').default.getSubject()
17-
: NetworkSwitchSubject.getSubject()
18-
19-
const currentNetworkIDSubject = isRenderer
20-
? remote.require('./models/subjects/networks').default.CurrentNetworkIDSubject
21-
: CurrentNetworkIDSubject
22-
23-
const networkListSubject = isRenderer
24-
? remote.require('./models/subjects/networks').default.NetworkListSubject
25-
: NetworkListSubject
13+
const isMainProcess = process && process.type === 'browser'
2614

2715
const presetNetworks: { selected: string, networks: NetworkWithID[] } = {
2816
selected: 'mainnet',
@@ -52,20 +40,26 @@ export default class NetworksService extends Store {
5240
super('networks', 'index.json', JSON.stringify(presetNetworks))
5341

5442
const currentNetworkList = this.getAll()
55-
networkListSubject.next({ currentNetworkList })
43+
if (isMainProcess) {
44+
NetworkListSubject.next({ currentNetworkList })
45+
}
5646

5747
const currentNetwork = this.getCurrent()
5848
if (currentNetwork) {
5949
if (currentNetwork.type !== NetworkType.Default) {
6050
this.update(currentNetwork.id, {}) // Update to trigger chain/genesis hash refresh
6151
}
6252

63-
currentNetworkIDSubject.next({ currentNetworkID: currentNetwork.id })
64-
networkSwitchSubject.next(currentNetwork)
53+
if (isMainProcess) {
54+
CurrentNetworkIDSubject.next({ currentNetworkID: currentNetwork.id })
55+
NetworkSwitchSubject.getSubject().next(currentNetwork)
56+
}
6557
}
6658

6759
this.on(NetworksKey.List, async (_, currentNetworkList: NetworkWithID[] = []) => {
68-
networkListSubject.next({ currentNetworkList })
60+
if (isMainProcess) {
61+
NetworkListSubject.next({ currentNetworkList })
62+
}
6963

7064
const currentID = this.getCurrentID()
7165
if (currentNetworkList.find(network => network.id === currentID)) {
@@ -84,8 +78,10 @@ export default class NetworksService extends Store {
8478
if (!currentNetwork) {
8579
throw new NetworkNotFound(currentNetworkID)
8680
}
87-
currentNetworkIDSubject.next({ currentNetworkID })
88-
networkSwitchSubject.next(currentNetwork)
81+
if (isMainProcess) {
82+
CurrentNetworkIDSubject.next({ currentNetworkID })
83+
NetworkSwitchSubject.getSubject().next(currentNetwork)
84+
}
8985
})
9086
}
9187

@@ -169,9 +165,9 @@ export default class NetworksService extends Store {
169165

170166
this.updateAll(list)
171167

172-
if (this.getCurrentID() === id) {
173-
currentNetworkIDSubject.next({ currentNetworkID: id })
174-
networkSwitchSubject.next(network)
168+
if (this.getCurrentID() === id && isMainProcess) {
169+
CurrentNetworkIDSubject.next({ currentNetworkID: id })
170+
NetworkSwitchSubject.getSubject().next(network)
175171
}
176172
}
177173

0 commit comments

Comments
 (0)