Некоторые пользователи, которые просматривают наш форум на консоли Xbox One, недавно начали получать пустую страницу. Ранее они могли просматривать форумы без проблем.
Я проверил на консоли Xbox Series X с помощью браузера Edge и лёгкого браузера C, и могу подтвердить это. Также я попытался зайти на другие форумы Discourse, но они тоже не загружаются. Даже meta.discourse.org не открывается.
Один из наших участников пытался загрузить форумы на консоли PlayStation 4, но тоже без успеха.
Есть ли какие-то идеи, почему Discourse не загружается на консолях?
Это проблема с версией Microsoft Edge на движке EdgeHTML (которая больше не поддерживается). Посоветуйте пользователям обновить свои приложения. Только представить, насколько сложно просматривать сообщество Discourse на игровой приставке.
Да, пустая страница. Во вкладке браузера можно увидеть, какой форум вы посещаете, но сама страница пуста. На одном из посещенных форумов используется фоновое изображение для форума, и оно загружается, но сам Discourse — нет.
Я попробовал почти все доступные браузеры, которые можно загрузить из Microsoft Store на консоль, и результат тот же.
У Discourse есть два способа определения «неподдерживаемых браузеров» — браузеров, которые не реализуют все API, необходимые для корректной работы Discourse.
Первый метод реализован на JavaScript и позволяет браузеру самостоятельно определить, что он не может отобразить страницу, автоматически переключаясь на статическое HTML-представление. В идеале так и должно было произойти, однако в браузерах игровых консолей есть какая-то особенность (пока неизвестная мне), из-за которой этот код не выполняется, и в результате отображается пустая страница.
Второй метод работает на стороне сервера, был специально реализован для таких ситуаций и принудительно отображает статическое HTML-представление при обнаружении определённых пользовательских агентов. Этот метод использует скрытую настройку сайта, которую можно обновить через консоль Rails.
Думаю, это решит вашу проблему. Чтобы запустить консоль, подключитесь к серверу по SSH и выполните:
Следующее крупное обновление для консолей Xbox Series, как показано в видео выше, должно перейти на Chromium Edge, поэтому, если вы добавите туда только Xbox, это будет немного некорректным определением. Trident/ или Edge/ (новое Edge использует ‘Edg/’) могут быть лучшим совпадением.
Странно, что браузер PS4 (или «скрытый» браузер PS5?) работает некорректно. Не обновил ли Sony свой порт WebKit или не сломал ли он что-то по сравнению с Safari?
Мы внесли необходимые исправления, и консоли со старыми движками браузеров получат нашу базовую версию HTML только для чтения и смогут навигировать по Discourse.
Также с последним обновлением мы подтвердили, что Xbox One, S и X теперь могут просматривать полное веб-приложение Discourse