diff --git a/app/assets/javascripts/discourse/lib/click-track.js.es6 b/app/assets/javascripts/discourse/lib/click-track.js.es6 index f5f9119be54..0c7fa827276 100644 --- a/app/assets/javascripts/discourse/lib/click-track.js.es6 +++ b/app/assets/javascripts/discourse/lib/click-track.js.es6 @@ -46,12 +46,17 @@ export default { // Update badge clicks unless it's our own if (!ownLink) { - var $badge = $('span.badge', $link); + const $badge = $('span.badge', $link); if ($badge.length === 1) { // don't update counts in category badge nor in oneboxes (except when we force it) if (isValidLink($link)) { - var html = $badge.html(); - if (/^\d+$/.test(html)) { $badge.html(parseInt(html, 10) + 1); } + const html = $badge.html(); + const d = new Date(); + const key = `${d.getFullYear()}-${d.getMonth()}-${d.getDay()}-${postId}-${href}`; + if (/^\d+$/.test(html) && !sessionStorage.getItem(key)) { + sessionStorage.setItem(key, true); + $badge.html(parseInt(html, 10) + 1); + } } } } diff --git a/test/javascripts/lib/click-track-test.js.es6 b/test/javascripts/lib/click-track-test.js.es6 index bebe653d6f1..dfe4f83c3a2 100644 --- a/test/javascripts/lib/click-track-test.js.es6 +++ b/test/javascripts/lib/click-track-test.js.es6 @@ -19,14 +19,14 @@ module("lib:click-track", { `
google.com - google.com - google.com1 - google.com1 + google.fr + google.de1 + google.es1 - google.com + google.com.br forum log.txt #hashtag