diff --git a/builds/appchan-x.user.js b/builds/appchan-x.user.js index d34517493..078afae2e 100644 --- a/builds/appchan-x.user.js +++ b/builds/appchan-x.user.js @@ -6976,6 +6976,7 @@ }; QuoteBacklink = { + containers: {}, init: function() { var format; if (g.VIEW === 'catalog' || !Conf['Quote Backlinks']) { @@ -6983,7 +6984,6 @@ } format = Conf['backlink'].replace(/%id/g, "' + id + '"); this.funk = Function('id', "return '" + format + "'"); - this.containers = {}; Post.callbacks.push({ name: 'Quote Backlinking Part 1', cb: this.firstNode @@ -12313,7 +12313,7 @@ Redirect = { init: function() { - var archive, archives, boardID, boards, data, files, id, name, o, record, software, type, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2, _ref3, _ref4; + var archive, archives, boardID, boards, data, files, id, name, o, record, software, type, _i, _j, _len, _len1, _ref, _ref1, _ref2; o = { thread: {}, post: {}, @@ -12328,6 +12328,19 @@ files: files, data: data }; + software = data.software; + for (_j = 0, _len1 = boards.length; _j < _len1; _j++) { + boardID = boards[_j]; + if (!(boardID in o.thread)) { + o.thread[boardID] = data; + } + if (!(boardID in o.post || software !== 'foolfuuka')) { + o.post[boardID] = data; + } + if (!(boardID in o.file || __indexOf.call(files, boardID) < 0)) { + o.file[boardID] = data; + } + } } _ref2 = Conf['selectedArchives']; for (boardID in _ref2) { @@ -12344,23 +12357,6 @@ o[type][boardID] = archive.data; } } - _ref3 = Redirect.archives; - for (_j = 0, _len1 = _ref3.length; _j < _len1; _j++) { - _ref4 = _ref3[_j], data = _ref4.data, boards = _ref4.boards, files = _ref4.files; - software = data.software; - for (_k = 0, _len2 = boards.length; _k < _len2; _k++) { - boardID = boards[_k]; - if (!(boardID in o.thread)) { - o.thread[boardID] = data; - } - if (!(boardID in o.post || software !== 'foolfuuka')) { - o.post[boardID] = data; - } - if (!(boardID in o.file || __indexOf.call(files, boardID) < 0)) { - o.file[boardID] = data; - } - } - } return Redirect.data = o; }, archives: [ @@ -15678,6 +15674,7 @@ g.threads = {}; g.BOARD.posts = {}; g.BOARD.threads = {}; + QuoteBacklink.containers = {}; return $.rmAll($('.board')); }, features: [['Thread Excerpt', ThreadExcerpt], ['Unread Count', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Expansion', ExpandThread]], diff --git a/builds/crx/script.js b/builds/crx/script.js index 05a0dd327..910d4ebc8 100644 --- a/builds/crx/script.js +++ b/builds/crx/script.js @@ -6980,6 +6980,7 @@ }; QuoteBacklink = { + containers: {}, init: function() { var format; if (g.VIEW === 'catalog' || !Conf['Quote Backlinks']) { @@ -6987,7 +6988,6 @@ } format = Conf['backlink'].replace(/%id/g, "' + id + '"); this.funk = Function('id', "return '" + format + "'"); - this.containers = {}; Post.callbacks.push({ name: 'Quote Backlinking Part 1', cb: this.firstNode @@ -12303,7 +12303,7 @@ Redirect = { init: function() { - var archive, archives, boardID, boards, data, files, id, name, o, record, software, type, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2, _ref3, _ref4; + var archive, archives, boardID, boards, data, files, id, name, o, record, software, type, _i, _j, _len, _len1, _ref, _ref1, _ref2; o = { thread: {}, post: {}, @@ -12318,6 +12318,19 @@ files: files, data: data }; + software = data.software; + for (_j = 0, _len1 = boards.length; _j < _len1; _j++) { + boardID = boards[_j]; + if (!(boardID in o.thread)) { + o.thread[boardID] = data; + } + if (!(boardID in o.post || software !== 'foolfuuka')) { + o.post[boardID] = data; + } + if (!(boardID in o.file || __indexOf.call(files, boardID) < 0)) { + o.file[boardID] = data; + } + } } _ref2 = Conf['selectedArchives']; for (boardID in _ref2) { @@ -12334,23 +12347,6 @@ o[type][boardID] = archive.data; } } - _ref3 = Redirect.archives; - for (_j = 0, _len1 = _ref3.length; _j < _len1; _j++) { - _ref4 = _ref3[_j], data = _ref4.data, boards = _ref4.boards, files = _ref4.files; - software = data.software; - for (_k = 0, _len2 = boards.length; _k < _len2; _k++) { - boardID = boards[_k]; - if (!(boardID in o.thread)) { - o.thread[boardID] = data; - } - if (!(boardID in o.post || software !== 'foolfuuka')) { - o.post[boardID] = data; - } - if (!(boardID in o.file || __indexOf.call(files, boardID) < 0)) { - o.file[boardID] = data; - } - } - } return Redirect.data = o; }, archives: [ @@ -15674,6 +15670,7 @@ g.threads = {}; g.BOARD.posts = {}; g.BOARD.threads = {}; + QuoteBacklink.containers = {}; return $.rmAll($('.board')); }, features: [['Thread Excerpt', ThreadExcerpt], ['Unread Count', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Expansion', ExpandThread]], diff --git a/src/Archive/Redirect.coffee b/src/Archive/Redirect.coffee index ea2e26d70..06ac8f37f 100755 --- a/src/Archive/Redirect.coffee +++ b/src/Archive/Redirect.coffee @@ -9,6 +9,11 @@ Redirect = archives = {} for {name, boards, files, data} in Redirect.archives archives[name] = {boards, files, data} + {software} = data + for boardID in boards + o.thread[boardID] = data unless boardID of o.thread + o.post[boardID] = data unless boardID of o.post or software isnt 'foolfuuka' + o.file[boardID] = data unless boardID of o.file or boardID not in files for boardID, record of Conf['selectedArchives'] for type, id of record when (archive = archives[id]) @@ -16,13 +21,6 @@ Redirect = continue unless boardID in boards o[type][boardID] = archive.data - for {data, boards, files} in Redirect.archives - {software} = data - for boardID in boards - o.thread[boardID] = data unless boardID of o.thread - o.post[boardID] = data unless boardID of o.post or software isnt 'foolfuuka' - o.file[boardID] = data unless boardID of o.file or boardID not in files - Redirect.data = o archives: [ diff --git a/src/General/Navigate.coffee b/src/General/Navigate.coffee index 50bedb4b8..1a9c74293 100644 --- a/src/General/Navigate.coffee +++ b/src/General/Navigate.coffee @@ -34,6 +34,8 @@ Navigate = g.BOARD.posts = {} g.BOARD.threads = {} + QuoteBacklink.containers = {} + # Delete nodes $.rmAll $ '.board' diff --git a/src/Quotelinks/QuoteBacklink.coffee b/src/Quotelinks/QuoteBacklink.coffee index 8d5e9b459..de0d0ba5c 100755 --- a/src/Quotelinks/QuoteBacklink.coffee +++ b/src/Quotelinks/QuoteBacklink.coffee @@ -10,12 +10,12 @@ QuoteBacklink = # Second callback adds relevant containers into posts. # This is is so that fetched posts can get their backlinks, # and that as much backlinks are appended in the background as possible. + containers: {} init: -> return if g.VIEW is 'catalog' or !Conf['Quote Backlinks'] format = Conf['backlink'].replace /%id/g, "' + id + '" @funk = Function 'id', "return '#{format}'" - @containers = {} Post.callbacks.push name: 'Quote Backlinking Part 1' cb: @firstNode