From 90b16fc2ab5460e23b78cb5c8975923ddb73c0f2 Mon Sep 17 00:00:00 2001 From: ccd0 Date: Sun, 13 Dec 2015 11:17:50 -0800 Subject: [PATCH] Fix duplicate IDs from inlined quotes. #533 --- src/General/Header.coffee | 2 +- src/Quotelinks/QuoteInline.coffee | 3 +-- src/classes/Clone.coffee | 4 ++++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/General/Header.coffee b/src/General/Header.coffee index 4ffd573e0..4d81d720f 100644 --- a/src/General/Header.coffee +++ b/src/General/Header.coffee @@ -428,7 +428,7 @@ Header = history.replaceState {}, '' unless history.state hash = @location.hash[1..] - return unless /^p\d+$/.test(hash) and post = $.id hash + return unless /^\d*p\d+$/.test(hash) and (post = $.id hash) return if (Get.postFromRoot post).isHidden $.queueTask -> Header.scrollTo post diff --git a/src/Quotelinks/QuoteInline.coffee b/src/Quotelinks/QuoteInline.coffee index 5f338a864..8afe993d6 100644 --- a/src/Quotelinks/QuoteInline.coffee +++ b/src/Quotelinks/QuoteInline.coffee @@ -52,7 +52,6 @@ QuoteInline = add: (quotelink, boardID, threadID, postID, context, quoter) -> isBacklink = $.hasClass quotelink, 'backlink' inline = $.el 'div', - id: "i#{postID}" className: 'inline' root = QuoteInline.findRoot(quotelink, isBacklink) $.after root, inline @@ -80,7 +79,7 @@ QuoteInline = isBacklink = $.hasClass quotelink, 'backlink' # Select the corresponding inlined quote, and remove it. root = QuoteInline.findRoot quotelink, isBacklink - root = $.x "following-sibling::div[@id='i#{postID}'][1]", root + root = $.x "following-sibling::div[div/@data-full-i-d='#{boardID}.#{postID}'][1]", root qroot = $.x 'ancestor::*[contains(@class,"postContainer")][1]', root $.rm root diff --git a/src/classes/Clone.coffee b/src/classes/Clone.coffee index 023fd4b97..aa129c108 100644 --- a/src/classes/Clone.coffee +++ b/src/classes/Clone.coffee @@ -9,6 +9,10 @@ class Clone extends Post @cloneWithoutVideo nodes.root else nodes.root.cloneNode true + Clone.prefix or= 0 + for node in [root, $$('[id]', root)...] + node.id = Clone.prefix + node.id + Clone.prefix++ post = $ '.post', root info = $ '.postInfo', post @nodes =