fixing webrtc web connection issues

This commit is contained in:
Roland Osborne 2023-04-06 21:19:48 -07:00
parent adf2301cf1
commit eff87f2526

View File

@ -91,8 +91,7 @@ export function useRingContext() {
const servers = candidates.current; const servers = candidates.current;
candidates.current = []; candidates.current = [];
for (let i = 0; i < servers.length; i++) { for (let i = 0; i < servers.length; i++) {
const server = servers[i]; await pc.current.addIceCandidate(servers[0]);
ws.current.send(JSON.stringify(server));
} }
} }
} }
@ -138,8 +137,7 @@ export function useRingContext() {
const servers = candidates.current; const servers = candidates.current;
candidates.current = []; candidates.current = [];
for (let i = 0; i < servers.length; i++) { for (let i = 0; i < servers.length; i++) {
const server = servers[i]; await pc.current.addIceCandidate(servers[0]);
ws.current.send(JSON.stringify(server));
} }
} }
} }
@ -223,8 +221,8 @@ export function useRingContext() {
updateState({ callStatus: "connected" }); updateState({ callStatus: "connected" });
if (policy === 'polite') { if (policy === 'polite') {
connected.current = true; connected.current = true;
await polite(); transmit('polite');
await transmit('polite'); polite();
} }
} }
else if (signal.status === 'closed') { else if (signal.status === 'closed') {
@ -240,8 +238,12 @@ export function useRingContext() {
} }
} }
else if (signal.candidate) { else if (signal.candidate) {
const candidate = new RTCIceCandidate(signal.candidate); if (pc.current.remoteDescription == null) {
await pc.current.addIceCandidate(candidate); candidates.current.push(signal.candidate);
}
else {
await pc.current.addIceCandidate(signal.candidate);
}
} }
} }
catch (err) { catch (err) {
@ -268,8 +270,8 @@ export function useRingContext() {
ws.current.send(JSON.stringify({ AppToken: token })); ws.current.send(JSON.stringify({ AppToken: token }));
if (policy === 'impolite') { if (policy === 'impolite') {
connected.current = true; connected.current = true;
await impolite(); transmit('impolite');
await transmit('impolite'); impolite();
} }
} }
ws.current.error = (e) => { ws.current.error = (e) => {