From 85c97b70b8631c807bb957bdd1b95c0e4b6e2733 Mon Sep 17 00:00:00 2001 From: svemagie <869694+svemagie@users.noreply.github.com> Date: Mon, 11 May 2026 16:36:20 +0200 Subject: [PATCH] filter self-interactions: add Mastodon + ActivityPub to isSelf() --- _includes/components/post-interactions.njk | 14 ++++++++------ interactions.njk | 9 ++++++--- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/_includes/components/post-interactions.njk b/_includes/components/post-interactions.njk index 4916fc2..30faf33 100644 --- a/_includes/components/post-interactions.njk +++ b/_includes/components/post-interactions.njk @@ -134,25 +134,27 @@ function postInteractions(targetUrl) { const seen = new Set(); const merged = []; - // Skip self-interactions from own Bluesky account - const isSelfBsky = (item) => { - const u = (item.url || '').toLowerCase(); + const isSelf = (item) => { + const u = ((item['wm-source'] || item.url) || '').toLowerCase(); const a = ((item.author && item.author.url) || '').toLowerCase(); return u.includes('did:plc:g4utqyolpyb5zpwwodmm3hht') || u.includes('bsky.app/profile/svemagie.bsky.social') || a.includes('did:plc:g4utqyolpyb5zpwwodmm3hht') || - a.includes('bsky.app/profile/svemagie.bsky.social'); + a.includes('bsky.app/profile/svemagie.bsky.social') || + a.includes('indieweb.social/svemagie') || + a.includes('indieweb.social/@svemagie') || + a.includes('svemagie.net/activitypub/users/svemagie'); }; for (const item of convItems) { - if (isSelfBsky(item)) continue; + if (isSelf(item)) continue; const key = item['wm-id'] || item.url; if (key && !seen.has(key)) { seen.add(key); merged.push(item); } } const convUrls = new Set(convItems.map(c => c.url).filter(Boolean)); for (const item of wmItems) { - if (isSelfBsky(item)) continue; + if (isSelf(item)) continue; const key = item['wm-id']; if (seen.has(key) || (item.url && convUrls.has(item.url))) continue; seen.add(key); diff --git a/interactions.njk b/interactions.njk index de3f4a2..77184e0 100644 --- a/interactions.njk +++ b/interactions.njk @@ -481,7 +481,7 @@ function interactionsApp() { this.notConfigured = false; const merged = this.mergeAndDeduplicate(allWm, allConv) - .filter(wm => !wm.is_owner && !this.isSelfBsky(wm)); + .filter(wm => !wm.is_owner && !this.isSelf(wm)); merged.sort((a, b) => { const dateA = new Date(a.published || a['wm-received'] || 0); @@ -499,13 +499,16 @@ function interactionsApp() { } }, - isSelfBsky(wm) { + isSelf(wm) { const u = (wm['wm-source'] || '').toLowerCase(); const a = (wm.author?.url || '').toLowerCase(); return u.includes('bsky.app/profile/svemagie.bsky.social') || u.includes('did:plc:g4utqyolpyb5zpwwodmm3hht') || a.includes('bsky.app/profile/svemagie.bsky.social') || - a.includes('did:plc:g4utqyolpyb5zpwwodmm3hht'); + a.includes('did:plc:g4utqyolpyb5zpwwodmm3hht') || + a.includes('indieweb.social/svemagie') || + a.includes('indieweb.social/@svemagie') || + a.includes('svemagie.net/activitypub/users/svemagie'); }, detectPlatform(item) {