From b0b06059857d0a553b681846c3cdc242a820672e Mon Sep 17 00:00:00 2001 From: Ricardo Date: Thu, 19 Feb 2026 15:10:34 +0100 Subject: [PATCH] feat: add Reply content/targetUrl fields, fix followers card photo crash MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - inbox-listeners.js: Store `targetUrl` (inReplyTo) and `content` (HTML) on Reply activities for the conversations plugin AP adapter - activitypub-followers.njk: Fix photo property name (`src` → `url`) to match the card component's expected interface, fixing TypeError crash on followers page when avatars are present - Bump to v1.0.4 --- lib/inbox-listeners.js | 5 +++++ package.json | 2 +- views/activitypub-followers.njk | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/inbox-listeners.js b/lib/inbox-listeners.js index 7db8ea2..6871f4b 100644 --- a/lib/inbox-listeners.js +++ b/lib/inbox-listeners.js @@ -170,12 +170,17 @@ export function registerInboxListeners(inboxChain, options) { actorObj?.preferredUsername?.toString() || actorUrl; + // Extract reply content (HTML) + const content = object.content?.toString() || ""; + await logActivity(collections, storeRawActivities, { direction: "inbound", type: "Reply", actorUrl, actorName, objectUrl: object.id?.href || "", + targetUrl: inReplyTo, + content, summary: `${actorName} replied to ${inReplyTo}`, }); }) diff --git a/package.json b/package.json index ad365b9..dd95ebf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@rmdes/indiekit-endpoint-activitypub", - "version": "1.0.3", + "version": "1.0.4", "description": "ActivityPub federation endpoint for Indiekit via Fedify. Adds full fediverse support: actor, inbox, outbox, followers, following, syndication, and Mastodon migration.", "keywords": [ "indiekit", diff --git a/views/activitypub-followers.njk b/views/activitypub-followers.njk index 9512943..1ae882e 100644 --- a/views/activitypub-followers.njk +++ b/views/activitypub-followers.njk @@ -13,7 +13,7 @@ {{ card({ title: follower.name or follower.handle or follower.actorUrl, url: follower.actorUrl, - photo: { src: follower.avatar, alt: follower.name } if follower.avatar, + photo: { url: follower.avatar, alt: follower.name } if follower.avatar, description: { text: "@" + follower.handle if follower.handle }, published: follower.followedAt }) }}