| Index: lib/subscriptionInit.js |
| =================================================================== |
| --- a/lib/subscriptionInit.js |
| +++ b/lib/subscriptionInit.js |
| @@ -23,11 +23,20 @@ |
| SpecialSubscription} = require("subscriptionClasses"); |
| const {FilterStorage} = require("filterStorage"); |
| const {FilterNotifier} = require("filterNotifier"); |
| +const info = require("info"); |
| const {Prefs} = require("prefs"); |
| const {Synchronizer} = require("synchronizer"); |
| const {Utils} = require("utils"); |
| const {initNotifications} = require("notificationHelper"); |
| +/** |
| + * The version of major updates that the user should be aware of. |
| + * See also Prefs.lastUpdatesVersion |
| + * |
| + * @type {number} |
| + */ |
| +const updatesVersion = 1; |
|
kzar
2018/01/15 11:58:35
I figured we should instead reuse the extension's
Thomas Greiner
2018/01/17 18:00:06
I'm wondering whether we (a) will always increment
Sebastian Noack
2018/01/18 12:46:48
This is not true. We only advanced the version to
Thomas Greiner
2018/01/18 13:36:01
My bad, I looked at a local build of mine which I
Sebastian Noack
2018/01/18 16:23:12
Oh, that was a mistake. We should not have advance
|
| + |
| let firstRun; |
| let subscriptionsCallback = null; |
| @@ -48,7 +57,7 @@ |
| if (firstRun && (!FilterStorage.firstRun || Prefs.currentVersion)) |
| exports.reinitialized = true; |
| - Prefs.currentVersion = require("info").addonVersion; |
| + Prefs.currentVersion = info.addonVersion; |
| } |
| /** |
| @@ -204,8 +213,27 @@ |
| Synchronizer.execute(subscription); |
| } |
| - if (firstRun && !Prefs.suppress_first_run_page) |
| - browser.tabs.create({url: browser.extension.getURL("firstRun.html")}); |
| + if (!Prefs.suppress_first_run_page) |
| + { |
| + let page = null; |
| + if (firstRun) |
| + { |
| + page = "firstRun.html"; |
| + } |
| + // For now we're limiting the updates page to users of |
| + // Chromium-based browsers to gage its impact |
|
kzar
2018/01/15 11:58:35
That's not mentioned in the issue, would you mind
Thomas Greiner
2018/01/17 18:00:06
Weird, I actually thought it'd be in the spec sinc
kzar
2018/01/18 10:53:13
Acknowledged.
Sebastian Noack
2018/01/18 12:46:48
Well, the current update page, announces the new o
Thomas Greiner
2018/01/18 13:36:01
I haven't heard back yet on whether we want to men
|
| + else if (info.platform == "chromium" && |
| + updatesVersion > Prefs.lastUpdatesVersion) |
|
kzar
2018/01/15 11:58:35
I guess this comparison gets a little trickier wit
kzar
2018/01/15 12:17:20
In fact if you like I'll add this to adblockplusch
Thomas Greiner
2018/01/17 18:00:06
We used to use Firefox' `Services.vc.compare()` fo
kzar
2018/01/18 10:53:13
Good point, yes we should reuse that instead of re
Sebastian Noack
2018/01/18 12:46:48
For reference, originally the version comparison l
Thomas Greiner
2018/01/18 13:36:01
That means that none of our devbuild users will re
Sebastian Noack
2018/01/18 16:23:12
Well, we have to special case either Firefox or Ch
kzar
2018/01/19 11:05:23
Yea, I'm coming around to the idea of having the s
|
| + { |
| + page = "updates.html"; |
| + } |
| + |
| + if (page) |
| + { |
| + browser.tabs.create({url: browser.extension.getURL(page)}); |
|
Thomas Greiner
2018/01/12 16:33:39
Note that in later versions we can simply use `Pre
kzar
2018/01/18 10:53:13
I'm not quite sure how that would work. So the pla
kzar
2018/01/18 11:38:24
Hmm, I suppose we need to make sure the updates pa
Thomas Greiner
2018/01/18 11:50:26
Yep, the simplest way would be to pass it as a GET
kzar
2018/01/18 12:01:39
Generally I agree about not implementing stuff bef
Sebastian Noack
2018/01/18 12:46:48
FWIW, I think, in the (rather theoretical) scenari
Thomas Greiner
2018/01/18 13:36:01
Ok, so if Dave agrees with that as well I'd not im
kzar
2018/01/19 11:05:23
Alright then, seems I'm outnumbered.
|
| + Prefs.lastUpdatesVersion = updatesVersion; |
| + } |
| + } |
| initNotifications(); |
| } |