From d58a62858940d2736ddcbdcd9d967a5f0b86baeb Mon Sep 17 00:00:00 2001 From: talksik Date: Thu, 19 May 2022 11:51:17 -0500 Subject: [PATCH] more progress but calling not working now --- .vscode/settings.json | 2 +- packages/desktop/package.json | 4 +- .../desktop/src/providers/StreamProvider.tsx | 61 +++++++++++-------- .../protected/terminal/panels/MainPanel.tsx | 42 ------------- 4 files changed, 40 insertions(+), 69 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index abfc7e4..23131b1 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,7 +8,7 @@ "editor.defaultFormatter": "esbenp.prettier-vscode", "workbench.colorTheme": "Default Light+", "javascript.format.semicolons": "insert", - "window.zoomLevel": 1 + "window.zoomLevel": 0 // "eslint.workingDirectories": ["./packages/desktop"] } diff --git a/packages/desktop/package.json b/packages/desktop/package.json index 0227512..86a4d99 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -42,8 +42,8 @@ [ "@electron-forge/plugin-webpack", { - "port": "4005", - "loggerPort": "9005", + "port": "4000", + "loggerPort": "9000", "mainConfig": "./webpack.main.config.js", "devContentSecurityPolicy": "connect-src 'self' http://localhost:5000 ws://localhost:5000 https://api.quotable.io/random 'unsafe-eval'", "renderer": { diff --git a/packages/desktop/src/providers/StreamProvider.tsx b/packages/desktop/src/providers/StreamProvider.tsx index ffb7e51..31147be 100644 --- a/packages/desktop/src/providers/StreamProvider.tsx +++ b/packages/desktop/src/providers/StreamProvider.tsx @@ -16,6 +16,35 @@ import useTerminalProvider from './TerminalProvider'; import MasterLineData from '@nirvana/core/models/masterLineData.model'; import { useEffectOnce } from 'react-use'; +const iceServers = [ + { urls: 'stun:stun.l.google.com:19302' }, + { urls: 'stun:stun.l.google.com:19302' }, + { urls: 'stun:stun1.l.google.com:19302' }, + { urls: 'stun:stun2.l.google.com:19302' }, + { urls: 'stun:stun3.l.google.com:19302' }, + { urls: 'stun:stun4.l.google.com:19302' }, + { + url: 'turn:numb.viagenie.ca', + credential: 'muazkh', + username: 'webrtc@live.com', + }, + { + url: 'turn:numb.viagenie.ca', + credential: 'muazkh', + username: 'webrtc@live.com', + }, + { + url: 'turn:192.158.29.39:3478?transport=udp', + credential: 'JZEOEt2V3Qb0y27GRntt2u2PAYA=', + username: '28224511:1379330808', + }, + { + url: 'turn:192.158.29.39:3478?transport=tcp', + credential: 'JZEOEt2V3Qb0y27GRntt2u2PAYA=', + username: '28224511:1379330808', + }, +]; + type LinePeerMap = { [lineId: string]: { userId: string; peer: Peer; mediaStream?: MediaStream }[]; }; @@ -46,18 +75,10 @@ export function StreamProvider({ children }: { children: React.ReactChild }) { const peerForMeAndNewbie = new Peer({ initiator: false, - trickle: true, // prevents the multiple tries on different ice servers and signal from getting called a bunch of times + trickle: false, // prevents the multiple tries on different ice servers and signal from getting called a bunch of times stream: userLocalStream, config: { - iceServers: [ - { urls: 'stun:stun.l.google.com:19302' }, - { urls: 'stun:global.stun.twilio.com:3478?transport=udp' }, - { - url: 'turn:numb.viagenie.ca', - credential: 'muazkh', - username: 'webrtc@live.com', - }, - ], + iceServers, }, }); @@ -223,19 +244,11 @@ function LineConnector({ const connectingToast = toast.loading('calling peer for a snappy experience'); const localPeerConnection = new Peer({ - initiator: true, + initiator: false, stream: localMediaStream, trickle: true, // prevents the multiple tries on different ice servers and signal from getting called a bunch of times, config: { - iceServers: [ - { urls: 'stun:stun.l.google.com:19302' }, - { urls: 'stun:global.stun.twilio.com:3478?transport=udp' }, - { - url: 'turn:numb.viagenie.ca', - credential: 'muazkh', - username: 'webrtc@live.com', - }, - ], + iceServers, }, }); @@ -248,11 +261,11 @@ function LineConnector({ ); toast.dismiss(connectingToast); - }); - // sending back the connection to the parent - // so that we can accept the answer later on - handleAddPeer(lineId, memberId, localPeerConnection, localMediaStream); + // sending back the connection to the parent + // so that we can accept the answer later on + handleAddPeer(lineId, memberId, localPeerConnection, localMediaStream); + }); }); }); }); diff --git a/packages/desktop/src/tree/protected/terminal/panels/MainPanel.tsx b/packages/desktop/src/tree/protected/terminal/panels/MainPanel.tsx index e6a1884..5cc815d 100644 --- a/packages/desktop/src/tree/protected/terminal/panels/MainPanel.tsx +++ b/packages/desktop/src/tree/protected/terminal/panels/MainPanel.tsx @@ -45,45 +45,3 @@ export default function MainPanel() { ); } - -function LineStreams({ broadcasters }: { broadcasters: string[] }) { - const { peerMap } = useStreams(); - - console.log(peerMap); - return ( -
- {broadcasters?.map((userId) => { - const currentPeer = peerMap[userId]; - - return currentPeer && ; - })} - this is the list of current streams we are going to show -
- ); -} - -function Stream({ peer }: { peer: Peer }) { - const streamRef = useRef(null); - - useEffect(() => { - peer.on('stream', (remotePeerStream: MediaStream) => { - console.log( - 'stream coming in from remote peer...BUT, only going to show once they broadcast', - ); - console.log(peer); - - // const audio = new Audio(); - // audio.autoplay = true; - // audio.srcObject = remotePeerStream; - - if (streamRef?.current) streamRef.current.srcObject = remotePeerStream; - }); - }, []); - - return ( - <> - this is a stream component of one remote peer -