Mejor copia para el navegador es "demasiado antiguo para funcionar en este sitio"

Al iniciar sesión en el SDMB (y también en try.discourse.org) hoy, me encuentro con el siguiente mensaje:

Desafortunadamente, tu navegador es demasiado antiguo para funcionar en este sitio. Por favor, actualiza tu navegador para ver contenido enriquecido, iniciar sesión y responder.

Sin embargo, estoy usando la versión más reciente de mi navegador, SeaMonkey 2.53.13, que se lanzó hace solo cuatro días. Discourse puede haber decidido no admitirlo, pero es incorrecto decir que es “demasiado antiguo” para funcionar con Discourse. De hecho, si anulo la cadena User-Agent del navegador, descubro que todo parece funcionar bien.

El problema parece ser la detección imprecisa del User-Agent por parte de Discourse. Por defecto, la cadena User-Agent de SeaMonkey anuncia compatibilidad con Firefox:

Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.13

Si cambio la cadena User-Agent de la siguiente manera para ocultar la compatibilidad con Firefox (a través de Editar → Preferencias → Avanzado → Red HTTP → Cadena de Agente de Usuario → Identificarse como SeaMonkey), entonces SeaMonkey puede visitar sitios de Discourse nuevamente sin problemas obvios:

Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 SeaMonkey/2.53.13

Entiendo que Discourse puede no desear admitir navegadores como SeaMonkey que ya no son convencionales, pero sería bueno que esos navegadores no fueran bloqueados proactivamente para acceder a los sitios de Discourse. E incluso si estos navegadores son bloqueados proactivamente, sería bueno que Discourse no informara una razón falsa para hacerlo.

Por favor, mejoren la detección del User-Agent para que verifique hasta el final de la cadena antes de decidir si el agente de usuario es “demasiado antiguo”. (Sospecho que actualmente solo busca los nombres y versiones de los navegadores admitidos, independientemente de su posición dentro de la cadena User-Agent). Después de todo, no bloquean navegadores porque informan una versión antigua de Mozilla al principio de la cadena, así que ¿por qué deberían bloquear navegadores porque informan una versión antigua de Firefox en el medio de la cadena?

Si por alguna razón es indeseable o poco práctico cambiar el algoritmo de detección, entonces cambien el comportamiento al detectar un agente de usuario supuestamente incompatible: en lugar de decirle al usuario (quizás falsamente) que su navegador es “demasiado antiguo” y bloquear el acceso posterior, dígale al usuario que su navegador no está admitido y enlace a la lista de navegadores admitidos, pero dele la opción de continuar de todos modos usando su navegador actual.

Lo más probable es que tenga que ver con la forma en que Discourse verifica el agente de usuario, en mi opinión, Seamonkey no debería tener una opción de encabezado de Firefox si va a mostrar una versión antigua de Firefox, que no es compatible con Discourse, lo más probable es que se deba a una mala planificación por parte de Seamonkey, no de Discourse.

2 Me gusta

Normalmente, Discourse intenta detectar versiones no compatibles mediante la comprobación de funciones en lugar de la inspección de UA.

Un problema reciente con el compositor en versiones antiguas de Firefox les obligó a utilizar la inspección de UA porque si preguntabas a ciertas versiones de Firefox, ellas decían felizmente (y técnicamente de forma precisa) que admitían las funciones necesarias cuando, de hecho, tenían errores y no funcionaban correctamente.

El problema aquí es que Seamonkey está diciendo a los sitios por defecto que es compatible con una versión mucho más antigua de Firefox en lugar de la versión con la que realmente es compatible.

Discourse está haciendo lo correcto en este caso.

4 Me gusta

No creo que sea tan simple. Una versión dada de SeaMonkey anuncia compatibilidad con una cierta versión de Firefox porque esas dos versiones de navegador comparten el mismo código base central. Generalmente se puede asumir que esa versión de SeaMonkey puede hacer, como mínimo, todo lo que esa versión de Firefox puede hacer. Además de esta compatibilidad central, una versión dada de SeaMonkey también puede admitir ciertas características que las versiones posteriores de Firefox admiten, aunque no necesariamente todas. Por lo tanto, no sería veraz (ni generalmente útil) que SeaMonkey anunciara explícitamente la compatibilidad con esas versiones posteriores.

En resumen, el hecho de que un navegador nuevo anuncie compatibilidad con un navegador antiguo no significa que el navegador nuevo no admita también características más nuevas. De nuevo, la mayoría de los navegadores hoy en día anuncian compatibilidad con Mozilla/5.0, pero eso no significa que estén estrictamente limitados a lo que ese motor antiguo puede hacer.

¿Podrías intentar abrir el compositor y ver si los botones de negrita/cursiva funcionan correctamente? Ese es el problema que tuvimos con las versiones anteriores de Firefox.

1 me gusta

Una alternativa a la detección de UA que coincide con una versión cercana (89 → 91) de Firefox es la detección de características window.visualViewport. ¿Quizás podamos cambiar a eso? Pero aún necesitamos agregar una omisión para Safari 12.5 hasta enero :weary:

¿Podrías intentar abrir el editor y ver si los botones de Negrita/Cursiva funcionan correctamente? Ese es el problema que tuvimos con las versiones anteriores de Firefox.

Puedo confirmar que esos botones actualmente no funcionan correctamente para mí en SeaMonkey 2.53.13, pero sí lo hacen en Firefox 100.0.2. No había intentado usarlos antes, ya que siempre escribo directamente en Markdown.

Ahora que lo mencionas, el botón de Responder tampoco funciona en SeaMonkey aquí en meta, aunque sí funciona en boards.straightdope.com (ejecutándose en hosted-by-discourse.com).

1 me gusta

Entonces, ¿la advertencia que tenemos en la parte superior es válida?

2 Me gusta

No tal como está redactada, no, porque mi navegador no es “antiguo” y no necesito “actualizarlo”. Lo mínimo que podrías hacer sería cambiar la redacción a: “Parece que estás utilizando un navegador no compatible. Cambia a un navegador compatible para ver contenido enriquecido, iniciar sesión y responder”.

4 Me gusta

Sí, estoy de acuerdo con actualizar el texto, “old” de hecho está juzgando e incluso lynx todavía está en desarrollo activo.

3 Me gusta

@nbianca ¿puedes actualizar la copia?

2 Me gusta

Actualicé el texto en esta PR:

2 Me gusta

Este tema se cerró automáticamente después de 4 días. Ya no se permiten nuevas respuestas.