From 79b46e0b5a68604a1a875a921a4d32f788da6b73 Mon Sep 17 00:00:00 2001 From: Mitchell McCaffrey Date: Sun, 3 May 2020 23:18:45 +1000 Subject: [PATCH] Moved urls to environment and turn server retreval --- .env | 2 ++ .env.production | 2 ++ src/helpers/useSession.js | 19 +++++++++++++++---- 3 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 .env create mode 100644 .env.production diff --git a/.env b/.env new file mode 100644 index 0000000..f2f811d --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +REACT_APP_BROKER_URL=http://localhost:9000 +REACT_APP_ICE_SERVERS_URL=http://localhost:9000/iceservers \ No newline at end of file diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..493684e --- /dev/null +++ b/.env.production @@ -0,0 +1,2 @@ +REACT_APP_BROKER_URL=https://agent.owlbear.rodeo +REACT_APP_ICE_SERVERS_URL=http://agent.owlbear.rodeo/iceservers \ No newline at end of file diff --git a/src/helpers/useSession.js b/src/helpers/useSession.js index 164a829..1de6308 100644 --- a/src/helpers/useSession.js +++ b/src/helpers/useSession.js @@ -6,7 +6,7 @@ import Peer from "../helpers/Peer"; import AuthContext from "../contexts/AuthContext"; -const socket = io("https://agent.owlbear.rodeo"); +const socket = io(process.env.REACT_APP_BROKER_URL); function useSession( partyId, @@ -18,9 +18,16 @@ function useSession( onPeerError ) { const { password, setAuthenticationStatus } = useContext(AuthContext); + const [iceServers, setIceServers] = useState([]); useEffect(() => { - socket.emit("join party", partyId, password); + async function joinParty() { + const response = await fetch(process.env.REACT_APP_ICE_SERVERS_URL); + const data = await response.json(); + setIceServers(data.iceServers); + socket.emit("join party", partyId, password); + } + joinParty(); }, [partyId, password]); const [peers, setPeers] = useState({}); @@ -127,7 +134,11 @@ function useSession( // Setup event listeners for the socket useEffect(() => { function addPeer(id, initiator, sync) { - const connection = new Peer({ initiator, trickle: false }); + const connection = new Peer({ + initiator, + trickle: false, + config: { iceServers }, + }); setPeers((prevPeers) => ({ ...prevPeers, @@ -178,7 +189,7 @@ function useSession( socket.removeListener("signal", handleSignal); socket.removeListener("auth error", handleAuthError); }; - }, [peers, setAuthenticationStatus]); + }, [peers, setAuthenticationStatus, iceServers]); return { peers, socket }; }