From a960411b821f59044d1965f7bee5943b6b7a10a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nicole=20miko=C5=82ajczyk?= Date: Fri, 6 Mar 2026 20:42:23 +0100 Subject: [PATCH] nicolium: only count public/unlisted interactions for circles, include quotes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: nicole mikołajczyk --- packages/nicolium/src/actions/circle.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/nicolium/src/actions/circle.ts b/packages/nicolium/src/actions/circle.ts index 47c94d9b6..018605756 100644 --- a/packages/nicolium/src/actions/circle.ts +++ b/packages/nicolium/src/actions/circle.ts @@ -49,6 +49,8 @@ const processCircle = const response = await (next?.() ?? client.accounts.getAccountStatuses(me, { limit: 40 })); response.items.forEach((status) => { + if (!['public', 'unlisted'].includes(status.visibility)) return; + if (status.reblog) { if (status.reblog.account.id === me) return; @@ -66,6 +68,18 @@ const processCircle = const interaction = interactions[status.in_reply_to_account_id]; interaction.replies += 1; + } else if (status.quote && 'quoted_status' in status.quote && status.quote.quoted_status) { + if (status.quote.quoted_status.account.id === me) return; + + initInteraction(status.quote.quoted_status.account.id); + const interaction = interactions[status.quote.quoted_status.account.id]; + interaction.acct = status.quote.quoted_status.account.acct; + interaction.avatar = + status.quote.quoted_status.account.avatar_static || + status.quote.quoted_status.account.avatar; + interaction.avatar_description = status.quote.quoted_status.account.avatar_description; + + interaction.reblogs += 1; } }); @@ -78,6 +92,7 @@ const processCircle = response.items.forEach((status) => { if (status.account.id === me) return; + if (!['public', 'unlisted'].includes(status.visibility)) return; initInteraction(status.account.id); const interaction = interactions[status.account.id];