Skip to content
This repository has been archived by the owner on Oct 11, 2020. It is now read-only.

Is updating to uBlock Origin 1.17.x possible? #122

Open
palopezv opened this issue Aug 28, 2018 · 27 comments
Open

Is updating to uBlock Origin 1.17.x possible? #122

palopezv opened this issue Aug 28, 2018 · 27 comments

Comments

@palopezv
Copy link

As the title says.

@Weasy666
Copy link

I'd also like to see an update. There is this annoying problem with the entire browser getting minimized when you deactivate ublock on a page and reload it from the ublock menu.

@jspenguin2017
Copy link

jspenguin2017 commented Sep 16, 2018

@gorhill Edge port is stuck (again), this time on 1.15.24.

I think the problem is that nikrolls rewrote vAPI scripts, which means every time upstream changes those scripts, it's a huge pain to pull updates.

Note that I'm using -ms-preload to insert a shim, and the unshimmable changes is only a few lines: https://github.com/NanoAdblocker/NanoCore2/blob/master/patches/integration/90_0_edgyfy.patch
Except the tabs.reload function, all works fine on 1.16.21rc0 as far as I tested.

The Edge extension system is pretty much copied from Chrome, and unlike Safari, you can develop in a VM.
BTW the Safari port is pretty dead as well.

@nicole-ashley
Copy link
Owner

There has been very little rewritten. Only small modifications have been made where there are incompatibilites with Edge.

The issue at the moment is that recent releases of uBlock are broken in Edge with regards to hiding elements. This is to do with the CSS content rewrites in the core. I'm monitoring it and trying new releases as they come out, as well as attempting to find a fix.

I welcome any and all PRs. This is a mostly solo effort so far so I'd prefer support over complaints.

@jspenguin2017
Copy link

@gorhill
Copy link

gorhill commented Sep 16, 2018

Whatever can go to upstream is welcome, I already have code paths specific to Firefox or Chromium, I don't mind also doing it for Edge -- so as to minimize as much as possible maintenance work of Edge version.

@jspenguin2017
Copy link

jspenguin2017 commented Sep 16, 2018

@gorhill I'm using the shim here: https://github.com/jspenguin2017/Edgyfy/blob/master/edgyfy.js
No other changes should be needed beside the two patches mentioned above.

The maintenance work is basically 0. It usually takes 2~3 minutes per release. I would say just put Edge stuff in Chromium platform scripts, 1 hash table lookup really does not slow things down.

There's also a browser bug (tabs.reload and tags.select) that I'm planning to report. It's not show stopping but a bit annoying.

@jspenguin2017
Copy link

@gorhill Also keep in mind that some filters needs to be different in Edge, and neither uAssets nor the Subreddit are interested in handling them.

@gorhill
Copy link

gorhill commented Sep 16, 2018

I can't test nothing for the Edge version -- I don't have Windows, so best is that a PR is made with everything sorted out already, the only thing I will be able to look at is that both Chromium/Firefox are still working as expected.

@jspenguin2017
Copy link

@gorhill You can run a VM, it's free, Windows 10 doesn't force you to buy a license.

@japborst
Copy link

Not really a rewrite, mostly a few changes that fixes edge specific issues that should be easy to update using a rebase.

@jspenguin2017 Most issues the shim has, were already addressed in earlier versions of uBlock-edge. I will try out the shim, because it does sound good but I suspect more than the reload is not working.

@nikrolls can you give some pointers where the issues lay? (Which parts of files are responsible for the CSS content rewrites) so I - or somebody else - can take a jab at it and open a PR :)

@jspenguin2017
Copy link

jspenguin2017 commented Sep 17, 2018

@japborst Reload is working, just that it restores (un-maximizes) the window. Everything else is working as far as I tested, I published it 3 days ago and haven't received any complains.

@gorhill
Copy link

gorhill commented Sep 19, 2018

@nikrolls I have created a new branch for Edge, https://github.com/gorhill/uBlock/tree/edge, which is essentially the chromium version + all changes I found was needed to remove errors and glitches that I could spot when loading uBO in Edge (from within a VM). Surely there is more work to do but I think it would be best now to bring the Edge version in the main dev tree since there are really not many changes required anymore. I've added you as collaborator so you can change whatever is needed without having to go through pull requests.

@jspenguin2017
Copy link

@gorhill Do you have access to the store listing? Also make sure you have Windows SDK installed, otherwise ManifoldJS will send your code to a build server over HTTP.

I should be able to help with testing by the end of the month.

@gorhill
Copy link

gorhill commented Sep 22, 2018

No, I don't have access to the listing. At this point I am waiting an answer from @nikrolls in order to proceed with the above.

@jspenguin2017
Copy link

@gorhill Also ms-browser-extension-scheme should be in default whitelist.

@jspenguin2017
Copy link

jspenguin2017 commented Sep 22, 2018

And you should sanitize Date.prototype.toLocaleString if you haven't done that already:
image
(screenshot from version in the store)

@palopezv palopezv changed the title Is updating to uBlock Origin 0.16.x possible? Is updating to uBlock Origin 1.17.x possible? Oct 5, 2018
@James1o1o
Copy link

James1o1o commented Oct 26, 2018

Pinging @nikrolls

Would be great to get gorhill access to the store listing so he can push updates directly.

@jspenguin2017
Copy link

Maybe we should just start fresh, clearly this isn't going anywhere.

I think my current patch driven approach is working way better than a normal fork. I used to use a normal fork, and 4 months in it's basically impossible to pull upstream changes.

Running 1.17.0 on 1803 without any showstopping issues:

image
image

@Weasy666
Copy link

Has anyone created a new repo? Or is it possible to integrate it somehow with what @gorhill proposed?

@jspenguin2017
Copy link

I guess it doesn't matter anymore, Edge will soon be based on Chromium.

@palopezv
Copy link
Author

palopezv commented Dec 9, 2018

If you consider October 2019, if we are lucky, close enough. Judging by Microsoft's development track record I would guess October 2020 is a better possibility.

@jspenguin2017
Copy link

Chromium is a complete and functional browser, all Microsoft has to do is to make it look more like the current Edge, I'd say it'll be ready next April.

@nicole-ashley
Copy link
Owner

nicole-ashley commented Dec 11, 2018

Apologies again for my absense, domestic issues are still taking much more of my time than I expected.

Microsoft has announced that they intend Edge on Chromium to "support existing Chrome extensions" (Engadget). Will that mean it can literally access the Chrome Web Store? I think unlikely. Will it mean that you can submit the exact same package to the Chrome Web Store and the Microsoft Store? At the very least.

With regards to timeframe, Microsoft usually follows up these kinds of announcements with Insider builds within the next couple of months. They wouldn't make this announcement if they didn't already have a working prototype. Also bear in mind that they have been using the Chromium engine on Edge for Android for a while, so there will be a decent amount of learning and possibly even code they can port from that.

As I've stated earlier, I will be fully cooperative with regards to transferring the Microsoft Store application or name (whatever is required) to @gorhill or someone he nominates if desired. I am passionate about uBlock on Edge and always intended to continue to maintain it, but I've learned that when bad thing happen in life it can be very hard to anticipate how much of a time suck they can be or when you will fully recover from them.

@jspenguin2017
Copy link

I think unlikely.

I think very likely. I would guess 99% of developers would not be interested in spending $20 just to copy the exact same package from WebStore to Microsoft Store, so it does not make sense for Microsoft to restrict extension pool of Edge to just Microsoft Store. Considering other Chromium forks are able to install extensions from WebStore, I don't see why Microsoft would not do the same.

transferring the Microsoft Store application or name

I'd say it's better if @gorhill can hold the Microsoft Store listing, since Edge is going to be a fork of Chromium, there is really no need to nominate someone just to publish the package. As for the gap between now and the new Edge release, I don't think anyone would want to spend time debugging it just to dump everything a few months later.

@gorhill
Copy link

gorhill commented Dec 11, 2018

I will be fully cooperative with regards to transferring the Microsoft Store application or name

Well given that Edge will be based on Chromium in the medium term, there is no point to keep working on the current Edge version. However, once Edge uses Chromium engine, I expect that uBO will work with minimal changes (maybe details in the manifest), so that should lower quite a lot maintenance burden. I guess it's a few months in the future now, but once Edge converts to Chromium engine, is there a possibility that you will be able again to take care of uBO/Edge version?

@jspenguin2017
Copy link

jspenguin2017 commented Jan 4, 2019

I just got an email from Microsoft about the new Edge browser. They claim that Chromium extensions should work without modification. However, it sounds like the new Edge browser won't be able to use the WebStore; but that's not explicitly mentioned in the email, so I could be wrong. Microsoft will test and (re)publish existing extensions in Microsoft Store if listing owners provided consent.

Looks like the new Edge browser is just around the corner.

@nicole-ashley
Copy link
Owner

Yep, looks like Microsoft will maintain its own store (which while less than ideal for users, makes sense for a lot of reasons). I can't tell if they will automatically publish extensions by scraping updates from the Chrome store, but they seem to want to do that with some extensions during testing.

@gorhill I will contact you privately about getting uBlock into this testing programme, and to your other question yes I would be happy to maintain this process in the future if Microsoft don't automate it.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants