Discourse doesn't work/load on video game console browsers?

Some of our users who browse our forum on the Xbox One console recently started to receive a blank page. They were able to browse forums before.

I checked on the Xbox Series X console using Edge browser and some C lite browser, and I can confirm this. I also tried to visit some other Discourse forums, and they won’t load too. Even the meta.discourse.org can’t load.

One of our members tried to load forums on the PlayStation 4 console, also without any success.

So, any ideas why Discourse can’t be loaded on consoles?

It is an issue with the EdgeHTML version of Microsoft Edge (which is no longer supported). Try telling your users to update their applications. I can only imagine how hard it is to browse a Discourse community on a game console.

There is some good news though.

1 Like

We should certainly be showing the HTML view, not a blank page. Are your users getting a blank / white page?

cc @dan

1 Like

Yes, blank page. In the browser tab you can see which forum you are visiting but page is blank. On one of the forums I visited, they use background image for the forum and that image is loaded but Discourse itself is not.

I tried almost all available browsers that can be downloaded from MS store on the console, and result is the same.

1 Like

Discourse has two ways of detecting “unsupported browsers”, browsers that do not implement all the APIs Discourse needs to function correctly.

The first method is implemented in JavaScript and lets the browser decide when it is not able to render the page and automatically falls back to the static HTML view. This should have been the case, but there is some particularity (that is still unknown to me) of the game consoles browsers that fails to execute this code and thus a blank page is rendered.

The second method runs on the server side, was specifically implemented for these situations and forces the browser to render the static HTML view when it detects some user agents. This method uses a hidden site setting that you can update via the Rails console.

I think this will solve your problem. To start the console, SSH to your server and run:

cd /var/discourse
./launcher enter app
rails c

To update the hidden site setting type:

SiteSetting.browser_update_user_agents = "#{SiteSetting.browser_update_user_agents}|Xbox|PlayStation"
2 Likes

The next major update for Xbox Series consoles should switch to Chromium Edge as shown in the video link above, so this would be a bit of a broken detection if you only add Xbox there. Trident/ or Edge/ (new Edge says ‘Edg/’) might be a better match.

The PS4 browser (or PS5 ‘hidden’ browser?) is odd to be broken, did Sony not update their WebKit port or break something compared to Safari?

That will cover a lot of another user agents other than consoles, and it isn¨t wanted, right?

1 Like

All web browsers from the Microsoft Store are required to use the same rendering engine as the old Microsoft Edge.