diff --git a/builds/appchan-x.user.js b/builds/appchan-x.user.js index 2d4eef36b..ac7b61796 100644 --- a/builds/appchan-x.user.js +++ b/builds/appchan-x.user.js @@ -12142,13 +12142,13 @@ ready: function() { var posts; $.off(d, '4chanXInitFinished', Unread.ready); - posts = []; - Unread.thread.posts.forEach(function(post) { - if (post.isReply) { - return posts.push(post); - } - }); if (!Conf['Quote Threading']) { + posts = []; + Unread.thread.posts.forEach(function(post) { + if (post.isReply) { + return posts.push(post); + } + }); Unread.addPosts(posts); } if (Conf['Quote Threading']) { @@ -12219,9 +12219,7 @@ })) { continue; } - if (!(post.prev || post.next)) { - Unread.posts.push(post); - } + Unread.posts.push(post); Unread.addPostQuotingYou(post); } if (Conf['Unread Line']) { @@ -12266,8 +12264,11 @@ onUpdate: function(e) { if (e.detail[404]) { return Unread.update(); - } else { + } else if (!Conf['Quote Threading']) { return Unread.addPosts(e.detail.newPosts); + } else { + Unread.read(); + return Unread.update(); } }, readSinglePost: function(post) { @@ -15860,11 +15861,11 @@ }, updateContext: function(view) { var oldView; - if (view === g.VIEW) { - return; + g.DEAD = false; + if (view !== g.VIEW) { + $.rmClass(doc, g.VIEW); + $.addClass(doc, view); } - $.rmClass(doc, g.VIEW); - $.addClass(doc, view); oldView = g.VIEW; g.VIEW = view; return { @@ -16096,7 +16097,6 @@ Main.callbackNodes(Thread, [thread]); Main.callbackNodes(Post, posts); Navigate.ready('Quote Threading', QuoteThreading.force, Conf['Quote Threading'] && !Conf['Unread Count']); - Navigate.ready('Unread Count', Unread.ready, Conf['Unread Count']); Navigate.buildThread(); return Header.hashScroll.call(window); }, @@ -16106,8 +16106,7 @@ $.rmAll(board); $.add(board, [Navigate.threadRoot, $.el('hr')]); if (Conf['Unread Count']) { - Unread.read(); - return Unread.update(); + return Navigate.ready('Unread Count', Unread.ready, Conf['Unread Count']); } }, popstate: function() { diff --git a/builds/crx/script.js b/builds/crx/script.js index ba70a7b0e..0dd316adf 100644 --- a/builds/crx/script.js +++ b/builds/crx/script.js @@ -12133,13 +12133,13 @@ ready: function() { var posts; $.off(d, '4chanXInitFinished', Unread.ready); - posts = []; - Unread.thread.posts.forEach(function(post) { - if (post.isReply) { - return posts.push(post); - } - }); if (!Conf['Quote Threading']) { + posts = []; + Unread.thread.posts.forEach(function(post) { + if (post.isReply) { + return posts.push(post); + } + }); Unread.addPosts(posts); } if (Conf['Quote Threading']) { @@ -12210,9 +12210,7 @@ })) { continue; } - if (!(post.prev || post.next)) { - Unread.posts.push(post); - } + Unread.posts.push(post); Unread.addPostQuotingYou(post); } if (Conf['Unread Line']) { @@ -12257,8 +12255,11 @@ onUpdate: function(e) { if (e.detail[404]) { return Unread.update(); - } else { + } else if (!Conf['Quote Threading']) { return Unread.addPosts(e.detail.newPosts); + } else { + Unread.read(); + return Unread.update(); } }, readSinglePost: function(post) { @@ -15863,11 +15864,11 @@ }, updateContext: function(view) { var oldView; - if (view === g.VIEW) { - return; + g.DEAD = false; + if (view !== g.VIEW) { + $.rmClass(doc, g.VIEW); + $.addClass(doc, view); } - $.rmClass(doc, g.VIEW); - $.addClass(doc, view); oldView = g.VIEW; g.VIEW = view; return { @@ -16099,7 +16100,6 @@ Main.callbackNodes(Thread, [thread]); Main.callbackNodes(Post, posts); Navigate.ready('Quote Threading', QuoteThreading.force, Conf['Quote Threading'] && !Conf['Unread Count']); - Navigate.ready('Unread Count', Unread.ready, Conf['Unread Count']); Navigate.buildThread(); return Header.hashScroll.call(window); }, @@ -16109,8 +16109,7 @@ $.rmAll(board); $.add(board, [Navigate.threadRoot, $.el('hr')]); if (Conf['Unread Count']) { - Unread.read(); - return Unread.update(); + return Navigate.ready('Unread Count', Unread.ready, Conf['Unread Count']); } }, popstate: function() { diff --git a/src/General/Navigate.coffee b/src/General/Navigate.coffee index a7e39c93a..45e36da4f 100644 --- a/src/General/Navigate.coffee +++ b/src/General/Navigate.coffee @@ -90,10 +90,12 @@ Navigate = QR.generatePostableThreadsList() updateContext: (view) -> - return if view is g.VIEW + g.DEAD = false + + unless view is g.VIEW + $.rmClass doc, g.VIEW + $.addClass doc, view - $.rmClass doc, g.VIEW - $.addClass doc, view oldView = g.VIEW g.VIEW = view { @@ -286,7 +288,6 @@ Navigate = Main.callbackNodes Post, posts Navigate.ready 'Quote Threading', QuoteThreading.force, Conf['Quote Threading'] and not Conf['Unread Count'] - Navigate.ready 'Unread Count', Unread.ready, Conf['Unread Count'] Navigate.buildThread() Header.hashScroll.call window @@ -297,8 +298,7 @@ Navigate = $.add board, [Navigate.threadRoot, $.el 'hr'] if Conf['Unread Count'] - Unread.read() - Unread.update() + Navigate.ready 'Unread Count', Unread.ready, Conf['Unread Count'] popstate: -> return if window.location.pathname is Navigate.path diff --git a/src/Monitoring/Unread.coffee b/src/Monitoring/Unread.coffee index 1814c9a29..262b4867b 100755 --- a/src/Monitoring/Unread.coffee +++ b/src/Monitoring/Unread.coffee @@ -41,9 +41,10 @@ Unread = ready: -> $.off d, '4chanXInitFinished', Unread.ready - posts = [] - Unread.thread.posts.forEach (post) -> posts.push post if post.isReply - Unread.addPosts posts unless Conf['Quote Threading'] + unless Conf['Quote Threading'] + posts = [] + Unread.thread.posts.forEach (post) -> posts.push post if post.isReply + Unread.addPosts posts QuoteThreading.force() if Conf['Quote Threading'] Unread.scroll() if Conf['Scroll to Last Read Post'] @@ -91,7 +92,7 @@ Unread = threadID: post.thread.ID postID: ID } - Unread.posts.push post unless post.prev or post.next + Unread.posts.push post Unread.addPostQuotingYou post if Conf['Unread Line'] # Force line on visible threads if there were no unread posts previously. @@ -125,8 +126,11 @@ Unread = onUpdate: (e) -> if e.detail[404] Unread.update() - else + else if !Conf['Quote Threading'] Unread.addPosts e.detail.newPosts + else + Unread.read() + Unread.update() readSinglePost: (post) -> {ID} = post