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 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);
+6 -3
View File
@@ -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) {