diff --git a/desktop/flipper-server-core/src/comms/ServerController.tsx b/desktop/flipper-server-core/src/comms/ServerController.tsx index 6eb8dacd5..b61a0a0d7 100644 --- a/desktop/flipper-server-core/src/comms/ServerController.tsx +++ b/desktop/flipper-server-core/src/comms/ServerController.tsx @@ -213,7 +213,6 @@ export class ServerController } onConnectionClosed(clientId: string) { - // TODO: track connections closed. this.removeConnection(clientId); } @@ -222,22 +221,20 @@ export class ServerController } onSecureConnectionAttempt(clientQuery: SecureClientQuery): void { - // TODO: track secure connection attempt. const strippedClientQuery = (({device_id, ...o}) => o)(clientQuery); let id = buildClientId({device_id: 'unknown', ...strippedClientQuery}); - const tracker = this.timestamps.get(id); - if (tracker) { + const timestamp = this.timestamps.get(id); + if (timestamp) { this.timestamps.delete(id); } id = buildClientId(clientQuery); this.timestamps.set(id, { secureStart: Date.now(), - ...tracker, + ...timestamp, }); - this.logger.track( - 'usage', - 'trusted-request-handler-called', + tracker.track( + 'app-connection-secure-attempt', (({csr, ...o}) => o)(clientQuery), ); diff --git a/desktop/flipper-server-core/src/utils/tracker.tsx b/desktop/flipper-server-core/src/utils/tracker.tsx index 8d39a9e1b..1a8c38a4c 100644 --- a/desktop/flipper-server-core/src/utils/tracker.tsx +++ b/desktop/flipper-server-core/src/utils/tracker.tsx @@ -9,6 +9,14 @@ import {getLogger} from 'flipper-common'; +type AppConnectionPayload = { + app: string; + os: string; + device: string; + device_id: string; + medium: number | undefined; +}; + type TrackerEvents = { 'server-started': {port: number; tcp: boolean}; 'server-auth-token-verification': { @@ -18,13 +26,8 @@ type TrackerEvents = { }; 'server-socket-already-in-use': {}; 'server-proxy-error': {error: string}; - 'app-connection-created': { - app: string; - os: string; - device: string; - device_id: string; - medium: number | undefined; - }; + 'app-connection-created': AppConnectionPayload; + 'app-connection-secure-attempt': AppConnectionPayload; }; class ServerCoreTracker {