I found this interesting. On both the Chrome blog and this EFF post, there is a quote from AdGuard CTO Andrey Meshkov. One of the quotes is favorable/neutral toward Google, while the other is more negative. It sounds like Meshkov may have changed his opinion.
But yes, my opinion about MV3 did improve with time. Briefly: it is not ideal, DNR is not a full replacement for the blocking webRequest, but their work for the last several years made me hope that they can compensate for what we're losing by other platform improvements.
MV3 is basically MV2 with one tectonic change: replacing persistent background pages with ephemeral service workers. So a large part of this effort actually DID go into MV2.
There's a better question: what if instead of investing huge amount of times into DNR they put it somewhere else? For instance, into providing better tools for extensions to persist their state so that we didn't have to rewrite the extensions from scratch to make them work with the new service workers model? I think it would've been much much much better. Unfortunately, that's how hindsight works.
Yeah, at first I thought of using offscreen documents as a replacement, but it appears that:
1. They're not persistent too.
2. They have a different purpose, they're supposed to be used as a temporary crutch that gives access to DOM features for the time until it's brought to service workers.
> persistent service workers
You're right to write it in cursive, there're ways to prolong the lifetime of a service worker, but they're not persistent anyways. All in all, the only reliable way to live with service worker is to rewrite extensions in a way that allows them to very quickly initialize after the service worker is brought back to life. For some extensions it's easy, for some it's quite a complicated task.
>Despite the fact that the Chrome devs spend considerable resources on fixing the MV3, and the dynamic is definitely positive, there are still many questions left.
Keep in mind that adguard's main product is a desktop version that effectively mitm's all traffic so they can block requests or locally inject JS & CSS directly into the page without needing browser extensions (which is admittedly pretty clever, but I don't like the local proxy approach). Purely from a business perspective, MV3 is actually good for them because it means that this desktop approach becomes the only viable option for full-control over the request lifecycle.
But yes, my opinion about MV3 did improve with time. Briefly: it is not ideal, DNR is not a full replacement for the blocking webRequest, but their work for the last several years made me hope that they can compensate for what we're losing by other platform improvements.
edit: grammar