Correção para suporte quebrado de navegadores

Gostaria de ressaltar que você não “restaurou a funcionalidade completa” do fórum.

O Discourse realiza uma verificação de recursos do navegador (aqui) para as coisas nas quais depende e define a flag unsupportedBrowser de acordo. Seu navegador falha nessas verificações.

Sobrescrever essa flag não restaura recursos no navegador que nunca existiram; fará o Discourse falhar em vários lugares.

Se a equipe de desenvolvedores fosse realmente fazer o Discourse funcionar no FF 115 ESR, teria que criar polyfills para recursos como, por exemplo, CSS :has, light-dark(), cores relativas, entre outros. Esses recursos são usados pelo Discourse e não são compatíveis com o Firefox ESR 115. A quantidade de tempo/linhas de código gastada na sua sobrescrita da flag está longe do esforço necessário para realmente fazer as coisas funcionar criando esses polyfills. Esses são os recursos de desenvolvedores aos quais me refiro.

Podemos debater se um bloqueio rígido é melhor do que permitir que algo falhe (semi-)graciosamente, mas essa é uma decisão deles, não nossa.

3 curtidas

Apesar de você querer enfatizar isso, não torna essa afirmação verdadeira. Posso estar sendo ligeiramente hiperbólico, mas não intencionalmente. O Discourse tinha zero funcionalidade antes da sobrescrita e, depois dela, parece estar funcionando normalmente. Se ainda houver alguma funcionalidade faltando, eu ainda não notei, então estou confiante em afirmar que a funcionalidade total (ou pelo menos quase total) foi restaurada.

É engraçado você mencionar polyfill, já que recentemente escrevi um para o Intl.Segmenter para uso no Grok.com e no pds.ls, e esses scripts não eram muito mais longos do que este aqui. Entendo que existam APIs mais novas que os desenvolvedores querem usar e que alguns navegadores ainda não implementaram, mas elas raramente são um requisito absoluto e não são particularmente difíceis de contornar. Já resolvi o problema do :has de forma bastante fácil. Muitas dessas APIs mais novas são apenas maneiras diferentes de fazer coisas que já eram possíveis há anos. Contorná-las geralmente é uma questão de escolha, não de impossibilidade técnica.

A discussão sobre o suporte a navegadores obsoletos desperta algumas memórias bastante assustadoras das horas intermináveis passadas corrigindo todos os tipos de problemas e bugs encontrados no Internet Explorer.

Nenhum desenvolvedor quer passar por isso novamente. Vamos deixar o passado no passado.

6 curtidas

O Internet Explorer foi um crime contra a humanidade e ninguém está sugerindo que tragamos de volta essa abominação. Este tópico é apenas sobre corrigir bugs no Discourse.

Acho que isso é menos sobre corrigir bugs e mais sobre você defender sua posição. Os argumentos já foram apresentados, e não foram poucos.

Boa sorte.

2 curtidas

Acho que o ponto que está sendo ignorado é que não se trata de um bug no Discourse. É uma decisão consciente da equipe de desenvolvimento de não dar suporte a um navegador.

5 curtidas

Posso assegurar que esta discussão é sobre corrigir bugs, não sobre defender posições. Estou tentando manter as discussões fora do tópico ao mínimo, mas não tenho controle sobre os posts de outras pessoas neste site.

Não é que esse “ponto” esteja sendo esquecido, é simplesmente irrelevante, já que estamos discutindo as informações por trás dessa decisão. Essa “decisão” é baseada em informações e entendimento, o que estou corrigindo com meu post.

Como @RGJ explicou, utilizamos a detecção de recursos para garantir que os navegadores sejam compatíveis com todas as funcionalidades das quais o Discourse depende. Se você contornar essa detecção de recursos, algumas coisas não funcionarão.

Esses problemas podem não ser perceptíveis para você ou podem não se aplicar a determinados fóruns/temas. Mas eles são reais. Não impedimos o uso de certos navegadores sem motivo.

Permitir que as pessoas usem o Discourse em um navegador com algumas funcionalidades ausentes levaria a muita confusão e sobrecarga no suporte. Esclarecer os requisitos desde o início é a experiência de usuário que escolhemos. Para esses navegadores mais antigos, o conteúdo do fórum ainda é legível para usuários anônimos na visualização basic-html.

Empreendemos muitos esforços para dar suporte a navegadores mais antigos, especialmente quando o caminho de atualização é mais difícil (estamos olhando para você… Safari). Mas precisamos estabelecer um limite em algum lugar.

7 curtidas

Por que a @staff simplesmente não fecha esse tópico?, claramente o OP está se fazendo de desentendido ou de sonso e tornando a discussão redundante.

3 curtidas

Se você reler a discussão, verá que já abordei vários desses pontos. Em primeiro lugar, os recursos em questão não são estritamente necessários, e as alternativas para lidar com eles não exigem muito esforço. Em segundo lugar, o Firefox não é um navegador antigo — o RGJ já reconheceu isso. Em terceiro lugar, qualquer confusão potencial (que na verdade não encontrei até agora) ainda é uma experiência melhor do que o site ficar completamente inoperante por qualquer padrão. Por fim, entendo a dificuldade de manter o suporte a navegadores, mas não concordo em interromper o acesso sem necessidade, algo que a simplicidade da minha correção deixa claro.

Estamos andando em círculos aqui, então vou encerrar este tópico. Nossa política de suporte de navegadores pode ser encontrada aqui.

O Firefox 115 não suporta os recursos dos quais o Discourse depende, e não planejamos adicionar compatibilidade com versões anteriores.

12 curtidas