Discord/WebRTC - known working chrome useragent.override

Board for discussions around the Basilisk web browser.

Moderator: Basilisk-Dev

User avatar
Viper_63
Hobby Astronomer
Hobby Astronomer
Posts: 17
Joined: 2021-01-05, 22:52

Discord/WebRTC - known working chrome useragent.override

Unread post by Viper_63 » 2021-01-05, 22:57

As of today I am having trouble getting discord to work correctly. Discord apaprently recognizes WebRTC, but always gets stuck on "RTC connecting". Does anybody have a known good/working useragent for discord?

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35591
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Discord/WebRTC - known working chrome useragent.override

Unread post by Moonchild » 2021-01-05, 23:18

Discord likely only works with the latest and greatest version of WebRTC as-present in Chrome.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
Viper_63
Hobby Astronomer
Hobby Astronomer
Posts: 17
Joined: 2021-01-05, 22:52

Re: Discord/WebRTC - known working chrome useragent.override

Unread post by Viper_63 » 2021-01-06, 10:37

Well, at least it worked fine up until yesterday, unfortunately I lost my "working" useragent.override trying to troubleshoot this.

Did the update change anything in regards to how useragent overrides are handled (as in, do they still work the same way when entered via general.useragent.override)? Did anything change in regards to WebRTC support?

Console throws me this error:

Code: Select all

Error: Invalid payload: audioCodec: opus, audioPayloadType: 109, videoCodec: H264, videoCodecPayloadType: 126, rtxPayloadType: null, sdp: m=audio 50004 ICE/SDP
a=fingerprint:sha-256 ***
c=IN IP4 188.122.75.166
a=rtcp:50004
a=ice-ufrag:85lt
a=ice-pwd:***
a=fingerprint:sha-256 ***
a=candidate:1 1 UDP 4261412862 188.122.75.166 50004 typ host
To say I am not an expert as to firefox codec handling would be an understatement, but might this and discord getting stuck on "rtc connecting" be related? Would it be possible to fix this?
Last edited by Viper_63 on 2021-01-06, 10:47, edited 1 time in total.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35591
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Discord/WebRTC - known working chrome useragent.override

Unread post by Moonchild » 2021-01-06, 10:44

Yes something did change, it's in the release notes.
GLOBAL user-agent overrides need to be done with a different preference now, so if you were using a global override before (not recommended) then you'll have to either make site-specific user-agent overrides (recommended) through general.useragent.overrides.{domain.tld} or reinstate the global override with the new pref network.http.useragent.global_override (must be created manually)

If it complains about an "invalid payload" though then I'm not entirely sure if creating a UA override will help unless discord will serve different webrtc content to different UAs.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
Viper_63
Hobby Astronomer
Hobby Astronomer
Posts: 17
Joined: 2021-01-05, 22:52

Re: Discord/WebRTC - known working chrome useragent.override

Unread post by Viper_63 » 2021-01-06, 10:57

Yes, I did read the release notes, but I was unable to tell if the changes impacted site-specific overrides as well. This was compounded by the update and discord breaking coinciding. Thanks for the heads-up.

Any idea as to why the payload fails?

Addendum:

Using the latest firefox useragent (Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0) gets rid of the error, but instead throws this:

Code: Select all

TypeError: i.getTransceivers is not a function
For useragents below 80 WebRTC functionality seems to get blocked outright.

Again, does anybody have a working UA override/got discord voice chat working at all since yesterday?


Addendum 2:

As far as I can tell none of the chrome UAs work either, breakpoint seems to be version 51/52.

51 throws this:

Code: Select all

Unhandled promise rejection DOMException [InternalError: "Cannot create an offer with no local tracks, no offerToReceiveAudio/Video, and no DataChannel."
code: 0
nsresult: 0x0]
While 52 and up throw the above error:

Code: Select all

Error: Invalid payload: audioCodec: opus, audioPayloadType: 109, videoCodec: H264, videoCodecPayloadType: 126, rtxPayloadType: null, sdp: m=audio 50003 ICE/SDP
a=fingerprint:sha-256 *
c=IN IP4 188.122.76.22
a=rtcp:50003
a=ice-ufrag:LqZS
a=ice-pwd:*
a=fingerprint:sha-256 *
a=candidate:1 1 UDP 4261412862 188.122.76.22 50003 typ host
Again, any input by people who have been using discord voice-chat functionality would be appreciated.

Locked