Browse Source

refactor websocket

Yuken Tezuka 3 years ago
parent
commit
e75dd0b6a9
1 changed files with 23 additions and 18 deletions
  1. 23 18
      packages/app/src/stores/websocket.tsx

+ 23 - 18
packages/app/src/stores/websocket.tsx

@@ -1,6 +1,6 @@
 import { useEffect } from 'react';
 
-import io, { Socket } from 'socket.io-client';
+import type { Socket } from 'socket.io-client';
 import { SWRResponse } from 'swr';
 
 import loggerFactory from '~/utils/logger';
@@ -23,14 +23,19 @@ export const useSetupGlobalSocket = (): void => {
   const { mutate } = useStaticSWR(GLOBAL_SOCKET_KEY);
 
   useEffect(() => {
-    const socket = io(GLOBAL_SOCKET_NS, {
-      transports: ['websocket'],
-    });
+    const setUpSocket = async() => {
+      const { io } = await import('socket.io-client');
+      const socket = io(GLOBAL_SOCKET_NS, {
+        transports: ['websocket'],
+      });
 
-    socket.on('error', (err) => { logger.error(err) });
-    socket.on('connect_error', (err) => { logger.error('Failed to connect with websocket.', err) });
+      socket.on('error', (err) => { logger.error(err) });
+      socket.on('connect_error', (err) => { logger.error('Failed to connect with websocket.', err) });
 
-    mutate(socket);
+      mutate(socket);
+    };
+
+    setUpSocket();
 
   }, [mutate]);
 };
@@ -42,20 +47,20 @@ export const useGlobalSocket = (): SWRResponse<Socket, Error> => {
 /*
  * Global Admin Socket
  */
-export const useSetupGlobalAdminSocket = (shouldInit: boolean): SWRResponse<Socket, Error> => {
-  let socket: Socket | undefined;
+// export const useSetupGlobalAdminSocket = (shouldInit: boolean): SWRResponse<Socket, Error> => {
+//   let socket: Socket | undefined;
 
-  if (shouldInit) {
-    socket = io(GLOBAL_ADMIN_SOCKET_NS, {
-      transports: ['websocket'],
-    });
+//   if (shouldInit) {
+//     socket = io(GLOBAL_ADMIN_SOCKET_NS, {
+//       transports: ['websocket'],
+//     });
 
-    socket.on('error', (err) => { logger.error(err) });
-    socket.on('connect_error', (err) => { logger.error('Failed to connect with websocket.', err) });
-  }
+//     socket.on('error', (err) => { logger.error(err) });
+//     socket.on('connect_error', (err) => { logger.error('Failed to connect with websocket.', err) });
+//   }
 
-  return useStaticSWR(shouldInit ? GLOBAL_ADMIN_SOCKET_KEY : null, socket);
-};
+//   return useStaticSWR(shouldInit ? GLOBAL_ADMIN_SOCKET_KEY : null, socket);
+// };
 
 export const useGlobalAdminSocket = (): SWRResponse<Socket, Error> => {
   return useStaticSWR(GLOBAL_ADMIN_SOCKET_KEY);