5
1 Comment

The latest roadblock I encountered with Manifest V3. A monthly retro from an indie extension dev.

https://trialanderr.com/blog/aug-2021

Howdy fellow extension makers, I'm an indie dev and recently started to share my monthly progress of the voyage. It's tough but fun at the same time.

I'm sharing my retro blog article, but wanted to put focus on a particular issue I encountered recently.

This is related to manifest v3 for Chrome. Long story short, service workers in the background break. Why? Well, that's the interesting part, it's not entirely clear but the culprit seems to be iFrames injected into a webpage. Silly right?

Well after a long weekend of attempting to identify the problem, I was able to come up with an example project that does these simple things.

  1. extension with chrome.commands shortcut to inject an iFrame
  2. a plain Javascript content script that adds an iFrame to the body
  3. iFrame only includes a console.log statement
  4. a script to bump version patch and rebuild
  5. drag and drop to test update lifecycle and service worker breaks 💥

Yeh, just these simple steps. Kind of annoying if you ask me.

Well, it's been 10 days since I've reported the bug, not much I can do really. I can't ship my extension with manifest v3 as it'll break for users the second I upgrade my users.

So what's next for me? I see no way other than to migrate to manifest v2. This means having to refactor my background script to support it, such a shame. All this time my goal with manifest v3 was to get ahead of the curve.

Here's the bug report for anyone interested: https://bugs.chromium.org/p/chromium/issues/detail?id=1242225#c1

My hope is to spread the word of this peculiar issue and be wary of using manifest v3, until it's been vetted by Google

PS: I really hope this is my fault and I can fix it, but after studying the scenario I just don't see how.

  1. 2

    FWIW, I've been able to finally escalate it to the ServiceWorker dev Chromium team. I was able to get in contact with a developer advocate from Google in an extension Slack channel I'm in.

    Unfortunately, the process has been rather slow. There's a process where test engineers take a look at the bug and try to reproduce it. If they are unable to reproduce it or are encountering issues, it'll take 3 or so test engineers to finally make the escalation happen.

    I have my fingers crossed the issue could be addressed in a timely manner, but in the meantime, I don't want to hold my MVP product from being released. A great indie dev dilemma

Trending on Indie Hackers
IH invite system is broken 28 comments Roast my 3D landing page! 13 comments I don't know what to do on indie hackers anymore. 8 comments Let me promote your product! 5 comments How to write an engaging comment on Twitter 2 comments One way to make coding easier for you 1 comment