Skip to content

Loading…

Seamless migration to new list locations #887

Open
gorhill opened this Issue · 9 comments

2 participants

@gorhill

As per comments in 78cfd04.

@chrisaljoudi An issue in order to keep track of progress and related code changes.

@gorhill gorhill changed the title from [Safari] Older Safari version crashes when packaged file has no extension to [Safari] Older Safari versions crash when packaged file has no extension
@gorhill

Code to migrate seamlessly in a9ce435.

However, we can only start to migrate to new locations in filter-lists.json when everybody has uBlock's version which supports seamless migrations.

@chrisaljoudi

@gorhill that makes sense.

@chrisaljoudi

@gorhill

we can only start to migrate to new locations in filter-lists.json when everybody has uBlock's version which supports seamless migrations

Hmm; wouldn't the transition work smoothly as long as the new code is distributed alongside the updated filter-lists.json?

@chrisaljoudi

@gorhill in other words: everyone who receives the new filter-lists.json also receives the new storage.js.

@gorhill

Older versions will also be able to download the new filter-lists.json file, which means they will lose whatever they have selected which is no longer in the new filter-lists.json. This is why the change needed to be quickly reversed. As soon as a new filter-lists.json is committed, anybody with whatever uBlock version can pull it.

@chrisaljoudi

As soon as a new filter-lists.json is committed, anybody with whatever uBlock version can pull it.

Oh. Oh. Oh. Got it.

@chrisaljoudi

@gorhill how about this: for seamless transitions, keep the main entry as it is, but add a newLocation key in the filter-lists.json. That way, new versions will use that instead while old versions will simply ignore it.

That would maintain backward compatibility.

@chrisaljoudi
Owner

@gorhill any thoughts? :)

@gorhill how about this: for seamless transitions, keep the main entry as it is, but add a newLocation key in the filter-lists.json. That way, new versions will use that instead while old versions will simply ignore it.

That would maintain backward compatibility.

@chrisaljoudi chrisaljoudi changed the title from [Safari] Older Safari versions crash when packaged file has no extension to [Safari] Older Safari versions (prior to 8) crash when packaged file has no extension
@gorhill

Yes, thoughts I had, and I can't see how this would allow to keep a clean list of lists, as this would force us to keep obsolete entries, i.e. two entries for Peter Lowe's, etc. I want a clean, seamless transition, so that users are moved to the new list, and only the new list shows in the list of lists.

Currently I plan to wait one month or so, then we can start moving those obsolete lists to their new locations, assuming everybody has the code for the seamless transitions. From then on, there won't ever be an issue of having to keep obsolete filter lists in the "3rd-party filters" pane.

There are other issues of obsolete lists having to be changed, this is why I have been waiting, there was no way to do it cleanly. Now the code is in, it's just a matter of waiting just enough so that everybody has the code for the seamless transition.

@chrisaljoudi chrisaljoudi changed the title from [Safari] Older Safari versions (prior to 8) crash when packaged file has no extension to Seamless migration to new list locations
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.