Hacker News new | past | comments | ask | show | jobs | submit login
Mozilla tests if 'Firefox/100.0' user agent breaks websites (bleepingcomputer.com)
70 points by Pick-A-Hill2019 on Aug 13, 2021 | hide | past | favorite | 40 comments



If 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...)


> 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.


User-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.


Why would developers care about a browser that their users don't use?


Can you imagine if retail stores where made in a way that 3% of customers couldn't use them?


If there's no law saying they have to support those 3% of customers, and supporting the 3% costs more than the 3% bring in, then yeah they won't bother.


Because if "Firefox/100.0" reveals a bug, the bug may also trigger when other browsers introduce a similar change.


All the web developers I know use and test on Chrome. If they test on Firefox, it's as an afterthought.


Hello! Know you know one who builds and tests on FF.


I use FF as a daily driver.


I also use it for developing and use its developer tools. If it works on Firefox, there's maybe a few CSS tweaks I need to make when I test on other browsers


> 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%).


I'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

https://catchjs.com/Blog/SameSiteCookies


Thanks for sharing that article; really gross


There 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.

https://bugzilla.mozilla.org/show_bug.cgi?id=1488417

https://news.ycombinator.com/item?id=19492660


"Attention all employees: Chrome is the only approved browser for accessing HR websites. Please DO NOT use Firefox for accessing HR websites."


Well, 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.


When 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.


Said no one. No enterprise is going to recommend a browser that auto updates behind the scenes uncontrollably. Enterprise recommends Edge.


You can disable automatic updates with enterprise policy. https://support.google.com/chrome/a/answer/6350036#turnoffup...


The 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.


> 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.


> 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".


Half 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.


User 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.


Are 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


Of course, anything that has a remote possiblity of affecting ads, popups and content block screens would adversely affect revenue.


We 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.


Is 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?


It 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.


You had to check for Windows ME as well so couldn't limit to the first digit.


None 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).


I think that concern was mostly apocryphal, but such things demonstrably do exist [1]:

    } else if (osName.startsWith("Windows")) {
        if (osName.indexOf("9") != -1) {
            jvm = WINDOWS_9x;
[1] https://github.com/Elblonko/kepler/blob/48618dc2233781656e63...


They'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.


LOL.

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.


This 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.


Easy fix. Ship Firefox2/1.0 /s



As 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


iOS 10 did break some things years ago, so this is a totally sensible test to do.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: