Mozilla tests if 'Firefox/100.0' user agent breaks websites
70 points by Pick-A-Hill2019 3 years ago | 40 comments- captainmuon 3 years agoIf you are using user-agent for anything other than statistics, you are likely doing something wrong...
And it would be a shame if Firefox didn't implement something, even so minor like a new version number, 'just' because sites break. You are Mozilla, send them a mail and give them a week to fix it, because you are f'ing Mozilla. I'm glad this is apparently just what they did here.
(Same thing when NVIDIA or Microsoft do contortions to support broken games. You already fixed the function or shader; don't hotpatch it but send it to the vendor and tell them to merge it or else...)
- chrisseaton 3 years ago> You are Mozilla, send them a mail and give them a week to fix it, because you are f'ing Mozilla.
Mozilla has a user-base of like 3%.
They don't have any clout at all. They should be grovelling to and thanking any website that bothers to support them, not trying to give ultimatums.
> don't hotpatch it but send it to the vendor and tell them to merge it or else...
But this is a user-hostile approach. No thanks.
- diegoperini 3 years agoUser-base has no importance, dev-base is what matters here. If Mozilla sends a letter to developers, chances are those people already stumbled upon MDN multiple times when they looked for answers to web development related questions.
- chrisseaton 3 years agoWhy would developers care about a browser that their users don't use?
- kelnos 3 years agoAll the web developers I know use and test on Chrome. If they test on Firefox, it's as an afterthought.
- chrisseaton 3 years ago
- diegoperini 3 years ago
- godelski 3 years ago> If you are using user-agent for anything other than statistics, you are likely doing something wrong...
Except it is very common. Back before FF included DRM (optional) I couldn't get Netflix on Linux FF. But if I switched the UA string to FF Windows or Linux Chrome I could watch it. Contacted Netflix and they said "we don't use UA strings to block people." But it isn't just Netflix. I've seen this happen many times with many different websites (no problems since DRM is enabled on FF).
I don't disagree with you, but the amount of people doing "something wrong" is staggering. And it isn't just the little guys.
Also, Mozilla is what, 3.45%? I don't think people care unless you're Chrome or Safari (combined are ~85%).
- asddubs 3 years agoI'd like to see you implement SameSite=None cookies without user agent sniffing. Still pisses me off that a bunch of browser vendors decided to break backwards compatibility so badly you're literally forced to sniff for user agents
- kyleee 3 years agoThanks for sharing that article; really gross
- kyleee 3 years ago
- nonbirithm 3 years agoThere is still a possibility that Mozilla's improvements can break backwards compatibility. One time they attempted to improve Firefox's error message for undefined property accesses in JavaScript, but it caused breaking changes because some websites relied on parsing the old error message format.
Mozilla's response was to roll back the change instead of blaming the users. The alternative was letting Firefox lose market share to Chrome because the websites people wanted to use didn't work. At least one major e-commerce website (Flipkart) was actively losing sales because of the bug.
Mozilla trying to strongarm people into using web features the "right" way sounds like something Google would do.
- geofft 3 years ago"Attention all employees: Chrome is the only approved browser for accessing HR websites. Please DO NOT use Firefox for accessing HR websites."
- kunagi7 3 years agoWell, Chrome recently released their 92nd version... The same thing could happen to them really soon. Should they keep the user agent as version 99 indefinitely too? User agents shouldn't be as relevant as they are.
- function_seven 3 years agoWhen a new Firefox release breaks a website, the browser is broken.
When a new Chrome or Safari release breaks a website, the website is broken.
I hate myself for typing that out, but it's true. Chrome has the luxury of dictating terms to sites that IE used to have 10 years ago. Firefox has never had such a dominant position, so they need to shoulder some of the burden themselves to ensure remaining users aren't forced to switch.
- function_seven 3 years ago
- tinus_hn 3 years agoSaid no one. No enterprise is going to recommend a browser that auto updates behind the scenes uncontrollably. Enterprise recommends Edge.
- geofft 3 years agoYou can disable automatic updates with enterprise policy. https://support.google.com/chrome/a/answer/6350036#turnoffup...
- geofft 3 years ago
- kunagi7 3 years ago
- nicoburns 3 years agoThe other valid use case is blacklisting buggy browser versions. Some browsers will claim to support a feature but it doesn't actually work (e.g. indexeddb in some versions of safari). The only way to detect is using the user agent.
- 3 years ago
- kelnos 3 years ago> You are Mozilla, send them a mail and give them a week to fix it, because you are f'ing Mozilla.
I think you vastly overestimate Mozilla's clout on the internet these days.
- chrisseaton 3 years ago
- Isognoviastoma 3 years ago> Firefox is may freeze the user agent to a two-digit number like "Firefox/99.0."
Opera did that when version went up from 9 to 10. Too many websites looked at first digit of version rather that doing feature discovery back then.
Useragent string of Opera 12 is "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.18".
- foobar33333 3 years agoHalf the problem is that the user agent string is insane and almost impossible to parse other than having a big list of every possible string.
- foobar33333 3 years ago
- freediver 3 years agoUser agent string lost most if its meaning and is often abused.
Safari even froze its UA string to help against browser fingerprinting (giving less bits of information).
Unfortunately it is still the only way to somewhat distinguish browsers without using javascript.
- beebeepka 3 years agoAre there any legitimate reasons to care about the user agent in this day and age? If you're still serving different css/js based on a self reported identification, then chances are your motivation is questionable.
Not unlike certain CPU and GPU makers. Frankly, I am surprised any of this is still matters. Guess I am still just an old an naive summer child
- bserge 3 years agoOf course, anything that has a remote possiblity of affecting ads, popups and content block screens would adversely affect revenue.
- foobar33333 3 years agoWe detect IE to show a banner saying to upgrade. I assume some sites like google search do so they can support literally every browser. I was shocked to find out IE 8 on a fresh windows xp vm was able to use google search without any issues.
- bserge 3 years ago
- TMWNN 3 years agoIs it true that Microsoft skipped Windows 9 because too many applications check for "Windows 9*", and would have thought that they are running on Windows 95 or 98?
- jandrese 3 years agoIt strikes me as plausible. If the devs thought that Microsoft was going to keep their year based naming system then it wouldn't be a problem for another 100 years, by which point they would be long dead and it would be someone else's problem. The fact that there were two versions to check also meant that the shortcut of only checking the first digit is understandable. Also, if the version strings included extra cruft, like Windows 98SE2 then stopping the check early makes sense over trying for explicit string matches.
Of course Windows 10 was supposed to be the last version ever in Apple OSX style, but now we have beta for Windows 11. The lesson is: never trust what Microsoft tells you about their intentions.
- jobigoud 3 years agoYou had to check for Windows ME as well so couldn't limit to the first digit.
- jobigoud 3 years ago
- captainmuon 3 years agoNone of the native APIs return the version number as a string, and to see a version > Vista you need to declare the minimum supported version anyway. But I can see this being a problem in some scripted languages, maybe.
Personally I believe they wanted to avoid Windows NEIN, or it's some marketing BS to jump a number and pull up to OS X (10).
- 0xcde4c3db 3 years agoI think that concern was mostly apocryphal, but such things demonstrably do exist [1]:
[1] https://github.com/Elblonko/kepler/blob/48618dc2233781656e63...} else if (osName.startsWith("Windows")) { if (osName.indexOf("9") != -1) { jvm = WINDOWS_9x;
- 0xcde4c3db 3 years ago
- LawnGnome 3 years agoThey've never confirmed it, but yes, that was the strong suspicion at the time.
Fortunately, they've got some runway before Windows 30 brings back the same problem.
- jandrese 3 years agoLOL.
Luckily for future people they already can't run those old 16 bit programs. The 64 bit transition finally put the last nail in that coffin.
- jandrese 3 years ago
- TazeTSchnitzel 3 years agoThis sort of problem has happened more than once at Microsoft:
• Windows 95 reports its version as “3.95” even though it's really version 4
• Windows 10, of course
With 10 they decided to stop telling applications the latest version number unless they opt in via some special token not known in advance.
- 3 years ago
- jandrese 3 years ago
- DeepYogurt 3 years agoEasy fix. Ship Firefox2/1.0 /s
- snug 3 years agoFirefox2 0.0.1
- snug 3 years ago
- stuartd 3 years agoAs a long-time Nightly build user as my main browser (since Phoenix 0.4 or so), I'm used to things breaking. So set my UA to this to see if anything happens:
> Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:93.0) Gecko/20100101 Firefox/1930.0
Edit: a blast from the past - an early Nightly Build post from Peter(6) on mozillazine - http://forums.mozillazine.org/viewtopic.php?t=102633
- francislavoie 3 years agoiOS 10 did break some things years ago, so this is a totally sensible test to do.
- 3 years ago