From bd809853e7ed28446adef7a857e3948e316ed9fc Mon Sep 17 00:00:00 2001 From: Lorenzo Blasa Date: Thu, 8 Jun 2023 07:24:32 -0700 Subject: [PATCH] Fixes an issue with client queries and rsocket Summary: This is necessary as we map from the protocol medium to our internal medium representation. Reviewed By: mweststrate Differential Revision: D46557431 fbshipit-source-id: 617307cd860e1c7e230be2441c06417c44af580e --- .../src/comms/ServerRSocket.tsx | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/desktop/flipper-server-core/src/comms/ServerRSocket.tsx b/desktop/flipper-server-core/src/comms/ServerRSocket.tsx index 221f062bc..d93d3b3c0 100644 --- a/desktop/flipper-server-core/src/comms/ServerRSocket.tsx +++ b/desktop/flipper-server-core/src/comms/ServerRSocket.tsx @@ -28,6 +28,7 @@ import { ClientQuery, ClientResponseType, } from 'flipper-common'; +import {transformCertificateExchangeMediumToType} from './Utilities'; /** * RSocket based server. RSocket uses its own protocol for communication between @@ -104,9 +105,13 @@ class ServerRSocket extends ServerAdapter { return {}; } - const clientQuery: SecureClientQuery = JSON.parse(payload.data); - clientQuery.rsocket = true; - // TODO: Add a migration guide + const query = JSON.parse(payload.data); + const clientQuery: SecureClientQuery = { + ...query, + medium: transformCertificateExchangeMediumToType(query.medium), + rsocket: true, + }; + this.listener.onDeprecationNotice( `[conn] RSockets are being deprecated at Flipper. Please, use the latest Flipper client in your app to migrate to WebSockets. App: ${clientQuery.app}. Device: ${clientQuery.device}.`, ); @@ -214,7 +219,12 @@ class ServerRSocket extends ServerAdapter { return {}; } - const clientQuery: ClientQuery = JSON.parse(payload.data); + const query = JSON.parse(payload.data); + const clientQuery: ClientQuery = { + ...query, + medium: transformCertificateExchangeMediumToType(query.medium), + rsocket: true, + }; this.listener.onConnectionAttempt(clientQuery); return {