[webkit-dev] User agent woes
Michael Catanzaro
mcatanzaro at igalia.com
Sun May 7 20:11:32 PDT 2017
Hi Maciej,
I agree with basically everything you wrote, except I recommend not
using OS X as the operating system string in the default user agent
except when actually running on macOS. We tried this for about a year
and got tons of complaints. It breaks more than it fixes: many websites
decide to present only macOS versions of downloads and offer no
recourse to get the right version of the download (like Hangouts), and
other times it's just annoying, e.g. the OS field on Bugzilla defaults
to OS X, which a substantial subset of bug reporters feel the need to
complain about. So instead, we now add OS X quirks for websites when
needed.
> You mentioned that for some sites, that wouldn't work. I think it's
> reasonable to have more specific exceptions just for those, and we
> can review them together. Specifically, for Google Hangouts, you
> mention that claiming to be Mac Safari will offer a non-working
> plugin. However, it looks like WebKitGTK+ pretends to be Linux
> Firefox for Google sites instead. It seems very likely that a Linux
> Firefox UA string would break Google Hangouts in Mac Safari for
> pretty much the same reason.
Yes, you definitely can't send a Linux+Firefox UA string, as that would
definitely break Hangouts for Safari users.
But I bet you could send a macOS+Firefox UA string, until such time
that Google fixes its websites to stop sending inferior pages to other
WebKit browsers. That way, next time they decide to make a change based
on UA that's going to cause other WebKit browsers to break, Safari
should break as well and Google should notice before deploying the
change if they test it at all. (Of course, this is only really needed
if evangelism fails.)
> It's not clear to me what the issues are with typekit or slack, or
> why you claim to be Chrome instead of Mac Safari on those.
I don't remember exactly why I came up with the Chrome quirk for these
sites, but I usually try our macOS quirk first and use the Chrome quirk
next if that fails. The macOS quirk is much safer as it does not
encourage websites to try to use Chrome-specific JS.
The issue with Typekit is that lots of websites use Typekit for web
fonts, but Typekit disables itself unless it recognizes the user agent.
Then users complain that fonts are wrong on a bunch of different
websites. See https://bugs.webkit.org/show_bug.cgi?id=147296.
Slack just doesn't work at all with our default UA, it displays only an
unsupported browser page. It works perfectly fine with the UA changed.
> Maybe claiming to be Mac Safari would reduce future breakage. Or if
> not, it would be interesting to know what the issue is.
>
> We may also be able to reach out to some of the problem websites or
> help you get contact info.
This would be wonderful. I don't think it's worthwhile to reach out to
websites like Slack and Whatsapp that are clearly intentionally trying
to block our users: I'd rather them not realize that we are sending UA
quirks at all, as they might try harder to block our users if so. But
in other cases, like with Google, we would really appreciate your help
with evangelism. Let's continue this line of discussion via private
mail.
Thanks,
Michael
More information about the webkit-dev
mailing list