Logging in to the SDMB (and also try.discourse.org) today, I’m greeted with the following message:
Unfortunately, your browser is too old to work on this site. Please upgrade your browser to view rich content, log in and reply.
However, I’m using the most recent version of my browser, SeaMonkey 2.53.13, which was released only four days ago. Discourse may have chosen not to support it, but it’s wrong to say that it’s “too old” to work with Discourse. Indeed, if I override the browser’s User-Agent string, I find that everything seems to work fine.
The problem seems to be inaccurate User-Agent sniffing on the part of Discourse. By default, SeaMonkey’s User-Agent string advertises Firefox compatibility:
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.13
If I change the User-Agent string as follows to hide Firefox compatibility (via Edit->Preferences->Advanced->HTTP Networking->User Agent String->Identify as SeaMonkey), then SeaMonkey can once again visit Discourse sites without any obvious problems:
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 SeaMonkey/2.53.13
I understand that Discourse may not wish to support browsers like SeaMonkey that are no longer mainstream, but it would be nice if those browers were not proactively blocked from accessing Discourse sites. And even if these browsers are proactively blocked, it would be nice if Discourse did not report a bogus reason for doing so.
Please improve the User-Agent sniffing so that it checks all the way to the end of the string before deciding whether or not the user agent is “too old”. (I suspect that it currently just looks for the names and versions of supported browsers, irrespective of their position within the User-Agent string.) After all, you’re not blocking browsers because they report an old version of Mozilla at the beginning of the string, so why should you block browsers because they report an old version of Firefox in the middle of the string?
If it’s for some reason undesirable or impractical to change the sniffing algorithm, then please change the behaviour upon detecting a supposedly incompatible user-agent: instead of (perhaps falsely) telling the user that their browser is “too old” and blocking further access, tell the user that their browser isn’t supported and link to the list of supported browsers, but give them an option of continuing anyway using their existing browser.