[1] https://github.com/mozilla-mobile/firefox-ios/issues/12113
[1] https://github.com/mozilla-mobile/firefox-ios/issues/12113
This attitude is why so much software is garbage, and why people with limited connections or hardware can't have a good time on the internet.
>In this case, [X] would improve things more quickly than [Y].
Maybe so, but more importantly why are you phrasing this like it's an either/or choice?"We, the developer community, contain multitudes." Clearly we can (and should) do both.
Besides the obvious benefits at the higher community level of organization, deploying both solutions will result in even less bandwidth and power wasted from this specific bug than using either solution by itself.
I get that not every client is well behaved, but you'd hope that Firefox would be, given Mozilla's presence in web standards.
(Which, tbh makes me think this issue is the "on iOS" bit, given it's Firefox. I presume Apple still has their "only Safari's rendering engine" rule in place for... ...reasons)
I opened the Github issue linked. For us it represented, at times, thousands of requests per second across multiple users. And that was with affected users getting IP-banned temporarily.
Some of which were 404s which you typically absolutely do not want cached. Or 405s (on HEAD /favicon.ico for example). Or 429s. Or 403s.
Browsers are expected to: 1. Use the favicon specified in meta if any (we do have one, /favicon.svg) 2. Respect cache headers (immutable + multi-months max-age) 3. Not make completely random requests to things they should ignore (such as OpenGraph tags)
Yes CDNs do help with these kinds of issues, but they absolutely do not fix them all. Which is why even though we have a pretty damn elaborate setup in that regard we were being annoyed by the issue.
But also Firefox on iOS should be not-completely-broken.
I also think it's pretty weird to defend thoroughly defect software with "waste ful, sure, but hardly that big a deal".
— https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.4
Don't make your customers pay for your sloppy habits is a good policy to have.
Would you kindly refrain from blaming users for what clearly is a bug in the application?
[1]: https://github.com/fardog/fardog.io/commit/b2e3eac838ea25209...
That is, they are just skins
https://github.com/mozilla-mobile/firefox-ios/blob/bd589c194...
Firefox on iOS has about 200k lines of Swift. As a rough rule of thumb, everything that isn’t directly related to rendering something within the page or executing JavaScript is Firefox code not WebKit code. So bookmarks, syncing, tabs, etc.
On android, browsers can ship their own engines, and they do. There is actually some freedom on android.