Fix gray screen crash that might happen when gathering usage stats

Reviewed By: jknoxville

Differential Revision: D26814271

fbshipit-source-id: bd857a42ae6b2528e42c96d0865ae2c532ea345f
This commit is contained in:
Michel Weststrate
2021-03-04 05:59:40 -08:00
committed by Facebook GitHub Bot
parent 05a7451173
commit 67e87c2fa5

View File

@@ -11,7 +11,7 @@ import {ipcRenderer, remote} from 'electron';
import {performance} from 'perf_hooks';
import {EventEmitter} from 'events';
import {Store} from '../reducers/index';
import {State, Store} from '../reducers/index';
import {Logger} from '../fb-interfaces/Logger';
import Client from '../Client';
import {
@@ -121,8 +121,19 @@ export default (store: Store, logger: Logger) => {
);
}
ipcRenderer.on('trackUsage', (_e, ...args: any[]) => {
const state = store.getState();
ipcRenderer.on('trackUsage', (event, ...args: any[]) => {
let state: State;
try {
state = store.getState();
} catch (e) {
// if trackUsage is called (indirectly) through a reducer, this will utterly die Flipper. Let's prevent that and log an error instead
console.error(
'trackUsage triggered indirectly as side effect of a reducer. Event: ',
event.type,
event,
);
return;
}
const {
selectedDevice,
selectedPlugin,