Revert "Use jotai for websocket"
continuous-integration/drone/push Build is passing Details

This reverts commit cc1808c9ec.
This commit is contained in:
qvalentin 2023-07-25 13:28:50 +02:00
parent bf48a8d4cc
commit 66d70cbfe4
2 changed files with 9 additions and 16 deletions

View File

@ -1,5 +1,5 @@
import { atom, useAtom } from 'jotai' import { atom, useAtom } from 'jotai'
import { useCallback } from 'react' import { useCallback, useState } from 'react'
const roomNameAtom = atom(getRoomNameFromUrl()) const roomNameAtom = atom(getRoomNameFromUrl())

View File

@ -1,19 +1,19 @@
import { atom, useAtom } from 'jotai' import { useCallback, useState } from 'react'
import { useCallback, useEffect } from 'react'
import { WEBSOCKET_URL } from '../background/constants' import { WEBSOCKET_URL } from '../background/constants'
import { UserInfo } from '../components/jitsi/types' import { UserInfo } from '../components/jitsi/types'
const createWebSocketConnection = (userInfo: UserInfo) => {
const webSocket = new WebSocket(WEBSOCKET_URL) const webSocket = new WebSocket(WEBSOCKET_URL)
const webSocketConnectionAtom = atom(webSocket) console.log('[Rooms] createWebSocketConnection')
webSocket.addEventListener('open', (_: Event) => webSocket.send(JSON.stringify(userInfo)))
return webSocket
}
function useWebSocketConnection(userInfo: UserInfo) { function useWebSocketConnection(userInfo: UserInfo) {
console.log('[Rooms] useWebSocketConnection') console.log('[Rooms] useWebSocketConnection')
const [webSocketConnection] = useAtom(webSocketConnectionAtom) const [webSocketConnection] = useState<WebSocket>(() => createWebSocketConnection(userInfo))
useEffect(() => {
sendMessageNowOrLater(webSocketConnection, JSON.stringify(userInfo))
}, [webSocketConnection, userInfo]);
const sendMessage = useCallback( const sendMessage = useCallback(
(message: string) => { (message: string) => {
@ -41,11 +41,4 @@ function useWebSocketConnection(userInfo: UserInfo) {
return { onMessage, sendMessage, disconnect } return { onMessage, sendMessage, disconnect }
} }
const sendMessageNowOrLater = (webSocket: WebSocket, message: string) => {
if (webSocket.readyState !== WebSocket.OPEN) {
return webSocket.addEventListener('open', (_: Event) => webSocket.send(message))
}
webSocket.send(message)
}
export default useWebSocketConnection export default useWebSocketConnection