filter self-interactions: add Mastodon + ActivityPub to isSelf()

This commit is contained in:
svemagie
2026-05-11 16:36:20 +02:00
parent 649f174556
commit 85c97b70b8
2 changed files with 14 additions and 9 deletions
+8 -6
View File
@@ -134,25 +134,27 @@ function postInteractions(targetUrl) {
const seen = new Set(); const seen = new Set();
const merged = []; const merged = [];
// Skip self-interactions from own Bluesky account const isSelf = (item) => {
const isSelfBsky = (item) => { const u = ((item['wm-source'] || item.url) || '').toLowerCase();
const u = (item.url || '').toLowerCase();
const a = ((item.author && item.author.url) || '').toLowerCase(); const a = ((item.author && item.author.url) || '').toLowerCase();
return u.includes('did:plc:g4utqyolpyb5zpwwodmm3hht') || return u.includes('did:plc:g4utqyolpyb5zpwwodmm3hht') ||
u.includes('bsky.app/profile/svemagie.bsky.social') || u.includes('bsky.app/profile/svemagie.bsky.social') ||
a.includes('did:plc:g4utqyolpyb5zpwwodmm3hht') || 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) { for (const item of convItems) {
if (isSelfBsky(item)) continue; if (isSelf(item)) continue;
const key = item['wm-id'] || item.url; const key = item['wm-id'] || item.url;
if (key && !seen.has(key)) { seen.add(key); merged.push(item); } if (key && !seen.has(key)) { seen.add(key); merged.push(item); }
} }
const convUrls = new Set(convItems.map(c => c.url).filter(Boolean)); const convUrls = new Set(convItems.map(c => c.url).filter(Boolean));
for (const item of wmItems) { for (const item of wmItems) {
if (isSelfBsky(item)) continue; if (isSelf(item)) continue;
const key = item['wm-id']; const key = item['wm-id'];
if (seen.has(key) || (item.url && convUrls.has(item.url))) continue; if (seen.has(key) || (item.url && convUrls.has(item.url))) continue;
seen.add(key); seen.add(key);
+6 -3
View File
@@ -481,7 +481,7 @@ function interactionsApp() {
this.notConfigured = false; this.notConfigured = false;
const merged = this.mergeAndDeduplicate(allWm, allConv) 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) => { merged.sort((a, b) => {
const dateA = new Date(a.published || a['wm-received'] || 0); 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 u = (wm['wm-source'] || '').toLowerCase();
const a = (wm.author?.url || '').toLowerCase(); const a = (wm.author?.url || '').toLowerCase();
return u.includes('bsky.app/profile/svemagie.bsky.social') || return u.includes('bsky.app/profile/svemagie.bsky.social') ||
u.includes('did:plc:g4utqyolpyb5zpwwodmm3hht') || u.includes('did:plc:g4utqyolpyb5zpwwodmm3hht') ||
a.includes('bsky.app/profile/svemagie.bsky.social') || 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) { detectPlatform(item) {