diff --git a/src/PeerManager.ts b/src/PeerManager.ts index 493c0e3..b7d6693 100644 --- a/src/PeerManager.ts +++ b/src/PeerManager.ts @@ -78,7 +78,7 @@ export class PeerManager { return { first, second } } - getPeername(peerID:string) { + getPeername(peerID: string) { let { first: adjective, second: snake } = this.funkyName(peerID, this.adjectives, this.snakes); let peername = `${adjective}_${snake}` return peername; @@ -321,7 +321,7 @@ export class PeerManager { let output = `Current status:` + "\n" + `[${logID(this.peerID)}]${this.getPeername(this.peerID)}[local]` + "\n"; for (let [peerID, peer] of this.peers) { - output += `[${logID(peerID)}]${peer.rtcPeer?.connectionState}:${this.getPeername(peerID)}${(peerID === this.bootstrapPeerID) ? "[Bootstrap]":""}` + "\n"; + output += `[${logID(peerID)}]${peer.rtcPeer?.connectionState}:${this.getPeername(peerID)}${(peerID === this.bootstrapPeerID) ? "[Bootstrap]" : ""}` + "\n"; } output += `numActivePeers: ${numActive}` + "\n"; @@ -501,7 +501,7 @@ class PeerConnection { private ignoreOffer: boolean = false; private isSettingRemoteAnswerPending: boolean = false; private polite = true; - private webRTCSuperlog = false; + private webRTCSuperlog = true; private dataChannelSuperlog = false; private chunkSize = (16 * 1024) - 100; messageSuperlog: boolean = false; @@ -521,7 +521,7 @@ class PeerConnection { iceServers: [ { urls: "stun:ddln.app" }, // { urls: "turn:ddln.app", username: "a", credential: "b" }, - // { urls: "stun:stun.l.google.com" }, // keeping this for now as my STUN server is not returning ipv6 + { urls: "stun:stun.l.google.com" }, // keeping this for now as my STUN server is not returning ipv6 // { urls: "stun:stun1.l.google.com" }, // { urls: "stun:stun2.l.google.com" }, // { urls: "stun:stun3.l.google.com" }, @@ -651,9 +651,23 @@ class PeerConnection { // this.rtcPeer.onicecandidate = ({ candidate }) => this.signaler.send(JSON.stringify({ candidate })); // this.rtcPeer.onicecandidate = ({ candidate }) => console.log.apply(null, log(candidate); + this.rtcPeer.onicegatheringstatechange = (event) => { + this.webRTCSuperlog && console.log.apply(null, log("onicegatheringstatechange:", this.rtcPeer?.iceGatheringState)); + + } + + this.rtcPeer.oniceconnectionstatechange = (event:Event) => { + this.webRTCSuperlog && console.log.apply(null, log("oniceconnectionstatechange:", this.rtcPeer?.iceConnectionState)); + + } + + + this.rtcPeer.onicecandidateerror = (event: RTCPeerConnectionIceErrorEvent) => { + this.webRTCSuperlog && console.log.apply(null, log(`onicecandidateerror: ${event.errorCode} ${event.errorText} ${event.address} ${event.url}`)); + } this.rtcPeer.onicecandidate = ({ candidate }) => { - this.webRTCSuperlog && console.log.apply(null, log(candidate)); + this.webRTCSuperlog && console.log.apply(null, log(`onicecandidate`, candidate)); this.sendPeerMessage(this.remotePeerID, { type: "rtc_candidate", candidate: candidate }); } diff --git a/static/PeerManager.js b/static/PeerManager.js index cb73bbb..87b6ade 100644 --- a/static/PeerManager.js +++ b/static/PeerManager.js @@ -373,7 +373,7 @@ class PeerConnection { this.ignoreOffer = false; this.isSettingRemoteAnswerPending = false; this.polite = true; - this.webRTCSuperlog = false; + this.webRTCSuperlog = true; this.dataChannelSuperlog = false; this.chunkSize = (16 * 1024) - 100; this.messageSuperlog = false; @@ -468,8 +468,17 @@ class PeerConnection { } // this.rtcPeer.onicecandidate = ({ candidate }) => this.signaler.send(JSON.stringify({ candidate })); // this.rtcPeer.onicecandidate = ({ candidate }) => console.log.apply(null, log(candidate); + this.rtcPeer.onicegatheringstatechange = (event) => { + this.webRTCSuperlog && console.log.apply(null, log("onicegatheringstatechange:", this.rtcPeer?.iceGatheringState)); + }; + this.rtcPeer.oniceconnectionstatechange = (event) => { + this.webRTCSuperlog && console.log.apply(null, log("oniceconnectionstatechange:", this.rtcPeer?.iceConnectionState)); + }; + this.rtcPeer.onicecandidateerror = (event) => { + this.webRTCSuperlog && console.log.apply(null, log(`onicecandidateerror: ${event.errorCode} ${event.errorText} ${event.address} ${event.url}`)); + }; this.rtcPeer.onicecandidate = ({ candidate }) => { - this.webRTCSuperlog && console.log.apply(null, log(candidate)); + this.webRTCSuperlog && console.log.apply(null, log(`onicecandidate`, candidate)); this.sendPeerMessage(this.remotePeerID, { type: "rtc_candidate", candidate: candidate }); }; this.rtcPeer.onnegotiationneeded = async (event) => { @@ -683,7 +692,7 @@ PeerConnection.config = { iceServers: [ { urls: "stun:ddln.app" }, // { urls: "turn:ddln.app", username: "a", credential: "b" }, - // { urls: "stun:stun.l.google.com" }, // keeping this for now as my STUN server is not returning ipv6 + { urls: "stun:stun.l.google.com" }, // keeping this for now as my STUN server is not returning ipv6 // { urls: "stun:stun1.l.google.com" }, // { urls: "stun:stun2.l.google.com" }, // { urls: "stun:stun3.l.google.com" },