Seamonkey теперь определяется как неподдерживаемый браузер

Я один из администраторов на форуме openSUSE (forums.opensuse.org). У нас есть несколько пользователей, которые используют последнюю версию SeaMonkey в качестве браузера.

Недавно мы обновились с версии 3.0.3 (полагаю, это была она — обновление выполнил наш технический администратор) до 3.1.3, и эти пользователи сообщили, что больше не могут войти на форум.

Я провёл небольшое расследование, и, похоже, проверка браузера, которая не проходит, находится в PR 19847 — конкретно тест в файле app/assets/javascripts/discourse/scripts/browser-detect.js, строка 10:

   !CSS.supports("aspect-ratio: 1")

Версия SeaMonkey — 2.53.18, и он сообщает о совместимости с Firefox 91. Строка User-Agent:

Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.18

Я протестировал это на чистой установке SeaMonkey в openSUSE Tumbleweed 20231210 и сравнил каждую строку теста в JavaScript с результатами, полученными в Chrome 120.0.6099.71. Этот тест был единственным, который отличался.

Пожалуйста, сообщите, какая ещё информация нужна для решения проблемы; я знаю, что SeaMonkey не является официально поддерживаемым браузером. Также было бы полезно узнать, есть ли какая-то техническая причина, по которой соотношение сторон не поддерживается, чтобы мы могли проинформировать наших пользователей.

Я быстро взглянул на описание последнего релиза, и это немного странно… В одном месте сказано, что он основан на Firefox 60.8:

SeaMonkey 2.53.18 использует тот же бэкенд, что и Firefox, и включает соответствующие исправления уязвимостей безопасности Firefox 60.8.

Но затем в разделе «Известные проблемы» говорится:

Базовая версия пользовательского агента была установлена на 91 для обеспечения совместимости с веб-сайтами

Так что… похоже, они просто подделывают строку пользовательского агента Firefox 91. Фактический набор функций соответствует Firefox v60, который был изначально выпущен в 2018 году и не поддерживал aspect-ratio :cry:

Все наши официально поддерживаемые браузеры поддерживают эту функцию aspect-ratio с 2021 года, поэтому значительная часть интерфейса Discourse теперь полагается на неё.

Хорошо, спасибо. Просматривая код на JS, вижу, что проверка версии происходит после проверки, которая вызывает проблему у пользователя.

Кстати, пользователь сообщил, что до обновления у него всё работало отлично — значит, даже несмотря на то, что интерфейс полагается на это, это не вызывало у него особых проблем.

Огромное спасибо за быстрый ответ!

Существует множество других современных функций, от которых мы зависим и которые Firefox 60.0 не поддерживает (например, import(), поля классов и т. д.), так что да, aspect-ratio — не единственное препятствие.

Верно, но обновление Discourse с версии 3.0 до 3.1 подтянуло новый код Discourse, который зависит от функции aspect-ratio (а также, например, от import() и полей классов).

Понял, спасибо еще раз за быстрый ответ. Я сообщил пользователю, что проблема совместимости не связана напрямую с безопасностью (как он изначально предположил), а касается совместимости функциональности браузера, и что ему, вероятно, стоит создать отчет об ошибке в Seamonkey, указав, что заявленная поддержка Firefox 91 на самом деле не работает.