Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions packages/neuron-wallet/src/controllers/networks/index.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { dialog } from 'electron'
import { t } from 'i18next'
import env from 'env'
import { skip, distinctUntilChanged, debounceTime } from 'rxjs/operators'
import { distinctUntilChanged, skip } from 'rxjs/operators'
import { NetworkType, Network } from 'models/network'
import NetworksService from 'services/networks'
import NodeService from 'services/node'
import { ResponseCode } from 'utils/const'
import { IsRequired, InvalidName, NetworkNotFound, CurrentNetworkNotSet } from 'exceptions'
import { switchToNetwork } from 'block-sync-renderer'
import { resetSyncTaskQueue, switchToNetwork } from 'block-sync-renderer'
import { CurrentNetworkIDSubject, NetworkListSubject } from 'models/subjects/networks'
import ChainInfo from './chain-info'
import logger from 'utils/logger'
Expand All @@ -18,14 +18,15 @@ export default class NetworksController {
public async start() {
NodeService.getInstance()
.connectionStatusSubject // TODO: find out the redundant message and remove skip
.pipe(distinctUntilChanged(), debounceTime(3000), skip(1))
.pipe(distinctUntilChanged(), skip(1))
.subscribe(async (connected: boolean) => {
if (connected) {
await networksService.update(networksService.getCurrentID(), {})
this.notifyListChange()
await this.connectToNetwork(true)
} else {
logger.debug('Network:\tconnection dropped')
resetSyncTaskQueue.push(false)
}
})

Expand Down
2 changes: 2 additions & 0 deletions packages/neuron-wallet/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@ const appController = AppController.getInstance()
const singleInstanceLock = app.requestSingleInstanceLock()
if (singleInstanceLock) {
app.on('ready', async () => {
logger.info('App:\tNeuron is starting')
changeLanguage(SettingsService.getInstance().locale)

appController.start()
})

app.on('before-quit', async () => {
logger.info('App:\tNeuron will exist')
await appController.end()
})

Expand Down
3 changes: 0 additions & 3 deletions packages/neuron-wallet/src/services/ckb-runner.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import process from 'process'
import logger from 'utils/logger'
import SettingsService from './settings'
import MigrateSubject from 'models/subjects/migrate-subject'
import { resetSyncTaskQueue } from 'block-sync-renderer'
import IndexerService from './indexer'

const platform = (): string => {
Expand Down Expand Up @@ -126,14 +125,12 @@ export const startCkbNode = async () => {
isLookingValidTarget = false
ckb = null
})
resetSyncTaskQueue.push(true)

removeOldIndexerIfRunSuccess()
}

export const stopCkbNode = () => {
return new Promise<void>(resolve => {
resetSyncTaskQueue.push(false)
if (ckb) {
logger.info('CKB:\tkilling node')
ckb.once('close', () => resolve())
Expand Down