não simplesmente porque vi esse comportamento algumas vezes nas últimas duas semanas, apenas no meu iPhone e ouvi o mesmo de outros usuários, mas não consigo reproduzir, parece aleatório.
este parece ser um bug antigo. No momento, não consigo reproduzi-lo em nenhum lugar e todos os tópicos vinculados têm pelo menos um ano. parece um fórum que não está atualizado.
Parece ser o mesmo comportamento - acontece ao abrir um site externo de dentro do discourse. Por exemplo, abrir https://discourse.org/ a partir de meta.discourse.org.
Eu também pensei assim, no entanto, parece acontecer apenas ao clicar no fórum e, como encontrei outras postagens, pensei que talvez alguém pudesse esclarecer isso - pode ser um problema do iOS. Seria mais fácil se não estivesse carregando CSS toda vez e apenas às vezes
@Lilly Gostaria de saber se você poderia compartilhar como o Discourse lida com href e se há alguma maneira específica para iOS? Isso parece ser um problema relacionado ao Safari, mas só acontece quando se sai do Discourse para outro domínio. Esse outro domínio não está sendo carregado como se o Discourse estivesse tentando carregar localmente o HTML da página solicitada.
Já tentamos forçar a política de não cache e brincar com o prefixo www. Nada parece funcionar. São exatamente os problemas mencionados aqui:
Eles tiveram o site principal carregado de seu community.URL.com, o que causou o mesmo carregamento parcial da página.
Há meses que usuários de iPhone relatam que, ao clicar em links do subdomínio (discourse) de volta para o site principal, a página pode não carregar CSS ou JS, mas apenas HTML, tornando-a inutilizável.
Isso não acontece todas as vezes, mas com frequência suficiente para que eles precisem recarregar a página para corrigir. Ao recarregar, eles permanecem no discourse, então precisam clicar novamente.
Analisando o arquivo access.log do nginx, podemos ver que, por algum motivo, o discourse tenta buscar os arquivos do domínio principal em vez do índice do domínio principal.
Nem é preciso dizer que o discourse não possui esses arquivos, e assim a página fica quebrada.
Isto é do "access.log" do nginx:
[19/May/2024:09:49:51 +0000] \"here.domain.com\" 176.76.227.47 \"GET /js/cart/cart.js?v=0.32 HTTP/2.0\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile\" \"-\" 429 230 \"https://here.domain.com/c/testing/17\" - 0.000 \"-\" \"-\" \"-\" \"-\" \"-\" \"-\" \"-\"
[19/May/2024:09:49:51 +0000] \"here.domain.com\" 176.76.227.47 \"GET /css/footer_and_header.css?v=1.13 HTTP/2.0\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile\" \"-\" 404 7963 \"https://here.domain.com/c/testing/17\" 0.019 0.019 \"-\" \"-\" \"-\" \"-\" \"-\" \"-\" \"-\"
[19/May/2024:09:49:51 +0000] \"here.domain.com\" 176.76.227.47 \"GET /css/common/jssocials.css?v=0.03 HTTP/2.0\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile\" \"-\" 404 7968 \"https://here.domain.com/c/testing/17\" 0.020 0.020 \"-\" \"-\" \"-\" \"-\" \"-\" \"-\" \"-\"
[19/May/2024:09:49:51 +0000] \"here.domain.com\" 176.76.227.47 \"GET /js/common/lightslider.js?v=0.14 HTTP/2.0\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile\" \"-\" 404 7980 \"https://here.domain.com/c/testing/17\" 0.020 0.020 \"-\" \"-\" \"-\" \"-\" \"-\" \"-\" \"-\"
[19/May/2024:09:49:51 +0000] \"here.domain.com\" 176.76.227.47 \"GET /js/common/jssocials.js HTTP/2.0\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile\" \"-\" 404 7978 \"https://here.domain.com/c/testing/17\" 0.034 0.034 \"-\" \"-\" \"-\" \"-\" \"-\" \"-\" \"-\"
Tentamos usar links href e window.reload(), mas o problema permanece o mesmo. Mais uma vez, acontece apenas ocasionalmente e apenas para usuários de iPhone.
Alguma ideia do porquê isso acontece e como pode ser corrigido?
Observamos alguns problemas estranhos como este. Pelo que podemos dizer, deve ser um bug no Safari/WebKit. Seria impossível que esse tipo de renderização de ‘site misto’ acontecesse. Registramos um relatório com o WebKit. (cc @pmusaraj)
Se alguém conseguir encontrar uma maneira consistente de reproduzir o problema, isso certamente ajudaria a priorizar o bug.
Alguma ideia para uma solução alternativa de link externo?
Tanto o HREF do HTML quanto o window.replace do JS se comportam da mesma forma
(Tenho certeza de que Avançar/Voltar são quase impossíveis de substituir)
Infelizmente, não tenho ideias para uma solução alternativa. Tentei cancelar o registro de service workers caso esse fosse o motivo do conflito, mas não teve efeito.
Atualmente, mudei para o Safari Technology Preview localmente. Ele parece não ter o problema, o que pode ser um indicativo de que isso foi corrigido em versões mais recentes do Webkit. Ou, significa que um navegador novo com um cache novo não tem os problemas… difícil dizer.
Monitoraremos isso e continuaremos procurando por correções, os problemas afetam várias pessoas na equipe do Discourse e em diferentes plataformas (macOS, iOS, aplicativo DiscourseHub). A curto prazo de encontrar uma correção mágica, no entanto, o melhor que podemos fazer aqui é seguir o relatório de bug do Webkit e adicionar informações adicionais lá, se relevante/útil.