Discourse não funciona/carrega em navegadores de consoles de videogame?

Alguns de nossos usuários que acessam nosso fórum no console Xbox One começaram recentemente a receber uma página em branco. Eles conseguiam navegar pelos fóruns antes.

Verifiquei no console Xbox Series X usando o navegador Edge e um navegador C Lite, e posso confirmar isso. Também tentei visitar outros fóruns Discourse, e eles também não carregam. Até mesmo o meta.discourse.org não carrega.

Um de nossos membros tentou carregar os fóruns no console PlayStation 4, também sem sucesso.

Então, alguém tem alguma ideia do motivo pelo qual o Discourse não carrega nos consoles?

3 curtidas

É um problema com a versão EdgeHTML do Microsoft Edge (que não é mais suportada). Tente orientar seus usuários a atualizarem seus aplicativos. Só consigo imaginar o quão difícil é navegar em uma comunidade Discourse em um console de jogos.

Mas há algumas boas notícias.

4 curtidas

Certamente, deveríamos estar exibindo a visualização HTML, não uma página em branco. Seus usuários estão recebendo uma página em branco / branca?

cc @dan

5 curtidas

Sim, página em branco. Na aba do navegador, é possível ver qual fórum você está visitando, mas a página permanece em branco. Em um dos fóruns que visitei, eles usam uma imagem de fundo para o fórum, e essa imagem é carregada, mas o próprio Discourse não.

Tentei quase todos os navegadores disponíveis para download na Microsoft Store no console, e o resultado foi o mesmo.

4 curtidas

O Discourse possui duas maneiras de detectar “navegadores não suportados”, ou seja, navegadores que não implementam todas as APIs necessárias para que o Discourse funcione corretamente.

O primeiro método é implementado em JavaScript e permite que o navegador decida quando não consegue renderizar a página, retornando automaticamente à visualização em HTML estático. Esse deveria ter sido o caso, mas há uma particularidade (ainda desconhecida para mim) nos navegadores de consoles de jogos que impede a execução desse código, resultando na renderização de uma página em branco.

O segundo método é executado no lado do servidor, foi implementado especificamente para essas situações e força o navegador a renderizar a visualização em HTML estático ao detectar determinados user agents. Esse método utiliza uma configuração oculta do site que pode ser atualizada via console do Rails.

Acredito que isso resolverá seu problema. Para iniciar o console, faça SSH no seu servidor e execute:

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

Para atualizar a configuração oculta do site, digite:

SiteSetting.browser_update_user_agents = "#{SiteSetting.browser_update_user_agents}|Xbox|PlayStation"
5 curtidas

A próxima grande atualização para os consoles Xbox Series deve migrar para o Chromium Edge, conforme mostrado no link do vídeo acima. Portanto, essa seria uma detecção um pouco falha se você adicionar apenas Xbox ali. Trident/ ou Edge/ (o novo Edge diz ‘Edg/’) podem ser uma correspondência melhor.

O navegador do PS4 (ou o navegador ‘oculto’ do PS5?) é estranho estar quebrado. Será que a Sony não atualizou sua versão do WebKit ou quebrou algo em comparação ao Safari?

1 curtida

Isso cobriria muitos outros user agents além de consoles, e isso não é desejado, certo?

4 curtidas

Todos os navegadores web da Microsoft Store devem usar o mesmo mecanismo de renderização que o antigo Microsoft Edge.

1 curtida

Fizemos as correções necessárias e consoles com motores de navegador antigos receberão nosso HTML básico somente para leitura e poderão navegar no Discourse.

Além disso, com essa última atualização, confirmamos que Xbox One, S e X agora podem navegar na aplicação web completa do Discourse :tada:

9 curtidas

Notícia incrível! Vou conferir pela manhã. Obrigado, equipe do Discourse :heart:!

4 curtidas

A mudança foi implementada nas últimas 24 horas! :grin:

Sim, acabei de verificar no Xbox Series X e os fóruns do Discourse carregam. Obrigado novamente :heart:.

3 curtidas

Este tópico foi automaticamente fechado após 2 dias. Novas respostas não são mais permitidas.