Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[webcompat] Firefox iOS should follow the same version number than Firefox Desktop and Mobile #7309

Closed
karlcow opened this issue Sep 15, 2020 · 6 comments
Labels
Bug 🐞 This is a bug with existing functionality not behaving as expected P3 Issues that would be nice to have for the current release

Comments

@karlcow
Copy link
Contributor

karlcow commented Sep 15, 2020

Steps to reproduce

  1. Go to https://www.toutemonannee.com/
  2. Check the error message.

Expected behavior

Use the site.

Actual behavior

Pop up box saying the browser is outdated.

See the analysis in webcompat/web-bugs#57838 (comment)

Device & build information

Browser / Version: Firefox iOS 28.1
Operating System: iOS 14.0

Notes

This is not the first time we identify wrong user agent sniffing because the detection of the version is correct but leads to an incorrect matrix of values on the website.
see also webcompat/web-bugs#57510 (comment)

Attachments:
Screen Shot 2020-09-15 at 13 08 59

┆Issue is synchronized with this Jira Task

@karlcow karlcow added the Bug 🐞 This is a bug with existing functionality not behaving as expected label Sep 15, 2020
@karlcow
Copy link
Contributor Author

karlcow commented Sep 15, 2020

Risk to evaluate: Would it create breakage on sites which are doing it correctly.

@data-sync-user data-sync-user changed the title [webcompat] Firefox iOS should follow the same version number than Firefox Desktop and Mobile FXIOS-893 ⁃ [webcompat] Firefox iOS should follow the same version number than Firefox Desktop and Mobile Sep 15, 2020
@denschub
Copy link
Member

Note that I did play around with a different user agent (the same as now, but with the FxiOS segment replaced by a current Firefox version), and I did run into quite a few issues where a site now thinks this is a desktop device.

As we're already identifying as FxiOS/26.0, and as far as I could tell in running some tests with popular user agents a couple of months ago, this is usually correctly identified as a mobile device. Site's identifying FxiOS as an outdated desktop Firefox have... significant issues in their logic, so changing the UA to something closer to desktop-firefox should be evaluated very carefully. :)

@dnarcese dnarcese added the P3 Issues that would be nice to have for the current release label Mar 18, 2021
@karlcow
Copy link
Contributor Author

karlcow commented Oct 13, 2021

@dnarcese

So there's a pattern that we identified when creating diagnosis for Firefox iOS issues which are uniquely related to the version value.

Pattern

  1. A site correctly identifies the browser as Firefox (through libraries)
  2. The site correctly identifies that this is Firefox on mobile
  3. The site assumes Firefox mobile == Firefox Android (even when the JS library is saying browser.os == ios)
  4. The site has a support matrix, which is usually fixing a minimum version for using the site.
  5. The site checks the version number which is currently in the 30s and assume this is on old version of Firefox Gecko.
  6. The user receives an unsupported message "Your browser is too old" or even more frustrating "Download the latest version."

Solutions

  • Option A: Make the version number the same than Firefox on Android
  • Option B: Sending Safari UA by default
  • Option C: Sending Safari UA to only certain sites.

Pro/Cons for Option A (uncertainty bet)

  • The site still think that the browser is Firefox on Android, aka Gecko.
  • In some cases these support matrix are here for a reason, aka the code is using technologies known to be supported in version X of this specific rendering engine. The code path is taken with the expectation that the rendering and features will be compatible with Gecko

How could it manifest?

  • Server side markup and css dedicated to Gecko instead of WebKit
  • Video codecs different on Android and iOS
  • App banners proposing to install Android version instead of iOS
  • Payment solutions being not compatible (Apple Pay vs Google Pay).
  • etc.

Pro/Cons for Option B (safest/cheapest bet)

  • Firefox iOS disappears from the stats of every site. The question being does it appear at all? Note that tracking protection mechanisms do that already.
  • But no more webcompat issues related to user agent sniffing, just issues because of WebKit failures on certain technologies (when compared to Android)

Pro/Cons for Option C (most time consuming bet)

  • manpower. We (who?) needs to create patches for Firefox iOS at a regular pace. Currently nobody really takes care of it. But @ksy36 will probably propose a patch for the recent ones.
  • reactivity. There's still the time spent on having the user report the issues, webcompat team diagnosing it, then time to create the patches. The process is long, uncertain and act only on what has been reported.
  • On the other hand Firefox iOS still appears in the stats for most sites.

@karlcow
Copy link
Contributor Author

karlcow commented Oct 13, 2021

The current list of candidates for Option C.
https://github.com/webcompat/web-bugs/issues?q=is%3Aopen+label%3Abrowser-firefox-ios+label%3Atype-uaoverride

As of today, 68.

@karlcow
Copy link
Contributor Author

karlcow commented Oct 13, 2021

Related to this discussion #9150

@karlcow
Copy link
Contributor Author

karlcow commented Mar 28, 2022

@dnarcese this is probably to close?

@data-sync-user data-sync-user changed the title FXIOS-893 ⁃ [webcompat] Firefox iOS should follow the same version number than Firefox Desktop and Mobile [webcompat] Firefox iOS should follow the same version number than Firefox Desktop and Mobile Mar 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug 🐞 This is a bug with existing functionality not behaving as expected P3 Issues that would be nice to have for the current release
Projects
None yet
Development

No branches or pull requests

3 participants