From 58cd4b872b2bfbe497accdcb9ae30c883e965afb Mon Sep 17 00:00:00 2001 From: Tobias Berger <14962962+Toby222@users.noreply.github.com> Date: Fri, 28 Jan 2022 10:46:05 +0000 Subject: [PATCH] Don't reconnect for namechange --- src/pages/index.tsx | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 4aa7b8a..458aa08 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -103,16 +103,25 @@ export default function Index(): JSX.Element { const tryConnect = useCallback( (opts: ConnectionOptions) => { - webSocket.getWebSocket()?.close(); - console.debug(opts); - setConnectedUsers([]); - setMessageHistory([]); - setAuthorId(""); + // Don't reconnect, just send new desiredName + if (opts.desiredName === desiredName) { + setDesiredName(opts.desiredName); + webSocket.sendJsonMessage({ + type: MessageType.DESIRED_NAME, + date: Date.now(), + desiredName: opts.desiredName, + } as DesiredNameMessage); + } else { + webSocket.getWebSocket()?.close(); + setConnectedUsers([]); + setMessageHistory([]); + setAuthorId(""); - setDesiredName(opts.desiredName); - setSocketUrl(opts.url); + setDesiredName(opts.desiredName); + setSocketUrl(opts.url); + } }, - [webSocket] + [desiredName, webSocket] ); const trySendMessage = useCallback(() => {