Put connection setup state in redux

Summary: Puts the connection state into redux so we have more visibility on what's happening in bug reports and in general allowing us to display it on screen.

Reviewed By: passy

Differential Revision: D13060455

fbshipit-source-id: c79b4b7d6a1155d86128a5d8d1174ead9e4514ae
This commit is contained in:
John Knox
2018-11-15 04:31:54 -08:00
committed by Facebook Github Bot
parent 6362188563
commit 866cb72124
4 changed files with 113 additions and 0 deletions

View File

@@ -15,6 +15,7 @@ import {RSocketServer, ReactiveSocket} from 'rsocket-core';
import RSocketTCPServer from 'rsocket-tcp-server';
import {Single} from 'rsocket-flowable';
import Client from './Client.js';
import type {UninitializedClient} from './UninitializedClient';
import {RecurringError} from './utils/errors';
const EventEmitter = (require('events'): any);
@@ -140,6 +141,13 @@ export default class Server extends EventEmitter {
const clientData = JSON.parse(connectRequest.data);
this.connectionTracker.logConnectionAttempt(clientData);
const client: UninitializedClient = {
os: clientData.os,
deviceName: clientData.device,
appName: clientData.app,
};
this.emit('start-client-setup', client);
if (
clientData.os === 'iOS' &&
!clientData.device.toLowerCase().includes('simulator')
@@ -181,6 +189,7 @@ export default class Server extends EventEmitter {
|} = rawData;
if (json.method === 'signCertificate') {
console.debug('CSR received from device', 'server');
const {csr, destination} = json;
return new Single(subscriber => {
subscriber.onSubscribe();
@@ -193,10 +202,15 @@ export default class Server extends EventEmitter {
}),
metadata: '',
});
this.emit('finish-client-setup', {
client,
deviceId: result.deviceId,
});
})
.catch(e => {
console.error(e, 'server');
subscriber.onError(e);
this.emit('client-setup-error', {client, error: e});
});
});
}