Update: In what is a lesson of “I should probably reach out for help sooner,” a commenter on the Hacker News thread correctly found that the issue was a text-indent rule we have on the Anchor Tab stamp. Go figure. I’ve removed the rule from the CSS, but what with the awesomeness that is caches it’ll take awhile to show up everywhere. I don’t know why my previous adding/removing of elements on the bar didn’t find that, but c’est la vie.

I’ve been working on Anchor Tab in some way shape or form now for well over a year. Today, I have no desire to do anything on the project because no matter what I do, I’m going to have a substantial number of users who won’t be able to view it correctly. Why? Because of a painting bug in the latest versions of Chrome.

One of the Chrome releases last month caused the Anchor Tab itself to display incorrectly when scrolled. My response to this was to write a blog post about it on the official Anchor Tab Blog, poked a Google engineer about the issue on Twitter, and filed a bug on the Chromium project.  There has been no progress except that one of the Chrome engineers confirmed the bug, and also confirmed that Safari, Firefox, and others were not behaving this way. Perhaps one of the more frustrating aspects of this bug are that it doesn’t trigger on every site. So I’m torn between trying to hack together a fix and preserving its current state in the hopes that one of the Chrome engineers will get around to fixing it soon.

What Chrome is drawing for an Anchor Tab after scrolling.
What Chrome is drawing for an Anchor Tab after scrolling.
In the interim, I have learned the following about the bug:

  • Turning off hardware acceleration appears to make it worse.
  • It doesn’t affect every site. Our landing page is affected, our blog is not. 
  • Removing all paintable elements from our page doesn’t seem to fix the bug. 
  • Adding link tags to the body appears to trigger a redraw but doesn’t work all the time. 
  • If I had to guess the culprit for triggering this bad rendering mode, I’d guess our YouTube video, but removing it doesn’t appear to fix the issue. 

I’ve taken a liking today to trying to add and remove various CSS attributes and see if I get lucky, but so far I haven’t. 

So, I’m at a loss for what to do. I don’t want to spend time working on advancing a product that is going to be horribly broken for a large number of customers for who-knows-why. The worst thing I can say to a customer who is experiencing this issue is “I don’t know” or “I can’t fix it.” We’ve already had a few customers who were quite happy with our product remove it from their site because of this bug. 

I find myself in one of these moments where I’m glad this project wasn’t a full time deal. If I was depending on Anchor Tab to eat, I probably would have started going bald by now with stress. That’s pretty scary: Chrome switching to a new rendering engine that isn’t ready yet could shoot a business in the foot, and mean someone is eating ramen for a few months. That’s not my situation, thankfully, but welcome to the future all the same.

Not working in Chrome is less than what our customers expect and I’m quite powerless currently to meet those expectations, which sucks. So, if you have thoughts, questions, or advice (or better yet if you know how to get this working again) – share your thoughts on the discussion on Hacker News. If you need me I’m going to be going through a glossary of CSS terms to find one that fixes this.