From f4855727c1977f3bf562760facae1e3a913cd283 Mon Sep 17 00:00:00 2001 From: talksik Date: Tue, 3 May 2022 10:14:34 -0500 Subject: [PATCH] sort of working but the initiator is not getting what he/she needs --- packages/desktop/src/pages/overlay/index.tsx | 42 ++++++++++++-------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/packages/desktop/src/pages/overlay/index.tsx b/packages/desktop/src/pages/overlay/index.tsx index 07a5633..8f0fab6 100644 --- a/packages/desktop/src/pages/overlay/index.tsx +++ b/packages/desktop/src/pages/overlay/index.tsx @@ -36,11 +36,10 @@ export default function Overlay() { $maxNumberActiveStreams ); - const [remoteStreams, setRemoteStreams] = useState([]); + // all of the peer connections to all people this client is connecting to + const [localPeerConnections, setLocalPeerConnections] = useState([]); - const [peersRefs, setPeersRefs] = useState< - { peer: Peer; socketUserId: string }[] - >([]); + const peersRefs = useRef<{ peer: Peer; socketUserId: string }[]>([]); const localVideoRef = useRef(null); @@ -80,6 +79,7 @@ export default function Overlay() { (data: GetAllSocketClients) => { console.log("all socket client connections", data); + const peers = []; data?.socketIds.map((userSocketId) => { if (userSocketId === socket.id) return; @@ -102,11 +102,15 @@ export default function Overlay() { } as SendSignal); }); - setPeersRefs((prevPeersRefs) => [ - ...prevPeersRefs, - { peer: localPeerInitiator, socketUserId: userSocketId }, - ]); + peersRefs.current.push({ + peer: localPeerInitiator, + socketUserId: userSocketId, + }); + + peers.push(localPeerInitiator); }); + + setLocalPeerConnections(peers); } ); @@ -117,7 +121,7 @@ export default function Overlay() { console.log("got back answerers signal"); // from the list of peers here locally, we want to accept the answers signal - const localPeerRefToAnswerer = peersRefs.find( + const localPeerRefToAnswerer = peersRefs.current.find( (peerRef) => peerRef.socketUserId === payload.senderUserSocketId ); @@ -136,12 +140,16 @@ export default function Overlay() { } as SendSignal); }); - setPeersRefs((prevPeersRefs) => [ - ...prevPeersRefs, - { - peer: peerToCallerPeer, - socketUserId: payload.senderUserSocketId, - }, + peerToCallerPeer.signal(payload.simplePeerSignal); + + peersRefs.current.push({ + peer: peerToCallerPeer, + socketUserId: payload.senderUserSocketId, + }); + + setLocalPeerConnections((prevPeers) => [ + ...prevPeers, + peerToCallerPeer, ]); } }); @@ -177,8 +185,8 @@ export default function Overlay() {