8

The previously reported and resolved issues of broken UI behaviour on legacy browsers (Latest Stack Exchange changes broke UI on Firefox Android), specifically, Firefox 68.11.0 (the last one before the brutal browser UI revamp) have returned. Also related report: Was support for the SeaMonkey browser just removed?

At some point in the last ~12-14 hours, I noticed the "Add a comment", the hamburger menu, Inbox, Achievement and Stack symbol (communities selector) drop-down expansions, up/down vote, bookmark, all stopped working again.

I raise this as a new issue since the original reports were against the mobile UI and have been presented with the common UI for some time now. I don't see any listed changes as having occurred in the time-frame in question in this answer, so sincerely hope it was an erroneous change.

I appreciate there was a lot of back and forth on the previous issues regarding backward compatibility for "unsupported browsers" but it was resolved once before. I'd ask the responses not go down the, "Just upgrade your browser or switch browsers path". It it wasn't broke, why break it? Yes, I accept the security risks of using an unsupported browser, just as I do driving an out of warranty car.

I put the question out again, if changes applied in the last day could be reviews and the once previously restored compatibility fix reapplied.

Additional observation: If clicking on the Inbox or Reputation icon, you end up on a page: https://stackexchange.com/users/<number>/<name>?tab=inbox, the equivalent of clicking on the "Inbox | all items", which displays as a classic full page (like "Request Desktop Site", not fitted to the mobile display size (i.e.: tiny text, etc.). On that page, the drop-downs all still work as expected. Weird.

Also reported as broken are Silk browser (Amazon platform) and Waterfox Classic and MyPal (used on legacy OS - Win 7 /XP). Not everyone can afford a new PC just to get to S/E and if your device provider or OS doesn't let you install any old (i.e.: new browser), are you simply out of luck?

14
  • 1
    Not sure if it was in jest or serious (or what exactly it means), but there was a comment which has since disappeared, indicating the poster would have upvoted but that functionality was broken as he was using Silk Browser on Firestick.
    – Ian W
    Mar 1 at 10:18
  • 21
    "It it wasn't broke, why break it?" is a little unfair. It's not that the SE Devs are deliberately breaking it, it's just that the browser you're using isn't one they support and thus validate against so each and every change they make risks "breaking" the site for you with no warning.
    – Rob
    Mar 1 at 10:59
  • @IanW There's a deleted "answer" which matches what you describe. It was deleted as "not an answer", which was correct, as it wasn't an actual answer.
    – Makyen
    Mar 1 at 16:26
  • @Makyen, Thx for confirming as I don't have the privs. But let's examine this for a minute. I report a defect that «on legacy browsers», users «cannot "Add a comment» and «cannot up/down vote». A user responds with «an answer» because they «cannot "Add a comment» and «cannot up/down vote», as they are using «Silk Browser on Firestick». Based on google, that seems to be a «current browser» for Amazon platform. Maybe it was sarcasm or maybe that's the only way the user could provide additional feedback w/o raising a duplicate question. It added value and should remain IMO.
    – Ian W
    Mar 1 at 19:13
  • @IanW It might be appropriate for a moderator to convert it to a comment, but it was definitely not an answer, so should be deleted as an answer. Answers on Stack Exchange are intended to strictly be actual answers to the question. If you feel it's something which should have remained as a comment, then raise an "in need of moderator intervention" flag to ask that it be converted to a comment. Only moderators or CMs can do that. I would note, however, that Silk is not on the list of supported browsers, so is basically in the same boat as FF68.
    – Makyen
    Mar 1 at 19:26
  • 1
    In the interests of not having a debate in the comments, I have replied to the above above comments from Rob, Makyen and "This_is_NOT_a_forum" in a chat (not that anyone reads the Chats or the FAQ). I am asking a Stack Dev to have a little sympathy for users of legacy browsers and fix things back up (again) so we can still contribute to the Stack Community.
    – Ian W
    Mar 3 at 9:44
  • 3
    Being a mod at 2 sites, I really feel handicapped by this. My main browser, which is equipped with all the addons and userscripts I need for administration, still receives regular updates – but now is no longer working with SE – forcing me to copy-paste stuff back-and-force (or to work without my tools). This second browser is also up-to-date, but after posting a comment I have to reload the page to see it. And I refuse to use Chrome ;) // I really hope this will be fixed soon, so I can perform my duties once more in full power. Thanks!
    – Izzy
    Mar 8 at 20:47
  • 3
    Also broken in latest Waterfox Classic 2022.02 (64-bit) on Linux: could we continue to get lucky with that "unsupported" browser if it's not too much of a fix? There are workflow reasons I still have to use that browser
    – user612313
    Mar 13 at 6:14
  • It seems the staff member who fixed the previous problem with optional chaining and legacy browsers no longer works for Stack Exchange, so it's less likely we'll see this fixed. Mar 23 at 14:02
  • 4
    "I accept the security risks of using an unsupported browser, just as I do driving an out of warranty car" That's not a good analogy. You don't automatically put yourself and others at risk just by driving an out-of-warranty car, but you definitely do by using an old browser.
    – Clonkex
    Apr 1 at 3:03
  • Not sure if this question is the right place, but I would like to understand the case for supporting legacy browsers. Perhaps if there was a clear and concise explanation it would get some attention, forcing SE to respond. I don't believe they've made any commitment or policy around legacy browser support, so not sure why they would start.
    – LShaver
    Apr 1 at 14:38
  • 1
    This may be of interest: Worldwide Browser Version Market Share. This can be modified to show stats for different continents and a few different countries.
    – BSMP
    Apr 1 at 17:39
  • 1
    Fixed for me on Seamonkey as of today.
    – dbc
    Apr 13 at 4:22

4 Answers 4

16

Looks like it may have been caused by an optional chaining operator in some JavaScript once again. I'm seeing the following error in my error console for Meta:

Timestamp: 3/1/2022, 3:09:41 AM
Error: SyntaxError: expected expression, got '.'
Source File: https://meta.stackexchange.com/Content/Js/full.en.js?v=cffdde623a86
Line: 1, Column: 72811
Source Code:
arams.delete("page"),n.searchParams.delete("tab");const s=n?.toString().replace(/#.*$/,"");window.location.href=s+"#tab-

And for Stack Overflow:

Timestamp: 3/1/2022, 3:12:29 AM
Error: SyntaxError: expected expression, got '.'
Source File: https://cdn.sstatic.net/Js/full.en.js?v=cffdde623a86
Line: 1, Column: 72811
Source Code:
arams.delete("page"),n.searchParams.delete("tab");const s=n?.toString().replace(/#.*$/,"");window.location.href=s+"#tab-

Also, when I begin to answer, I see the following error, which may be unrelated:

Timestamp: 3/1/2022, 3:12:40 AM
Error: XML Parsing Error: no root element found
Location: https://stackoverflow.com/accounts/email-settings-form?_=1646122348703
Line Number 1, Column 1:
Source File: https://stackoverflow.com/accounts/email-settings-form?_=1646122348703
Line: 1
12
  • 4
    thanks for the investigation. Hopefully S/E team are able/willing to restore the functionality. Also added a weird observation where it still works.
    – Ian W
    Mar 1 at 8:42
  • 19
    You can't expect developers not to use official language features just because they're not supported by an outdated browser on an OS that's been end-of-life for years now. That list of unsupported features is only going to grow, and all those compatibility fallbacks are exactly why early JS development was flooded with polyfills and browser-specific fixes (which is horrendous).
    – Cerbrus
    Mar 23 at 11:55
  • 1
    That said, I've submitted an issue on the Waterfox repository, but considering the significantly reduced activity in the last ~year, I doubt it'll get handled.
    – Cerbrus
    Mar 23 at 12:09
  • 1
    @Cerbrus On the other hand, doing so is tantamount to censoring the site to those who are unable to use supported browsers for whichever reason. Compatibility fallbacks aren't nearly as necessary as they were back in the 1990s and 2000s, and for the past decade browsers have supported a common set of features. I should mention that the opposite holds for Android app development: developers often target earlier versions of the OS, 3-4 versions earlier, to ensure nearly everyone can run the app, rather than always using features only available in the latest version. Mar 23 at 14:10
  • 18
    Haha, no, this ins't "Censorship" just like the CD wasn't censorship against cassette tapes. Expecting developers to maintain compatibility with dead, outdated and nonstandard browsers is exactly what was wrong with early web development. There is absolutely no reason for a user not to be able to use a browser that supports Optional Chaining. Being stuck with an old, deprecated, end of life OS is not SO's problem, and is a significant enough security risk that you shouldn't even be accessing the internet with it.
    – Cerbrus
    Mar 23 at 14:21
  • 3
    if anything, this is that browser's fault. It's built on an engine that now does support that language feature, but they just haven't updated it.
    – Cerbrus
    Mar 23 at 14:25
  • 2
    @Cerbrus There is absolutely no reason for a user not to be able to use a browser that supports [new feature]. Some users are using machines that don't run newer browsers. As a couple examples, this includes users of PowerPC Macs: TenFourFox, what may be the last modern browser for that platform, was recently discontinued. Also, Google discontinued Chrome support for users whose x86 CPUs don't support SSE3. This especially applies to users in developing economies. Mar 23 at 17:37
  • 3
    @SonictheSaveUkraine-hog then it's time to update the hardware. Don't take "no" for an answer, hardware that outdated is just a security risk. Edit: that statement about developing countries doesn't even apply in this case, as FireFox 74, with added support for this feature, only requires SSE2.
    – Cerbrus
    Mar 23 at 17:39
  • 4
    There is absolutely no reason for a user not to be able to use a browser that supports Optional Chaining. – There's also no reason to force a user to use the browser of YOUR choice.If I need a specific browser to use a given site, but that specific browser does not meet my needs otherwise, it will simply lead to me using that site less frequent, less active. I'm very disappointed that a full month later there's still no statement from staff here, sespite the support tag. I feel my activity at SE already being limited, as the jumping-around between browsers is very unsatisfying.
    – Izzy
    Mar 29 at 22:13
  • 4
    @Izzy, you using an outdated browser is the same as driving a very old diesel car. You can ride in most places, but certain cities start to ban you for polluting too much. Thta list of cities is only going to grow. At some point you'll need to decide if its still worthwile to use a relic of a browser.
    – Luuklag
    Apr 1 at 7:01
  • 8
    @Izzy: Are you free to use any browser you want. Nobody is "forcing" you to use any browser. You will just have to accept that using such outdated browsers will result in incompatibilities. You made that choice, then you need to accept the consequences.
    – Cerbrus
    Apr 1 at 11:29
  • 3
    Thanks. My "outdated" browser just received an update last week. And it did receive updates regularly up to now. But if that's the consequence, I have to restrict my mod activity – other sites still work fine. How did the saying go? “Much of the social history of the Western world, over the past three decades, has been a history of replacing what worked with what sounded good.” (plus the tech verse: "don't fix it if it ain't broke") And you're correct, nobody forces me to volunteer my time for moderation ;)
    – Izzy
    Apr 2 at 0:02
11

This is now fixed. Thanks for highlighting the specific optional chaining usage here. Because this was an isolated instance where it was easy to rewrite the logic to not use optional chaining, I was able to get the fix in.

Please understand though, we cannot guarantee that all issues related to maintaining compatibility for older browsers will be addressed in the future. I am quite certain that at some point we will run into issues like this where the cost required for accommodating the capabilities of old unsupported browsers will be a bit too high. Until then, happy to evaluate these as they come up.

As a side note: our JavaScript migration project should actually make this easier to handle (at least up to a certain point), since we are taking the opportunity afforded by the project to convert many of our legacy JavaScript files to TypeScript (and TypeScript itself can allow us to transpile code to earlier script compatibility versions while allowing us to use many of the newer language features). This doesn't change my certainty mentioned in the previous paragraph that we will not be able to accomodate the features of older browsers indefinitely. But it is something that may help to delay it in some cases.

optional chaining
support from major browsers
for quite some time now

1
  • 2
    Thank you so much: Waterfox Classic now seems to fully work with SE. For now I can come back to my workflow rather than struggling to migrate to a modern, but in some senses handicapped, Firefox. Issues are reported on the Waterfox Classic github to encourage an upgrade of their JavaScript engine. Great job, Yaakov, you saved me (us) for now :)
    – user612313
    Apr 13 at 8:47
5

There's an interesting question - What's a reasonable point not to support old browsers. Its not a matter of bandaiding the current breakages, but to actually try to figure out what's a reasonable feature set to support.

I've always been under the impression the last 2 versions 'rule' was very much so SE didn't need to test every single feature of their sites across multiple versions and platforms.

I've tried to run the modern net on OS/2 Warp years ago as part of a Super User answer years ago, partially as a joke. I do realise not everyone can run the latest and greatest OS (though, I was briefly running some machines that went from XP -> 7 -> 10). There's going to be a point of hard breakage, or being unable to move forward/ Likewise with less common systems - net positive on haiku dosen't run SE and that would mean I could run most of my day to day stuff on that platform if I chose. (It runs well on older hardware, and seems like a fun idea). Some of these platforms are going to reach the same status as a niche system, or are balanced on the edge of being retro-tech.

XP had support dropped over a decade ago, Windows 7 2 years ago. Not even counting the rapid development of modern browsers, and the effective browser duopoly - at some point supporting absolutely ancient browsers or their semi-orphaned descendants isn't going to be a productive use of time.

A common thread here is many of the browsers are "hobbyist" forks - running older engines (gecko/goanna for example), which may not be keeping up with more modern features. The main goal is running on older PC mostly usably. I do understand the desire to keep gear and systems that work as long as possible, and for freedom of choice of OSes and browsers but keeping them tested and working feels like a bit of an additional burden. There's also a matter of, even if the browsers are getting security updates, how much modern js and other features they can support while keeping true to the reasons for the fork

I feel like there ought to be a compromise between keeping the cul de sacs of web history supported, and 'just' supporting the latest browsers. SE supported IE for much longer than it ought to have had, and it had much bigger reach. Basically - it would be nice to find the point where we can get the best reach for the least effort

With something like silk, its very much amazon dropping support on those devices.It might literally be a specific build for a specific machine.

2
  • "reasonable point not to support old browsers" - easier development, no need to check every line if it's supported by all browsers. Saves lots of hours, and in theory enable them to make bigger things. (Assuming over time JS offer more features.) Apr 10 at 6:58
  • 2
    I think everyone can agree that it doesn't make sense to keep supporting browsers dating back to before I was born. However, supporting just the last two versions of Chrome covers a time-span of less than 6 months. It doesn't make sense to me to be honest. Seems like way too little time. And for what? To be able to use the latest CSS flex style attribute? Come on... Apr 12 at 23:24
4

Stack Overflow states their support for browsers here:

Stack Overflow supports the last two stable versions of major browsers. This does not include beta/dev releases, which are not supported.

Therefore it is unlikely these 'issues' will be fixed. You mention that the dev team have generously fixed previous issues only occuring on old browsers, but dbc's answer gives clues as to why these changes aren't the same. The optional chaining syntax cannot be polyfilled unlike previous issues which are generally caused by new features (which can be polyfilled.)

Additionally, on SE's JavaScript migration post, optional chaining has previously been mentioned with no response from SE.

With these blockers in mind, the only way to mitigate these issues is either for SE to restrict the syntax they use for a sliver of users or for these users to update their browsers. There may be a fork of the Firefox version you mention that implements a JavaScript engine that supports ES6 features like optional chaining, but I am not aware of any.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .