SingleFile version compatible with Manifest V3
github.com
github.com
V3 not allowing remote code execution is actually a serious benefit. Of course, this does not negate the fact that V3 is mainly there to boost the ad ecosystem of Google, but I'd never want my screen casting extension to be mining bitcoin on the background. That said, I'm not sure how this is going to scale long term, given that it sometimes takes 2+ weeks for the web store review team to approve a genuine one-line change. Lack of RCE is only going to make this review backlog bigger.
This is Google Kool-Aid. When Google says "remote code", they mean _remote to google_. Your own script on your own drive is remote to google. Google is removing User from the User Agent.
[1] https://developer.chrome.com/docs/extensions/reference/tabs/...
Still not good that they removed that...
> but I'd never want my screen casting extension to be mining bitcoin on the background
You'd "just" get ads or sites doing it
not true. they're going to allow RCE now.
> given that it sometimes takes 2+ weeks for the web store review
Not true at least in my experience. Approval takes around 2-4 days max for my extension.
Not entirely sure of how this is true. A recent V3 extension I've built is able to inject both the "Referer" and "Origin" headers using a declarative net request ruleset:
1. manifest.json (referencing the rules.json file): https://github.com/dedoussis/icloud-hide-my-email-chrome-ext...
2. rules.json: https://github.com/dedoussis/icloud-hide-my-email-chrome-ext...
3. Relevant docs: https://developer.chrome.com/docs/extensions/reference/decla...
I don't know how many will come but if Google wants to implode their plugin ecosystem in favour of more advertising, and if that action increases Firefox adoption (and thus a healthy browser ecosystem via competition) then I am for it.
Now that they have Edge, they need neither. Because they can now pretend that Edge is something else but a glorified Chrome fork and follower.
See, for example, WebTransport which as a standard doesn't even exist beyond some scribbles on a napkin https://web.dev/webtransport/
--- start quote ---
The WebTransport features described in this article are shipping in Chrome, Edge, and other Chromium-based browsers, starting with version 97.
Firefox does not currently have support for WebTransport. Updates on their position can be found in this GitHub issue.
Safari does not currently have support for WebTransport.
--- end quote ---
https://www.ghacks.net/2022/09/24/mozilla-reaffirms-that-fir...
Its one of my major annoyances, that sometimes I do get ads on my iPhone, even with Ad-blockers.
I think you're underestimating just how much annoyance the general public will put up with. Look at how popular streaming services are, even though they're constantly removing content. I see people complain about it all the time, but they keep signing up for more services.
Firefox has never even held 10% browser share
I distinctly remember firefox having at least 25% share in 2010. No source besides my memory.
https://blog.mozilla.org/metrics/2009/11/09/firefox-hits-25-...
The peak was 25%.
That's very inaccurate. Firefox held a ~30% market share way back in ancient times (~2009), which decreased to around ~10% through to ~2018.
The substantial drop from ~10% to it's current position only happened in the last few years.
Animation of the browser market share over time, if that helps: https://www.youtube.com/watch?v=es9DNe0l0Qo
Also those numbers seem to be highly inflated
Here’s a Mozilla blog post from 2009 celebrating hitting 25%:
https://blog.mozilla.org/metrics/2009/11/09/firefox-hits-25-...
That was the highest point.
Firefox held 32% market share in 2010.
It rose because Internet Explorer sucked and us technical folks made our relatives switch along with ourselves.
Same story with Chrome: pre-Quantum, Firefox was getting pretty slow and Chrome was the new, fast kid on the block, so we changed browsers and dragged the tech-illiterate along.
It's time for this to happen again. The Chromium monopoly is bad for the open web, and now that Google has consolidated power, they're using it to push ads.
It's time we switch back to the only viable, truly open source alternative and drag all our acquaintances along.
Now imagine if you're a company that have 50k or 100k developers on payroll. Even that alone will actually spread your influence if you indoctrinate them right, might be worth hiring them just to double down on that influence, even if you may not necessarily need them.
I can tell you with absolute certainty it won't happen, at least so long as we're talking about Firefox as the alternative in this kind of manner, and here's why:
Both the Firefox and Chrome usurpations happened organically without too much ideological dogma getting tossed around. It just happened: IE6 sucked ass, Firefox was great, usurped. Firefox (read: Mozilla) became putrid after usurping the throne, Chrome was great(ish), usurper usurped. It was all ultimately just happenstance, the commons did commons things.
Contrast now, where Firefox is being thrown around by a select handful as the supposed returning saviour with dogmatic fervor. As a witness of the original usurpations, I will say this isn't what happened ~15 years ago and it is impossible to force something to become a thing.
Chrome will eventually be usurped, but it's probably not going to be Firefox and it's going to happen regardless whether anyone forces the issue or not.
Ad blockers need to make no attempt to function at all with MV3. They should maybe even go out of their way to not work. Any ad blocker installed on chrome should just bring up a message that said (not 100% truthfully) that ad blocking can't be made to work on Chrome, please go to Firefox to continue ad free browsing.
This will shift a lot of users. Especially the more technical ones who then tell their less tech savvy friends and when they go home for Thanksgiving they can just install Firefox on dad's computer so he stops falling for stupid scam ads.
This can work, and I think work pretty well. This does not mean that Firefox is the end all, be all. That hypothetical usurper browser you mention can still swoop in and scoop up the new Firefox users as well as the poor saps who stayed on Chrome.
Likewise, any contender to Chrome today must demonstrate objective, practical superiority (and be honest about it). The commons don't know nor care what FOSS is, arguing FOSS to the commons is a fool's errand.
I appreciate gorhill, a trusted name, took the initiative to release a MV3 adblocker, because that simple act stopped fools like you who would readily deceive users to force an issue.
Also, pro tip: Deception doesn't last for long, and once it comes to light you are never regaining that lost trust and respect.
It's not ideology or deception, MV2 is just better for ad blockers.
It's just a matter of correctly conveying that to the masses.
If the hobbled ad blockers get made anyway then the effect pushing to Firefox will be lesser but still there. Especially since ad networks will not be able to restrain themselves from abusing the initial crack in the door and users find themselves staring at more and more ads.
A bit different story with Chrome: you remember the installers that added toolbars to your MSIE? That's where Chrome went.
The only reason mozilla switch "worked" is that at the time it was a significantly better browser
Now a huge portion of net traffic is mobile devices. Those are far more locked down. It is not as easy to install and use a new browser on IOS or Android devices.
People around here seem to forget that for a large number of internet users a phone or tablet is their primary interface.
It might be trickier on iOS, but that's not a technical limitation and imo an antitrust case waiting to happen. We'll see if the Digital Markets Act forces their hand.
https://blog.mozilla.org/metrics/2009/11/09/firefox-hits-25-...
By 2010 there was some dispute as to whether or not they ever surpassed 24%
https://arstechnica.com/information-technology/2010/03/firef...
I remember reading that article when it was originally published :) It was all downhill from there.
Chrome still fails to render a lot of scaled images though: https://stackoverflow.com/questions/37906602/blurry-downscal...
I doubt most users will go back though.
Firefox will barely gain market share.
Chromium is opensource, so the basis for straight forward binary modding are already there.
Firefox needs to take the google money and throw it into aggressive marketing.
Architecturally, it is definitely possible to interleave ads from an ad network into your server's http3 response stream by doing server-side ad network integration. Only the measurement needs to be client-side and directly integrated with ad network, if at all. The same underlying mechanism used for content security policy can be used for ensuring integrity of ad content even when not served directly by the ad network. So, any domain/url/path/extension/dom-id etc based ad blocking mechanism isn't going to work.
Very likely this will result in superior technical performance (latency and measurement), and superior ad performance (due to richer backend data integration and better ad selection). It is just a matter of time.
I'm surprised that's not already the case. Well, not that surprised, it's a business where at least one of sides is scum and server-side makes it a hell lot easier to cheat
It gives way too much power to the publisher: they want the ad money and therefore have all the incentives to commit fraud.
At the moment, having the ad distributed by a third party and a ton of other third party JS in the browser allow all parties involved to cross check each other.
The bot problem would be way worse with server side.
In the meantime, someone will build adblocker undoing what has been done server-side. And if this is hard to detect, that will be based on training/model. Data integration will be subject to GDPR.
I'm sure that such intimate server side integration will eventually result in legislative pushback for privacy protection, and the measure-countermeasure game will continue.
They might be able to address this by flipping things around. Instead of the ad service providing ads to the content provider for the content provider to them embed in the content and server, have the content provider provide content to the ad service which then puts in the ads and serves the content.
Let's say content provider foo.com wants ads from Google. One way this could be done is for foo.com to organize their site so that any pages they want ads on come from content.foo.com. They would set content.foo.com to point to a server run by Google. That server would provide a way for foo.com to put their content there, with some mechanism for Google to do the ad integration and then serve the pages.
If the industry moves to a place where only server-injected ads are profitable, something will surely give here. The end result will be more large conglomerates knowing more about us than ever before, unfortunately.
I do believe that Google doesn't want ads served through the site that's actually being visited, because it reduces Google's visibility into what's going on, which affects both Google's semi-legitimate interests, like being able to detect click fraud, and Google's total control over information that might be used for targeting.
I also believe that many of the sites don't want that, especially the smaller ones. It'd be more complicated for them to set up, and would mean they needed more bandwidth.
I do NOT believe that Google actually cares enough about user's privacy per se to do much about it. If that were the case, Google itself wouldn't collect about 95 percent of what it actually does collect.
User privacy sounds good as an excuse, though.
https://blog.google/products/marketingplatform/360/improve-p... https://developers.google.com/tag-platform/tag-manager/serve...
I guess for Chrome that share is even greater.
Most people don't use extensions and don't know ad-blocking is even a thing.
> Firefox users should be a more tech savvy ones
Now in the same thread you're suggesting a tiny minority of users are tech savvy.
Sorry, but can't have it both ways - majority savvy and minority savvy. It's either-or.
> Mozilla has renewed its lucrative nine-figure deal with Google to ensure its search engine is the default in Firefox in the US and other parts of the world.
...
> Moz will likely pocket $400m to $450m a year between now and 2023 from the arrangement
...
> More than 90 per cent of Mozilla's funding comes from web search providers that pay for the right to be the default search engine in Firefox in their regions. According to the organization's latest financial figures, $430m of its 2018 total revenue of $451m came from those internet giants – primarily Google
https://www.theregister.com/2020/08/14/mozilla_google_search...
I know I'm satisfied with Firefox built-in Enhanced Tracking Protection, so I don't have an extension installed for "ad blocking", but my problem is not ads but ad trackers. I don't mind "non-personalized, non-targeted" ads and I welcome them in many cases, but I do mind ad trackers and I loathe any attempt at "personalized" ads.
(Though I don't have 0 extensions installed even then, I like Tree Tab Plus and Multi-Account Container. Multi-Account Container is of course another reason the ad networks believe I "block ads" even though I technically do not. It seems better for me that Google, Twitter, and Facebook accounts are never logged in at the same time in the same tab.)
[1] https://developer.chrome.com/docs/extensions/mv3/known-issue...
>none
Tom here lists all the benefits of V3: https://www.youtube.com/watch?v=OTFqmfyM4TQ
I'm sure the future without MV2 will have users launching .exe files to mod Chrome which is much much worse (similar to what's going on with Discord and other Electron app mods).
> The benefits exist if you treat the user like an absolute buffoon that can't handle installing extensions. If you really wanted to, just put a massive warning screen before installing extensions that require dangerous permissions.
But... what different is it than installing software? And "big scary warning" is what one of things Windows UAC brought you. It helps some folks, but otherwise it is "just push OK".
I like how Android/iOS handles - I can approve/reject specific permission upon request and only grant it while using app/this time only.
You'd be surprised by the amount of people that are shocked by the fact that an extension they installed has blanket permissions.
The current one just lists "Access to all websites" as a normal permission as if it's no big deal.
Average internet (hence chrome user) don't even know what mod means. They don't care about ads (at least not enough to actively make any change). If the ads become too annoying they'll just skip the video or won't visit a website again and the people serving the ads know that.
43% of internet users are blocking ads. It's not only tech people who are doing this. https://earthweb.com/how-many-people-use-ad-blockers/
Which is even more problematic. Because they will literally click random exe people send to them. And also the reason Edge decides to default to reject random unpopular unsigned exe downloaded from internet.
These are such empty words that could mean anything. I wonder if the author is a politician.
Are you volunteering to do this? Do you have the time for all of that?
Edit: Why not just use firefox?
Where is the new Firefox, or maybe Ouroboros - the snake that eats its own tail in a perpetual cycle of birth, destruction and rebirth - is a better name? Where is the GNU browser engine, built to serve the user instead of its master?
(For Brave, I was always skeptical of them because of how they are tied to crypto stuff.)
The crypto stuff is already disabled by default, so not sure why people complain about it so much when it's opt-in not opt-out.
Brave doesn't require you to invest your own money, their coin holds practical value. People who turn on Brave Rewards get free money that can be withdrawn. Sure it can't make you rich but the money is still a lot more than Chrome and other proprietary browsers ever gave you, imagine getting paid for receiving (not viewing or interacting) ads. Their model works and they give away 80% of their revenue back to the users, who else does that?
Every time I hear someone calling Brave's crypto a scam, I immediately point out the fact that they're an independent browser company that was able to find a viable business model that doesn't require them to sell their soul to Google like Mozilla.
Everybody keeps asking, "What if Mozilla found out a monetization strategy that would make them independent from Google and allow them to make their own decisions", well that's Brave! It's the first independent browser company that's able to earn money on their own without compromising user privacy. I don't like crypto either but I do believe what Brave is doing has value and BAT is definitely not a scam, it works and it works well.
If we are strictly concerned with the functionality of our tools, and not the ideology held by their creators, it is an option. For some people that might even be a plus, not everyone thinks the same way about these things.
It's counter-intuitive, but a continuously running money hose sometimes seem to attract these types of people and corrupt an organization. Ironically Google itself internally has this problem, where its limitless advertising revenue is being absorbed to all these shiny projects which people never really care about maintaining and its sole purpose is to advanced people's careers inside the company...
"Google says Manifest V3 is "one of the most significant shifts in the extensions platform since it launched a decade ago." The company claims that the more limited platform is meant to bring "enhancements in security, privacy, and performance.""
Big Tech is not exactly known for its honesty. If it does not also increase profits and/or decrease losses then there is no sense in pursuing it. There is literally nothing Google does that is not sold as being for the benefit of its data sources and ad targets, i.e., "users". Doing things that help lure in or retain the data sources and ad targets is not not the same as doing thing that actually benefit them. At best, what Google does is make compromises, but the announcements never acknowledge any compromise. Everything is a win for the data sources and ad targets. If we are to believe their rhetoric Google's interests and "users'" interests are always exactly the same. Impossible.
"Privacy groups like the Electronic Frontier Foundation (EFF) dispute this description and say that if Google really cared about the security of the extension store, it could just police the store more actively using actual humans instead of limiting the capabilities of all extensions."
As if anyone else, besides people obligated to support Google, would not "dispute this description". We do not know because those other people are never asked. None of them asked for an update. They have no choice in the matter. Ambivalence does equate to agreement.
It makes one wonder why does Google even bother to purportedly disclose the motivation or justification for an "update". No one has a choice to reject it. We never see any evaluations fo the source code changes. So-called "users" are not the stakeholders in this project.
"The EFF poked holes in most of Google's justifications for Manifest V3 changes, saying that malicious extensions are mostly interested in stealing data and that Manifest V3 only stops extensions from blocking data, not inspecting it, so Google isn't doing much to stop bad actors. The report says performance also isn't a valid excuse, citing a study showing that ad downloading and rendering degrades browser performance."
Tell us something we do not already know. Google's customers are not "users", they are advertisers. As such, statements about the advantages of an "update" really should relate to the advantanges for advertisers. Any other statements are just meant to lure in or retain the data sources and ad targets.
EFF, I love you dearly, but on what planet.
There are 135,000 extensions in the Chrome Web Store. If Google hired 1,000 people to vet the store (a staggering number), each person would have a portfolio of 100 extensions to care for.
* This extension is much less likely to consume all of my JavaScript resources when it malfunctions
* I, as the end user, can install this extension without fear that arbitrary code execution of code sourced from the web means the extension creator can change the extension to harvest my data later without anything changing in the Chrome Web Store to indicate this has happened
The bugs need to be fixed, but the benefits are for end users not developers.
[1]: https://learn.microsoft.com/en-us/microsoft-edge/extensions-...
Oh boy. Edge is actually worse than Chrome in privacy and data-collection, that's a feat in itself.
Source: Trinity College, Dublin Research Paper -https://www.scss.tcd.ie/Doug.Leith/pubs/browser_privacy.pdf
Firefox is a legitimate alternative, it works for >99% of the world's websites and is an actual alternative i.e. not a fork of Chromium. We need to support Firefox. I've been using it for nearly the last 5 years full-time and have never needed to open Chrome.
Do some Google websites perform worse on Firefox? Sure, but the entire reason that's because people don't use Firefox enough i.e. some websites are worse on Firefox. It's a cycle. People don't use Firefox enough, which is why some websites are not performant on Firefox and so on.
Firefox expanded and became famous because of a large amount of developers telling their families and friends that it's the better browser. Same was the case for Chrome. This needs to happen again.
As a side note, can someone at Mozilla please make it so that I can donate directly to Firefox? Is that not possible for some reason? If I knew that Mozilla wasn't going to spend my money on some stupid new idea, and it would directly to supporting Firefox development, I would defintely pay a subscription each month to Firefox, and feel like a lot of other people would too.
Stop these random excuses.
I also find FF more resource hungry than Chrome (and Chrome is pretty heavy on resources too).
If they start by making the dev tools better than Chrome's, I know I'd switch, or at least start running it in parallel.
Relevant link: https://news.ycombinator.com/item?id=24563698
Let’s talk about the product.
They did it for technical reasons, and one of the first extensions to be supported was ublock origin.
"Technical reasons" doesn't really cut it. There are frequently technical reasons involved in making a bad decision. That's not a justification.
Edit: FFS, guys. I am not against donations to mozilla. I am against sponsoring this person.
if his family can't accept "80% discount to market" then maybe he'll have better luck heading a corporation that he didn't oversee running itself into the ground
She's actively sabotaging the whole thing
Which is useless if your bank shows you an empty page with a message that says they only support Chrome and Edge "for security reasons".
And Mozilla had many, many, many chances to endear themselves to developers. Their actions can best be summarized as they don't give a damn. It took them years to ship basic dev tools with Firefox. Then they wiped out an extension ecosystem that had been growing for more than a decade with the justification that they needed to get rid of technical debt. Meanwhile, Firefox still contains bloatware like Pocket. As for the privacy argument, Mozilla's track record on privacy is mixed at best, considering the many questionable choices they made in this regard in the past.
"The answer to all this" is not Firefox. Not the Firefox made by the Mozilla of 2022, anyway. If the Mozilla of 2004 could somehow be resurrected, perhaps they could turn Firefox into something that would indeed be "the answer to all this". At that point, developers wouldn't need encouragement to switch to Firefox. They'd do so simply because it would obviously be the better browser for them.
Do you have any proof that wasn't the case? From what I saw, XUL was invented to define UIs in XML but over time HTML became better than it for defining UIs.
And the great freedom XUL allowed made some optimizations impossible.
XPCOM was a object model from the 90s and had several legacy issues. On top of that was XUL and XBL were obselete by improvements to web api and was badly mainatined. Like Gnome-shell, xul extentsion were monkey patching firefox internals. So firefox was limited on certain security and performance improvement. By removing old addons, firefox could start replacing the mess of the old subsystems. XBL was removed for example and xul I think still exist but a fraction of the former self. I don't think the can remove xpcom until they can port a 50% of firefox to rust though
I don't see why so many people are against Mozilla using donations how they see fit. They need to diversify because relying on a single project, a free browser, in a single market segment which is saturated with free browsers, is a massive risk. Firefox's survival mostly hinges on Google's money, which of course Google have a massive interest in (they need a competitor to Chromium). However if that were to change, Firefox is going to struggle even more to keep up.
So, in my opinion, Mozilla need to diversify with alternative projects that could bring in money and reputation, and maybe even through integrations users for their other projects. To be able to do that, they need flexibility on how to spend the donations. To see what could happen if there are strict limits on what funds can be used for, check out Atlanta's MARTA system. They have to split incoming funds evenly between operational and capital expenditures budgets, which results in bullshit like them having the money for shiny new trains but not enough for basic repairs. Mozilla probably don't want to find themselves with tons of money for Firefox, but not enough to keep the lights on in general (legal, office, C-suite, other projects).
So I see where you're coming from, but it's just unrealistic.
Because people donating to Mozilla are expecting that those funds are used for the browser and not a string of experiments that fail miserably. People rightfully feel betrayed and stop donating.
> Mozilla need to diversify
Exactly wrong. Mozilla needs to concentrate on the Browser and should cut off all excess expenses and useless experiments. The goal should be to minimize cost and thus reduce the reliance on Google money which should be replaced by pure donation money.
Rust being the notable exception of course. Rust is probably what Mozilla will be remembered for when Google pulls the financial support for Firefox.
So you should either trust Mozilla the organisation to spend funds wisely, or not. Forcing them to spend only on Firefox can still result in "waste" from a purist perspective (like a programming language) while at the same time massively constraining them.
And i quite like some of Mozilla's alternative projects. Pocket is cool and genuinely useful. Thunderbird could use some love but is pretty decent.
Rust was the right technical approach for this browser, given the existing technology and the problems they had to solve to update the rendering engine.
They later bought the company, so now it's a kind-of-Mozilla product inside another Mozilla product, which doesn't sound nearly as egregious as it was at launch: a forced third-party browser extension that couldn't be meaningfully disabled.
It is entirely possible to implement a donation model that does work towards both. Simply allow users to determine what percentage of their donations goes to Firefox but set the max percentage to something like 90%.
They are asking to set [some URL] as the homepage, that is, the equivalent of this setting -available on desktop Fx- https://imgur.com/a/flHTSNe
This makes it so that when you open Firefox initially or when you open a new tab, it loads the chosen URL instead of loading the about:newtab (the page where the shortcuts you mention can be found).
This setting was available in some -old, Fennec- versions but not currently.
From what I can see, it works with 100% of the world's websites.
who saves a website to their local machine other than tech people anymore, for example.
I moved to MS edge because it blocks ads on mobile.
More directly put, developers would develop extensions for Chrome and more often than not would not bother with Firefox as the framework it used was different. By switching to the same framework for developing extensions it now means that it takes little to no effort for developers to also publish it for firefox.
Having said that, Firefox is providing compatibility with manifest v3 while at the same time not implementing some of the restrictions that are in place in the Chrome implementation.
Great idea to prioritize interop when the people who you're trying to interop with are gulping large chunks of your userbase. Very important to make sure that Firefox had parity with Chrome in extensions, the only area where Firefox previously had a massive advantage over Chrome.
It didn't though, because the API was different a lot of extensions that appeal to a broader user base were not made available on firefox (anymore). Yes, the previous framework did allow other use cases more suitable for power users but those are a fraction of the total user base.
And in general it hugely simplified extension development. Instead of having to maintain various code paths for different browsers and accounting for slightly incompatible APIs this was no longer needed.
https://www.theregister.com/2020/08/14/mozilla_google_search...
Good ads can teach you a lesson about copywriting or storytelling, cookie banners are pure time wasters.
Making the tradeoff of reducing your security / privacy / performance for more freedom is not the right call for most people. Extension authors have abused their freedom so it should be taken away.
That said, I've ported an above moderately complex extension from manifest V2 to V3 and found the experience quite OK.
* The permission model is more clearly defined.
* Background-workers instead of background-pages makes for a more consistent API. IMO background-pages were always weird.
* Usage of obsolete APIs which may have "suddenly" failed in V2, now actually immediately causes runtime-failures in V3, making sure you've get all of them upgraded.
* You need to be explicit when doing "dangerous" things like injecting scripts. There's nothing accidental about this. This clearly improves security.
* Time taken? Roughly one work-day.
* No functionality lost.
Right now, as a developer, my only complain about V3 for this extension... That I no longer can have a single, consistent codebase for the Chrome and Firefox-versions, because Firefox doesn't yet support V3 in their regular end-user builds. But once they do, that problem will be solved too.
And as an end-user, I really feel this security-model makes extensions which can operate within the V3-constraints more trustworthy than similar extensions implemented using V2.
Extensions have always had a dodgy security model, and given the nearly unprecedented access they have to our data and habits, it's important that this is being improved. Most users aren't going to be able to tell the difference between a good extension and a malicious one, and even developers who would like to think they can probably can't in many cases.
It sounds like security and performance are significantly improved, and these are both things that the tech community are usually big supporters of. But in this case it comes at the cost of some flexibility with ad-blocking, and if there's one thing we love more than security and performance, it's a chance to point the finger at big tech. There's a lot of nuance that has been lost from the ad-blocking discussion.
> Background-workers instead of background-pages makes for a more consistent API. IMO background-pages were always weird.
True, but they also did provide developers with a few benefits. For starters having a complete DOM available allows for a lot of handy dandy functionality to be done in the background.
In the same sense it also meant having localstorage available in the backgroud. Which was actually very neat for caching purposes. Specifically if you care about privacy and people using your extension in incognito mode. With `"incognito": "split"` enabled it meant that cached data (so most likely the sort of data you don't want to leak between sessions) would remain seperated. This is no longer possible. You'd hope that the new session storage would work there, but no, for some reason that still ignores the fact that `"incognito": "split"` has been set and just leaks across sessions.
Timers no longer being a thing also makes some operations slightly more complex, even more so because alarms do have some funky behavior.
Ajax no longer being available sort of makes sense, but fetch isn't a drop in replacement as it does require a bit of boilerplate to make it work in a predictable manner. So it does require some effort there.
> Time taken? Roughly one work-day.
Eh, for relatively simple extensions I'd say that is accurate. But having done the conversion recently with an extension that does a bunch more and did rely on various background operations it took substantially more to get to there. It had a general positive impact on the code base in various areas but it was really more work than one workday, even more so when I include all planning and brainstorming.
Given that many extensions are open source projects where maintainers have limited time and where for many extensions there really isn't a benefit I fully understand some of the hate towards being forced to do the conversion.
My extension (excluding NPM-dependencies) counts in at around 20k lines of TypeScript + various other resources. I think that counts as above average.
Granted, the background-page/worker portion of it was not the dominant aspect, and thus had less rewrites required than if things had been the other way around.
That said, migrating to V3 was way less effort than I thought it would be. I'm not saying it will be so for all extensions, but it was for mine, and it may be for others as well.
Basically I'm just trying to provide some additional perspective here besides the usual content-blocker perspective which so far has gotten 100% of the narrative. Note I'm in no way dismissing that concern, but I think having the entire conversation framed around those extensions only does not correctly represent the huge variations found across the extension ecosystem.
Absolutely, I didn't reply to say you are wrong or anything in that regard. I basically wanted to give some additional perspective.
> I'm not saying it will be so for all extensions, but it was for mine, and it may be for others as well.
Yup, for many extensions it might be relatively painless. It was for a different extension where I just had to replace ancient ajax calls for fetch and move some functionality to the front into content_scripts.
At the same time it was a lot of work for the extension I mentioned in my previous comment. Which I might add is not an extension that has anything to do with content blocking which I agree does get a lot of attention.
But the truth is that there are also a number of extensions that made creative use of the current manifest construction. Those extensions no longer can offer the same functionality, have to rewrite a lot of code with no functional benefit or redo functionality in a way that degrades the user experience.
Even if for the majority of extensions migration is relatively painless it still leaves those extensions where it isn't and even those that can't be migrated due to how they work. They won't be a majority, but it still means that once the switch is done the ecosystem will be less diverse.
What do you mean here? How do scripts get included explicitly?