Seamonkey now identified as an unsupported browser

I’m one of the admins in the openSUSE forums (forums.opensuse.org). We’ve got a couple users who use the latest release of Seamonkey as their browser.

Recently we upgraded from 3.0.3 (I believe it was - our technical admin did the upgrade) to 3.1.3, and these users have reported that they are no longer able to log in to the forums.

I have done a little digging, and it seems that the browser check that fails is in PR 19847 - specifically the test in app/assets/javascripts/discourse/scripts/browser-detect.js, line 10:

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

Seamonkey version is 2.53.18, and it reports that it is compatible with Firefox 91. The User-Agent string is:

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

I tested with a fresh install of Seamonkey on openSUSE Tumbleweed 20231210, and compared each line in the Javscript test to the results given from Chrome 120.0.6099.71. This test was the only one that differed.

Please let me know what other information is needed to address this; I know Seamonkey isn’t an officially supported browser. If there’s some technical reason why this aspect ratio isn’t supported, that would also be good to know so we can advise our users.

3 Likes

I had a quick look at the latest release description and it’s a little strange… In one place it says it’s based on Firefox 60.8:

SeaMonkey 2.53.18 uses the same backend as Firefox and contains the relevant Firefox 60.8 security fixes.

But then under ‘Known Issues’ it says:

The base user agent version was set to 91 to help with website compatibility

So… it seems like they’re just faking Firefox 91 in the user agent string. The actual featureset is from Firefox v60, which was originally released in 2018, and did not support aspect-ratio :cry:

All of our officially supported browsers have had this aspect-ratio feature since 2021, so much of the Discourse UI now relies on it.

6 Likes

That’s good to know, thanks. Looking at the JS code, it seems that the version check comes after the check that causes the issue for the user.

FWIW, the user did report that it worked fine for them prior to the upgrade - so it seems that even though the UI relies on it, it wasn’t causing much of an issue for them.

Appreciate the quick response!

There are a lot of other modern features we depend on which Firefox 60.0 doesn’t support (e.g. import(), class fields, etc.), so yeah aspect-ratio is not the only blocker.

Right, but the upgrade of Discourse from 3.0 to 3.1 will have pulled in the new Discourse code which depends on the aspect-ratio feature (and indeed, things like import() and class fields)

Got it - thanks again for the quick answer. I’ve advised the user that the compatibility isn’t strictly security-related (which was his original guess), but rather browser functionality compatibility, and that he should probably report an issue with Seamonkey for reporting it supports FF 91 when it doesn’t actually do so.

1 Like