Improve metro device error connection reporting
Summary: Slightly better error handling, as websockets errors propagated without context Differential Revision: D29515852 fbshipit-source-id: 1df85977965e061a5e4d76bb22a4a3dfb74b6c04
This commit is contained in:
committed by
Facebook GitHub Bot
parent
a8062499df
commit
9ca8bee208
@@ -80,6 +80,7 @@ export default (store: Store, logger: Logger) => {
|
||||
}
|
||||
|
||||
if (await isMetroRunning()) {
|
||||
try {
|
||||
const _ws = new WebSocket(METRO_LOGS_ENDPOINT);
|
||||
|
||||
_ws.onopen = () => {
|
||||
@@ -88,7 +89,13 @@ export default (store: Store, logger: Logger) => {
|
||||
registerMetroDevice(ws, store, logger);
|
||||
};
|
||||
|
||||
_ws.onclose = _ws.onerror = () => {
|
||||
_ws.onclose = _ws.onerror = function (event?: any) {
|
||||
if (event?.type === 'error') {
|
||||
console.error(
|
||||
`Failed to connect to Metro on ${METRO_LOGS_ENDPOINT}`,
|
||||
event,
|
||||
);
|
||||
}
|
||||
if (!unregistered) {
|
||||
unregistered = true;
|
||||
clearTimeout(guard);
|
||||
@@ -109,6 +116,9 @@ export default (store: Store, logger: Logger) => {
|
||||
registerMetroDevice(undefined, store, logger);
|
||||
// Note: no scheduleNext, we won't retry until restart
|
||||
}, 5000);
|
||||
} catch (e) {
|
||||
console.error('Error while setting up Metro websocket connect', e);
|
||||
}
|
||||
} else {
|
||||
scheduleNext();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user