top | item 40631439

WebKit fix: Quirk news.ycombinator to skip TextAutoSizing

213 points| mkurz | 1 year ago |github.com

142 comments

order

jraph|1 year ago

Apparently it's a workaround until https://bugs.webkit.org/show_bug.cgi?id=275223 is understood and fixed.

Seems more reasonable than how it looked at first.

alex3305|1 year ago

Is this the reason that Chromium based browsers always change font sizes for me on here? Since I'm visually impaired and have set my text sizing pretty large, I have that issue on multiple sites, including Hacker News. It's a bit of a gamble how large text will be when I refresh the page.

onion2k|1 year ago

This is an example of somewhere a comment would actually have been useful.

matteason|1 year ago

There are two previous discussions on WebKit's Quirks.cpp [0] here:

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

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

I wonder how big your site has to be to earn a spot in that file when you hit a Safari bug. Don't suppose Apple publish the criteria anywhere?

[0] https://github.com/WebKit/WebKit/blob/84ae355619354ee1bfa7da...

knallfrosch|1 year ago

Apple's guidelines are meant to be broken anyway. Bloomberg's app (Bloomberg Professional) is unusable without an account, which is 100% against iOS guidelines, but who cares?

Other big players, such as Amazon, simply negotiate the Apple tax – instead of paying the 30%.

Naturally, Apple doesn't tell you how often and for whom it breaks its rules.

its-summertime|1 year ago

Looking at the html of HN's pages, can't blame them really.

Running though https://validator.w3.org/ , the result is abysmal.

At this rate, if web browsers started requiring sites to output HTML that is somewhere in the realm of normalcy, HN would sooner shut down than consider ever updating.

Aardwolf|1 year ago

Yet its pages load much faster than most websites, no cookie popups, no "subscribe to our newsletter" slide-ins, no phenomenon where the content loads but then a second later the page resets and re-loads the content again (probably with more ads or something), no images only getting loaded and popping in view while you scroll (rather than do it a bit predicatively beforehand so they'd pop in outside of your view to give a less slow impression), etc...

bastawhiz|1 year ago

The HTML is immaterial. If it parses into the correct DOM (which, by all accounts, it does), there's no reason why the HTML should affect how the CSS renders.

arp242|1 year ago

Pretty much all of the HTML validator "errors" warnings for outdated attributes and the like. The "No space between attributes" one is pretty much the only real error.

fallingknife|1 year ago

If you remove trivial errors for no space between attributes, table formatting, and use of "obsolete" inline styling instead of CSS it really isn't many. Could be cleaned up with a couple days engineering time or less.

paulgb|1 year ago

I imagine there are some stories out there of people tearing their hair out over issues in prod can’t be reproduced in localhost (or vice versa) due to quirks exceptions.

saagarjha|1 year ago

When I was at Twitter we had several engineers spend an afternoon trying to figure out why we were seeing different behavior for opening links (IIRC?) on iOS 14.5 (?) versus previous versions. Turns out that the WebKit team in their infinite wisdom had added some sort of change to how this worked several months back, realized it broke Twitter, then committed a change to restore the old behavior specifically for us. Of course, they also didn’t want to keep this around forever, so they also checked the iOS version to disable this behavior after 14.5 (?). Which is all well and good, except they never told us about this at all. So of course we find out about it when I, being well acquainted with Apple’s stupid quirks process, find the Slack thread where everyone is confused what is going on, identify where the bug is coming from, then do a search in WebKit for where they hardcoded the behavior for us. So thanks, WebKit team. You’re really doing a great job pushing web compatibility forward :(

jorlow|1 year ago

I wonder why browsers don't show a bit of UI that it's in compatibility mode and give a way to disable (or enable for other domains for dev/testing).

tda|1 year ago

I seriously thought that implementing some site specific custom rendering behaviour was meant as a joke. Why change html/css for a website when you can just implement some hardcoded site specific behaviour straight in the rendering engine? What could possibly go wrong?

But after having a closer look at the PR, the 1900 LOC monstrosity Quirks.cpp actually seems to exist with lots of things like

    if (host == "tripadvisor.com"_s || host.endsWith(".tripadvisor.com"_s))
        m_needsRelaxedCorsMixedContentCheckQuirk = true;
Fixing CORS issues has never been easier

thepra|1 year ago

That's messed up, why should I put up with CORS when others have a special treatment...

mort96|1 year ago

I hate CORS. Garbage like this is a large reason why. CORS works differently in every browser and every website.

I don't hate CORS when writing my own stuff, to be clear. Adding Access-Control-Allow-Origin: * to my own website's headers is easy enough. I hate when I'm using a website and something doesn't work and I look at the console and see CORS errors. Opening the same website in Chrome usually works.

I hate CORS.

orphea|1 year ago

I guess a similar thing is happening with GPU drivers and games.

easyThrowaway|1 year ago

I wonder if any of those rules could be (mis)used to workaround or defeat iOs/macOs security features?

maybevain|1 year ago

Interestingly there seems to be a few quirks for twitter.com, but none for x.com. I assume that'll lead to some regressions?

saagarjha|1 year ago

Probably. But I doubt the engineers care about X as they did for Twitter.

nottorp|1 year ago

> we can quirk TextAutoSizing to skip adjusting for it, at least until we figure out why we are calculating RenderBlockFlow width inconsistently:

Looks like it's a bug on their side and this is a bandaid?

That will presumably live forever.

bob1029|1 year ago

I am confused. What part of the hacker news web source was more difficult to change than the source code for my web browser?

onion2k|1 year ago

This feels like a poor solution to the problem. As much as I like HN, browsers changing to maintain the status quo is a terrible idea. At the very least there should be a user controllable array of domains to apply this to in the config rather than a single magic string for one website.

emursebrian|1 year ago

Do other browser vendors add special cases in their codebase for specific sites? It seems like a really bad idea.

Since around 2020, I've been working on an app that makes heavy use of audio playback and recording. I feel like I am frequently making Safari specific updates because something related media playback or recording stopped working on Safari.

I don't recall this kind of regression ever happening with Chromium-based browsers or Firefox. It feels weird in 2024 to be adding work-arounds and hacks specific web browsers and anecdotally, it seems to be getting worse.

See https://news.ycombinator.com/item?id=40134383. On BrowserStack, still no Safari dev tools on iOS 17.4+

phrz|1 year ago

This has existed for every web engine since time immemorial, calling out Safari is misleading. Firefox calls them "site interventions" and Chrome calls them "patches" rather than Safari/WebKit's "quirks".

glonq|1 year ago

TIL that it's not just me who finds the default text size on HN to be excruciatingly tiny. I'd presumed that it was just an unfortunate side-effect of aging and poor vision!

rob|1 year ago

Awesome, time to submit a ticket to WebKit to auto-adjust HN's default text size to 16px like everybody else instead of 12px. It made sense in 2007 when your resolution was 1024x768.

zachrip|1 year ago

I am visually impaired so take this with a grain of salt but HN is so much better to read at 200% for me. Every time it reverts back to 100% I wonder how people spend so much time reading that small text.

coldpie|1 year ago

There's no one-size-fits all. Use your browser's Zoom feature. It will remember your settings. I find most websites have too big text, so I zoom to 66% on a lot of sites.

wruza|1 year ago

This breaks my workflow.

account42|1 year ago

> It made sense in 2007 when your resolution was 1024x768.

Yes and so it makes sense today because CSS pixels are resolution independent. If something worked on 1024x768 monitors in 2007 but is too small on your monitor today then the problem is with your settings not the website.

syngrog66|1 year ago

A quick glance at the title made me hope HN would finally allow screen-responsive auto-wrap of text lines. Its 2024 now and we know a thing or two about good vs bad UX.

Kiro|1 year ago

OT but what's up with the spam comments? What's the purpose?

zxxh|1 year ago

[deleted]

gbnvc|1 year ago

[deleted]