Discourse no longer works well with Safari 14 in Mojave

Slightly different subject, but I notice that Discourse recently was updated, and the Mojave version of Safari is no longer supported.

With Safari on Mojave, the forum now appears in a basic HTML format with no Javascript and no login support.

Other Mojave-compatible browsers still work fine, and Safari on Catalina also works.

Yeah, sorry about that. I didn’t see that in any release notes, but one other person mentioned it too. So if you’re running a Mac that can’t upgrade past Mojave and Safari 14, you’ll want to switch to a browser that is current.

Discourse only supports the “latest, stable releases” of browsers with a bit of an exception for Safari, for the sake of iOS/iPadOS. Until a couple of months ago, they supported iOS 12.5+ but now the cutoff is iOS 15.7+ (the big version gap is probably due to anything that can run 13 or 14 can also run iOS 15). Since Macs, unlike iPhones and iPads, can run other browsers, one can use the latest version of Google Chrome or Firefox on macOS versions even older than 10.14 “Mojave,” 10.13 “High Sierra” or 10.12 “Sierra,” respectively.

It sounds like Discourse takes a “cut the mustard” approach, where they check the browser version or check for some specific feature support and any browser that doesn’t pass gets the version of the page that search engines crawl. An alternative would be to check many different specific browser capabilities and remove specific Discourse features that rely on them; this sort of “graceful degradation” can be nicer for users with older browsers but it is more work for developers to maintain.

Poking around in the code, I found a couple of ways supporting only Safari 15+ lets them simplify their code, avoiding fallbacks for features earlier browser versions don’t support. Both examples are image related, Safari 15 supports createImageBitmap (JavaScript that can crop images in the browser) and the CSS property aspect-ratio.

4 Likes

Today I tried to connect using my older Mac that’s running a 32 bit OS, only to be told “Discourse no longer supports your operating system.” sigh…