Browse Source
Do not try to send incoming data from GRPC streams to the main window after the window has been closed. Fix #677renovate/lint-staged-8.x
4 changed files with 40 additions and 26 deletions
@ -1,14 +1,21 @@ |
|||||
import { status } from 'grpc' |
import { status } from 'grpc' |
||||
|
import { mainLog } from '../../utils/log' |
||||
|
|
||||
export default function subscribeToChannelGraph(mainWindow, lnd, log) { |
export default function subscribeToChannelGraph() { |
||||
const call = lnd.subscribeChannelGraph({}) |
const call = this.lnd.subscribeChannelGraph({}) |
||||
|
|
||||
call.on('data', channelGraphData => mainWindow.send('channelGraphData', { channelGraphData })) |
call.on('data', channelGraphData => { |
||||
call.on('end', () => log.info('end')) |
if (this.mainWindow) { |
||||
call.on('error', error => error.code !== status.CANCELLED && log.error(error)) |
this.mainWindow.send('channelGraphData', { channelGraphData }) |
||||
call.on('status', channelGraphStatus => |
} |
||||
mainWindow.send('channelGraphStatus', { channelGraphStatus }) |
}) |
||||
) |
call.on('end', () => mainLog.info('end')) |
||||
|
call.on('error', error => error.code !== status.CANCELLED && mainLog.error(error)) |
||||
|
call.on('status', channelGraphStatus => { |
||||
|
if (this.mainWindow) { |
||||
|
this.mainWindow.send('channelGraphStatus', { channelGraphStatus }) |
||||
|
} |
||||
|
}) |
||||
|
|
||||
return call |
return call |
||||
} |
} |
||||
|
@ -1,15 +1,18 @@ |
|||||
import { status } from 'grpc' |
import { status } from 'grpc' |
||||
|
import { mainLog } from '../../utils/log' |
||||
|
|
||||
export default function subscribeToInvoices(mainWindow, lnd, log) { |
export default function subscribeToInvoices() { |
||||
const call = lnd.subscribeInvoices({}) |
const call = this.lnd.subscribeInvoices({}) |
||||
|
|
||||
call.on('data', invoice => { |
call.on('data', invoice => { |
||||
log.info('INVOICE:', invoice) |
mainLog.info('INVOICE:', invoice) |
||||
mainWindow.send('invoiceUpdate', { invoice }) |
if (this.mainWindow) { |
||||
|
this.mainWindow.send('invoiceUpdate', { invoice }) |
||||
|
} |
||||
}) |
}) |
||||
call.on('end', () => log.info('end')) |
call.on('end', () => mainLog.info('end')) |
||||
call.on('error', error => error.code !== status.CANCELLED && log.error(error)) |
call.on('error', error => error.code !== status.CANCELLED && mainLog.error(error)) |
||||
call.on('status', status => log.info('INVOICE STATUS:', status)) |
call.on('status', status => mainLog.info('INVOICE STATUS:', status)) |
||||
|
|
||||
return call |
return call |
||||
} |
} |
||||
|
@ -1,15 +1,18 @@ |
|||||
import { status } from 'grpc' |
import { status } from 'grpc' |
||||
|
import { mainLog } from '../../utils/log' |
||||
|
|
||||
export default function subscribeToTransactions(mainWindow, lnd, log) { |
export default function subscribeToTransactions() { |
||||
const call = lnd.subscribeTransactions({}) |
const call = this.lnd.subscribeTransactions({}) |
||||
|
|
||||
call.on('data', transaction => { |
call.on('data', transaction => { |
||||
log.info('TRANSACTION:', transaction) |
mainLog.info('TRANSACTION:', transaction) |
||||
mainWindow.send('newTransaction', { transaction }) |
if (this.mainWindow) { |
||||
|
this.mainWindow.send('newTransaction', { transaction }) |
||||
|
} |
||||
}) |
}) |
||||
call.on('end', () => log.info('end')) |
call.on('end', () => mainLog.info('end')) |
||||
call.on('error', error => error.code !== status.CANCELLED && log.error(error)) |
call.on('error', error => error.code !== status.CANCELLED && mainLog.error(error)) |
||||
call.on('status', status => log.info('TRANSACTION STATUS: ', status)) |
call.on('status', status => mainLog.info('TRANSACTION STATUS: ', status)) |
||||
|
|
||||
return call |
return call |
||||
} |
} |
||||
|
Loading…
Reference in new issue