From d0e2529911522d86082ae656f1d6fbe1c98fae75 Mon Sep 17 00:00:00 2001
From: svemagie <869694+svemagie@users.noreply.github.com>
Date: Mon, 20 Apr 2026 18:21:45 +0200
Subject: [PATCH] fix: deduplicate bsky replies by author URL + inline platform
badges
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- Extend bsky dedup filter to also exclude webmentions where reply.author.url
contains bsky.app (catches Bridgy webmentions whose wm-source doesn't match
the existing brid.gy/bridgy pattern)
- Replace empty data-source badge spans in Alpine x-for templates with inline
SVG badges (same classes + paths as createProvenanceBadge in webmentions.js)
— fixes badges not rendering since JS runs before Alpine renders x-for items
---
_includes/components/webmentions.njk | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/_includes/components/webmentions.njk b/_includes/components/webmentions.njk
index 8e940ae..1cf68c1 100644
--- a/_includes/components/webmentions.njk
+++ b/_includes/components/webmentions.njk
@@ -132,7 +132,7 @@
{% for reply in wm_replies %}
{% set src = reply['wm-source'] | default('') %}
{% set includeReply = true %}
- {% if bskySyndUrl and ('bsky.app' in src or 'brid.gy' in src or 'bridgy' in src) %}{% set includeReply = false %}{% endif %}
+ {% if bskySyndUrl and ('bsky.app' in src or 'brid.gy' in src or 'bridgy' in src or 'bsky.app' in (reply.author.url | default(''))) %}{% set includeReply = false %}{% endif %}
{% if mastodonActive and 'fed.brid.gy' in src %}{% set includeReply = false %}{% endif %}
{% if includeReply %}
{% set filtered_replies = (filtered_replies.push(reply), filtered_replies) %}
@@ -219,7 +219,7 @@
class="font-semibold text-surface-900 dark:text-surface-100 hover:underline"
target="_blank" rel="noopener"
x-text="reply.author.name">
-
+
@@ -249,7 +249,7 @@
class="font-semibold text-surface-900 dark:text-surface-100 hover:underline"
target="_blank" rel="noopener"
x-text="reply.author.name">
-
+