diff --git a/src/General/Main.coffee b/src/General/Main.coffee index 08184bf76..b66891f91 100755 --- a/src/General/Main.coffee +++ b/src/General/Main.coffee @@ -87,17 +87,10 @@ Main = upgrade: (items) -> {previousversion} = items - items2 = {previousversion: g.VERSION} - compareString = previousversion.replace(/\d+/g, (x) -> ('0000'+x)[-5..]) - - if compareString < '00001.00011.00008.00000' - unless items['Fixed Thread Watcher']? - items2['Fixed Thread Watcher'] = items['Toggleable Thread Watcher'] ? true - unless items['Exempt Archives from Encryption']? - items2['Exempt Archives from Encryption'] = items['Except Archives from Encryption'] ? false - - $.extend items, items2 - $.set items2, -> + changes = {previousversion: g.VERSION} + $.extend changes, Settings.upgrade(items, previousversion) + $.extend items, changes + $.set changes, -> if items['Show Updated Notifications'] ? true el = $.el 'span', <%= html(meta.name + ' has been updated to version ${g.VERSION}.') %> diff --git a/src/General/Settings.coffee b/src/General/Settings.coffee index 36ae5001d..5f3d95f21 100755 --- a/src/General/Settings.coffee +++ b/src/General/Settings.coffee @@ -268,9 +268,21 @@ Settings = (data.Conf['watchedThreads'].boards[boardID] or= {})[threadID] = excerpt: threadData.textContent data + upgrade: (data, version) -> + changes = {} + compareString = version.replace(/\d+/g, (x) -> ('0000'+x)[-5..]) + if compareString < '00001.00011.00008.00000' + unless data['Fixed Thread Watcher']? + changes['Fixed Thread Watcher'] = data['Toggleable Thread Watcher'] ? true + unless data['Exempt Archives from Encryption']? + changes['Exempt Archives from Encryption'] = data['Except Archives from Encryption'] ? false + changes + loadSettings: (data, cb) -> if data.version.split('.')[0] is '2' # https://github.com/loadletter/4chan-x data = Settings.convertFrom.loadletter data + else if data.version isnt g.VERSION + $.extend data.Conf, Settings.upgrade(data.Conf, data.version) $.clear (err) -> return cb err if err $.set data.Conf, cb