gorhill / uBlock

uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.
GNU General Public License v3.0
47.04k stars 3.13k forks source link

Suggestion: Reclaim control over your work in the Microsoft Store. #3465

Closed Aerocet closed 6 years ago

Aerocet commented 6 years ago

From the original defunct abomination that is nikrolls' adaptation of uBO on Edge to the newer "Nano Adblocker" which is pending submission to the store, uBlock Origin will have multiple mostly-faithful, twisted offspring attempting to accomplish Edge compatibility. It's probably best to end these abuses and cut off Edge support completely or support it officially.

While Nano Adblocker is more functional than its counterpart, it also makes a greater departure from the original intention (hence the rebranding). But most importantly, the current Edge extension that you endorse is a steaming pile and all features aside from basic adblocking are just as likely to work as they are not to work.

In the interest of upholding uBO's high standards of quality and performance, it would be wise to intervene before the issue becomes worse.

jspenguin2017 commented 6 years ago

The current Edge port of uBO is pretty broken on Edge 40, but as per my quick test on Edge 41, it is working rather well, although not perfect.

I'm happy to maintain the Edge port of uBO, but it's ultimately up to gorhill and nikrolls. I won't make subjective changes to the port so you don't need to worry about originality.

Aerocet commented 6 years ago

It doesn’t necessarily have to be gorhill that maintains the fork, as he has expressed his disinterest in supporting a browser used by the minority, but the current state of affairs leaves us with a dysfunctional “official” uBO that has missing features, a broken filter system, and other oddities. The port is crude, unpolished, and requires active curating which nikrolls does not offer.

In all fairness, he shouldn’t be the self-elected co-developer for Edge but that isn’t my business.

gorhill commented 6 years ago

he has expressed his disinterest in supporting a browser used by the minority

The reason is that I don't have Windows, and to be honest I don't want it. So it's all in the hands of whoever has the personal time to invest to keep uBO working and up to date.

Aerocet commented 6 years ago

At this point, do you have the ability to give the extension to someone else? It’ll be dead in the water soon otherwise. To @jspenguin2017 merit, his extension is superior simply judged on what actually works. Perhaps he could maintain an original uBO iteration as well.

I would say that @gorhill should own the extension in the store with another developer pushing updates for the best long-term results, but anything would be better right now. Currently, we get a bi-annual merge with no actual maintenance of compatibility or regard for the fact that not everything translates perfectly from Chrome to Edge.

jspenguin2017 commented 6 years ago

It's possible for @gorhill to hold the primary ownership and give other people the privilege to push to it, however, there needs to be a secure channel to exchange authentication keys and it'll cost @gorhill $20 for the developer license. And it'll be a pain in the rear to get it set up.

I'm happy to maintain both extensions, more users and bug reports the better. But at this point, looks like we need nikrolls to voluntarily give up the ownership.

Aerocet commented 6 years ago

If only this kind of agreement could have been sorted originally. Can Microsoft be contacted regarding this matter? It’s for the greater benefit of the community at large. I can’t imagine that the true owner/developer of uBO would be denied rights to the extension.

I think this motion would have greater implications as well; Edge is definitely gaining traction as it becomes more feature-complete and stable, and the adblock marketspace is begging for something like uBO. (Plus I see that some people have agreed with my original post.)

jspenguin2017 commented 6 years ago

I guess it's kind of rude to try to strip the ownership off nikrolls, he seems to be very busy, but I don't think he wants to cause any harm.

Aerocet commented 6 years ago

I don’t think it’s rude. He doesn’t do anything. The extension is still in alpha at best and it needs to be given a new lease on its existence. Simply merging the code written for Chrome and removing the browser-specific workarounds isn’t development, it’s BS.

Needless to say, I think there's a lot of potential in taking action and having gorhill own the Edge space as well (via another developer; you, for example).

jspenguin2017 commented 6 years ago

For missing features there isn't much I can do neither, it's not like Nano has them. For element picker and zapper, they work in Edge 41, so update Windows if they don't work for you.

For broken filtering system, alias browser to chrome then cherry-pick this. I'll come up with something better later, but this will do for now.

For other oddities, I guess the about panel is the only thing broken.

On a side note, @gorhill , is there a specific reason for not checking whether ping is supported? You checked validTypes for everything except this. This throws in Edge 40, although not a problem on latest Windows.

Aerocet commented 6 years ago

I keep Windows up-to-date (and thus Edge is on the latest). Most people probably do. Anyway, I’m sure you could fix more than just a couple of things in uBO for Edge. The point is that no one wants to side-load and enable extensions every time their browser starts, not to mention that makes updates a hassle. My whole point is not about specific fixes, but bettering the future of uBO for Edge.

gorhill commented 6 years ago

is there a specific reason for not checking whether ping is supported? You checked validTypes for everything except this

vap-webrequest.js is to be optimized for each implementation -- to avoid too many code paths when dealing with different webRequest flavors:

<script src="js/vapi-webrequest.js"></script><!-- Forks can pick the webext, chromium, or their own implementation -->

Now just keep in mind that for the Chromium code originally there was not even ResourceType available. Looks like I assumed ping would be available for older versions of Chrome greater than minimum supported version, which is not the case as per MDN -- an oversight on my part. Nobody reported issue with this though with older versions of Chrome (48 and less), so it didn't get fixed.

jspenguin2017 commented 6 years ago

Sorry that I wasn't clear, it throws on Edge and I expect it to throw on Chrome 45 ~ 48 as well. On line 310 just above that block, you wrote in the comment that Chrome below 48 does not support ping. The minimum required version is 45 so I assumed that you knew the potential problem.

When it throws, it doesn't make things completely broken, it still works for the most part, although there are glitches here and there. Most people are on either the latest Chrome or Chrome 49, the last version that runs on Windows XP.

Aerocet commented 6 years ago

And we've lost sight of the original idea.

jspenguin2017 commented 6 years ago

To strip the ownership, gorhill needs to pay for the Windows Developer license and it's not guaranteed to work out. It's really hard to claim ownership unless it's an actual legally registered trademark, chrisaljoudi's build is still up on a couple extension stores, it's no easy task to take that down. The Edge port was updated in December, although it's a while back, it's hard to argue (to MS) that it is abandoned, unlike before where it was abandoned for half a year.

The best is to ask nikrolls to give up the ownership voluntarily. Have you opened an issue in his repo?

For now on my side, I'm just waiting for the flood gate to open so my fork can get listed and there are more things we can do from there.

Aerocet commented 6 years ago

The original uBlock isn’t on the Microsoft Store nor is it what I’m talking about, but I’ll make a request for nikrolls to hand over the extension when I get home.

7ronin commented 6 years ago

I'm a newbie, and use a Win 10 system with Firefox 58. I think the limitations from Microsoft store, and the person working their version, is that Win 10 utilizes a watered down EMET (enhanced mitigation) suite, programmed into Version 10 itself, since the October Update to version 1710. And since they (Microsoft) have decided to make 10 a 'forever update-able' OS,the very challenging job of programming code for extensions like this has their hands full. I am not mixing apples and oranges. Identifying and blocking exploits is the name of the game. I cannot recall which mitigation might be involved, but it could be Heap Spray, or ASLR. A lot of folks didn't care for mitigation being addressed in a 'one application' style, but for windows, it was perfect. BTW, both edge and internet explorer are prevented from traveling past my firewall, so I am able to use Mozilla Firefox, and even Tor to nearly full functionality.

jspenguin2017 commented 6 years ago

That's a good point, KPTI kept MS (and others) busy for half a year. But that just ended and the focus can be shifted back to Edge.

gorhill commented 6 years ago

Closing, the situation resolved itself with @nikrolls resuming work on the Edge fork.