[Bug] Roll back nullish coalescing and optional chaining #20973
Unanswered
InterLinked1
asked this question in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I have been going back and forth with GitHub support on this for a while, but they told me to come here since decision makers look at this and not support tickets.
I am requesting that GitHub roll back its use of the nullish coleascing and optional chaining operators. As your programmers are probably aware, these operators are not backwards compatible with older browsers and cannot be made backwards compatible with older browsers.
Earlier this year, GitHub rolled these operators out to the platform, breaking a large number of browsers and users in doing so. At the time, I submitted a support ticket. Other changed had been rolled out in the few months prior to this, but these changes could be polyfilled using browser extensions to dynamically inject polyfills. These operators however cannot be polyfilled, which means that if a website uses them, it is effectively unusable for a segment of the user base, no matter what they do.
We contacted GitHub at this time and they rolled back the change in pretty short order. I was actually impressed by how it was handled at the time - they admitted they goofed up, said it wasn't supposed to have happened, rolled back the changes, and promised it wouldn't happen again.
Fast forward to a couple weeks ago, and they did once again the same thing, rolling out a bunch of backwards-incompatible changes.
Now you have lied to us, GitHub, reneged on your word, and effectively broken the website for hundreds and thousands of users on all different kinds of browsers that do not support these operators.
This is not about holding back progress or new features. If you want to go ahead with other ECMAScript 2020 things, fine. It's a constant cat and mouse game of fixing breakage with polyfills, but at least the mouse has a chance. Right now, you've taken that option away.
GitHub is supposed to be about diverse projects, platforms, etc. many of which are actually the very browsers that give people freedom to not use the conventional "big 3", and GitHub has stuck a big middle finger to them by ensuring that its own platform no longer works for these users. It's very ironic, for a project that's supposed to be about open source as supposed to proprietary software and conformity in software, which is what these operators are all about: making the web inaccessible to more and more people.
Fundamentally, these operators are not necessary. They do not add any value to the website, none whatsoever. The old syntax that worked just fine for the last 20 years gets the job done and is compatible with any graphical browser from the last 20 years. The new syntax has no place in our community or on this website. I have seen the trend in web development the past several years and it's very disturbing. No respect for older browsers, no respect for slower connections, no consideration at all. Just shove the latest and great JavaScript syntax down everyone's throat and if it doesn't work, it's somebody else's problem. It's very disturbing, and not what I expected from GitHub.
And please, don't give me the excuse that you save 10 KB of data with the new syntax. That either means you're using way too much JavaScript, or you're not caching properly. The argument that it helps with website performance is total baloney if your website doesn't work at all for a large number of users now.
Please revert the use of these two operators, and commit to doing better by ensuring they will not be reintroduced in the future. If you really think there is a merit to having them, serve the old JavaScript by default and serve the newer syntax only to agents that you know support them. Quite frankly though, the new syntax is evil and has no place on the World Wide Web.
Beta Was this translation helpful? Give feedback.
All reactions