From 3b99dfac79092b83c2707993319f2b90468fbd76 Mon Sep 17 00:00:00 2001 From: OFF0 Date: Fri, 23 Dec 2022 11:12:52 +0100 Subject: [PATCH] only take events within the last hour into account --- src/index.html | 2 +- src/main.js | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/index.html b/src/index.html index 74a180b..3c83865 100644 --- a/src/index.html +++ b/src/index.html @@ -88,7 +88,7 @@ drop duplicate events
- ignore events that have already been rendered 5 times + ignore events that have already been rendered 5 times within the last hour
diff --git a/src/main.js b/src/main.js index 832976d..879d506 100644 --- a/src/main.js +++ b/src/main.js @@ -257,6 +257,8 @@ document.body.addEventListener('click', (e) => { const textNoteList = []; // could use indexDB const eventRelayMap = {}; // eventId: [relay1, relay2] +const replyList = []; +const reactionMap = {}; const hasEventTag = tag => tag[0] === 'e'; const dropDuplicateToggle = document.querySelector('#duplicates'); @@ -269,9 +271,12 @@ dropDuplicateToggle.checked = dropDuplicate; function isValidNote(evt) { if (dropDuplicate) { - const similarEvents = textNoteList.filter(({content}) => content === evt.content); + const similarEvents = [ + ...textNoteList.filter(({content}) => content === evt.content), + ...replyList.filter(({content}) => content === evt.content), + ].filter(({created_at}) => ((created_at + 3600) > evt.created_at)); if (similarEvents?.length >= 5) { - console.info(`DROP event ${evt.id} already got ${similarEvents.length}`, similarEvents); + console.info(`DROP event with content: "${evt.content.trim()}" already got ${similarEvents.length} similar events withing the last hour`, similarEvents, `\n dropped event id: ${evt.id}`); return false; } } @@ -295,9 +300,6 @@ function handleTextNote(evt, relay) { } } -const replyList = []; -const reactionMap = {}; - const getReactionList = (id) => { return reactionMap[id]?.map(({content}) => content) || []; }; @@ -379,6 +381,7 @@ setInterval(() => { }, 10000); const getNoxyUrl = (type, url, id, relay) => { + return false; if (!isHttpUrl(url)) { return false; } @@ -393,6 +396,9 @@ const fetchQue = []; let fetchPending; const fetchNext = (href, id, relay) => { const noxy = getNoxyUrl('meta', href, id, relay); + if (!noxy) { + return; + } const previewId = noxy.searchParams.toString(); if (fetchPending) { fetchQue.push({href, id, relay});