# # ChangeLog for src/services in Klonkt # # Generated by Trac 1.6 # 09/09/2026 06:07:06 PM Fri, 24 Jul 2026 16:56:51 GMT Robin Genis [6b5d7da] * src/config/database.js (modified) * src/services/ActivityPubService.js (modified) * src/services/BlocklistService.js (added) * src/services/guardianship/context.js (added) * src/services/guardianship/delivery.js (added) * src/services/guardianship/handshake.js (added) * src/services/guardianship/index.js (added) * src/services/guardianship/notes.js (added) * src/services/guardianship/queues.js (added) * src/services/guardianship/relations.js (added) * test/activitypub-as2.test.js (modified) Guardianship als eigen module + gedeelde BlocklistService FEP-633c ... Wed, 22 Jul 2026 08:18:39 GMT Robin [9a00f28] * src/routes/admin-paid.js (modified) * src/routes/admin-push.js (modified) * src/routes/admin.js (modified) * src/routes/paid.js (modified) * src/routes/push.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/admin-paid.ejs (modified) * src/views/pages/admin-push.ejs (modified) * src/views/pages/admin.ejs (modified) * src/views/pages/fedi-notifications.ejs (modified) * src/views/pages/paid-gate.ejs (modified) * src/views/pages/paid-passkey.ejs (modified) * src/views/pages/paid-result.ejs (modified) Fix: test feedback round, cirkels tagline + report details + full ... Wed, 22 Jul 2026 07:12:11 GMT Robin [96c714f] * .env.example (modified) * README.md (modified) * src/services/PushService.js (modified) * test/push.test.js (modified) Feature: web push slice 4, burst throttle + docs - Burst throttle: ... Wed, 22 Jul 2026 07:12:11 GMT Robin [8240e80] * src/services/ActivityPubService.js (modified) Feature: web push slice 3, real triggers from the S2S inbox The ... Wed, 22 Jul 2026 07:12:11 GMT Robin [ad10715] * package-lock.json (modified) * package.json (modified) * src/config/database.js (modified) * src/routes/posts.js (modified) * src/services/PushService.js (added) * test/push.test.js (added) Feature: web push slice 1, VAPID keys + subscription store The ... Wed, 22 Jul 2026 00:26:08 GMT Robin Genis [8b07c12] * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/activitypub-as2.test.js (modified) * test/c2s-block.test.js (modified) The AP blocked collection: the server blocklist drives Shaer's Orbit ... Tue, 21 Jul 2026 23:44:49 GMT Robin Genis [4c70ecb] * src/services/ActivityPubService.js (modified) * test/c2s-block.test.js (added) * test/c2s-outbox.test.js (modified) C2S Block and Undo(Block): Shaer's Orbit becomes a real server block ... Tue, 21 Jul 2026 23:10:32 GMT Robin Genis [fb30b5d] * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/c2s-inbox.test.js (modified) C2S inbox carries friends' media as AS2 attachments Shaer showed ... Tue, 21 Jul 2026 03:39:35 GMT Robin [4590e66] * src/routes/admin-paid.js (modified) * src/services/CryptoBox.js (modified) * src/services/PaidPatreonService.js (modified) * src/views/pages/admin-paid.ejs (modified) * test/paid-secret.test.js (added) Feature: auto-generate the paid-posts encryption key (no env needed) ... Tue, 21 Jul 2026 03:17:16 GMT Robin [dede82e] * src/services/PaidPatreonService.js (modified) * test/paid-patron.test.js (modified) Fix: derive the owner's campaign id from the creator token (strict ... Tue, 21 Jul 2026 03:11:39 GMT Robin [ec288dc] * src/routes/paid.js (modified) * src/services/PaidPatreonService.js (modified) * src/views/pages/paid-result.ejs (modified) Debug: show why a patron is rejected on the "Nog geen supporter" page ... Tue, 21 Jul 2026 02:57:49 GMT Robin [c7a211d] * src/services/PaidPatreonService.js (modified) * test/paid-patron.test.js (modified) Fix: real supporters were rejected on a wrong campaign_id + add ... Tue, 21 Jul 2026 02:07:18 GMT Robin [c3d12a6] * src/config/database.js (modified) * src/routes/admin-paid.js (modified) * src/routes/paid.js (modified) * src/routes/posts.js (modified) * src/services/PaidPatreonService.js (modified) * src/views/pages/admin-paid.ejs (modified) * src/views/pages/paid-gate.ejs (modified) * src/views/pages/paid-result.ejs (modified) * test/paid-patron.test.js (modified) Feature: a way to actually become a supporter, and a styled expired ... Tue, 21 Jul 2026 01:32:23 GMT Robin [6cbd014] * src/routes/paid.js (modified) * src/routes/posts.js (modified) * src/services/PasskeyService.js (modified) * src/views/pages/paid-gate.ejs (modified) * test/paid-unlock.test.js (added) Feature: paid posts slice 4, cookie-less per-post unlock The unlock ... Tue, 21 Jul 2026 01:17:03 GMT Robin [d43230f] * src/services/PasskeyService.js (modified) Harden: lazy-load @simplewebauthn/server so a missing dep never ... Tue, 21 Jul 2026 01:16:03 GMT Robin [9e9e6f9] * package-lock.json (modified) * package.json (modified) * src/assets/vendor/simplewebauthn-browser.umd.min.js (added) * src/config/database.js (modified) * src/routes/paid.js (added) * src/server.js (modified) * src/services/PaidPatreonService.js (modified) * src/services/PasskeyService.js (added) * src/views/pages/paid-passkey.ejs (added) * src/views/pages/paid-result.ejs (added) * test/paid-patron.test.js (added) Feature: paid posts slice 3, patron link + passkey (cookie-less) ... Tue, 21 Jul 2026 01:06:47 GMT Robin [928d1c7] * src/config/database.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/views/pages/paid-gate.ejs (added) * src/views/pages/post-edit.ejs (modified) * test/paid-federation.test.js (added) Feature: paid posts slice 2, post model + teaser gate A post can be ... Tue, 21 Jul 2026 00:38:08 GMT Robin [61e3daf] * docs/paid-posts-design.md (modified) * docs/privacy-betaalde-posts.md (modified) * src/config/database.js (modified) * src/routes/admin-paid.js (added) * src/server.js (modified) * src/services/CryptoBox.js (added) * src/services/PaidPatreonService.js (added) * src/views/pages/admin-paid.ejs (added) * src/views/pages/admin.ejs (modified) * test/paid-patreon.test.js (added) Feature: paid posts slice 1, owner Patreon config (encrypted) The ... Mon, 20 Jul 2026 23:35:45 GMT Robin [30871c1] * docs/shaer-c2s-api.md (modified) * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/c2s-contacts.test.js (modified) Feature: enrichment is opt-in via Prefer (FEP-9876 conformance) ... Mon, 20 Jul 2026 23:03:52 GMT Robin [7922694] * src/config/database.js (modified) * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/c2s-contacts.test.js (added) Feature: owner followers/following carry name + avatar (shaer-aa3) ... Mon, 20 Jul 2026 22:52:58 GMT Robin [155c24e] * src/config/database.js (modified) * src/services/ActivityPubService.js (modified) * test/c2s-direct.test.js (modified) Feature: emit shaer:helpRequest on direct notes (FEP-633c 5.2.1) ... Mon, 20 Jul 2026 22:27:19 GMT Robin [e6c6e6f] * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/c2s-direct.test.js (modified) Feature: uploadMedia endpoint + attachments on direct notes The ... Mon, 20 Jul 2026 22:08:44 GMT Robin [024f4f8] * src/config/database.js (modified) * src/services/ActivityPubService.js (modified) * test/c2s-direct.test.js (added) Feature: direct notes are private mentions, not posts (shaer-tqc) A ... Mon, 20 Jul 2026 21:38:41 GMT Robin [81b2e1e] * src/config/database.js (modified) * src/services/ActivityPubService.js (modified) * test/c2s-visibility.test.js (added) Feature: C2S posts honor to/cc visibility (shaer-60b wire) A note ... Mon, 20 Jul 2026 18:50:25 GMT Robin [513ba82] * CHANGELOG.nl.md (modified) * src/services/i18n.js (modified) Copy (NL): interacteer instead of interageer Robins voorkeur: ... Mon, 20 Jul 2026 07:35:55 GMT Robin [520e477] * src/routes/circle.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/views/pages/circle-feed.ejs (modified) * src/views/pages/home.ejs (modified) * src/views/partials/home-append.ejs (added) Feature: Load more on Solo + Cirkel, page 72 (klonkt-demo-r9u, slice ... Mon, 20 Jul 2026 07:35:55 GMT Robin [1485933] * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/views/pages/messages.ejs (modified) * src/views/partials/messages-append.ejs (added) * src/views/partials/msg-item.ejs (added) * test/feed-pagination.test.js (modified) Feature: Load more on Messages, page 72 (klonkt-demo-r9u, slice 2/4) ... Mon, 20 Jul 2026 07:35:55 GMT Robin [7b04d3b] * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/news.ejs (modified) * src/views/partials/load-more.ejs (added) * src/views/partials/news-append.ejs (added) * src/views/partials/shared-styles.ejs (modified) * src/views/partials/tl-item.ejs (added) * test/feed-pagination.test.js (added) Feature: Load more on News feed, page 72 (klonkt-demo-r9u, slice 1/4) ... Sun, 19 Jul 2026 23:58:47 GMT Robin [544e9c2] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/messages.ejs (modified) * test/messages.test.js (modified) Feature: Messages "poll finished" notification (klonkt-demo-93o) ... Sun, 19 Jul 2026 23:43:33 GMT Robin [8ed65a6] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/services/i18n.js (modified) * src/views/pages/messages.ejs (modified) Feature: Messages filters regrouped + search (klonkt-demo-3jf) The ... Sun, 19 Jul 2026 22:48:15 GMT Robin [e9c9ae1] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/assets/css/reply-editor.css (modified) * src/assets/js/reply-editor.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/authorize-interaction.ejs (modified) * src/views/partials/fedi-node.ejs (modified) * src/views/partials/reply-editor.ejs (modified) * test/rich-reply.test.js (modified) Feature: mentions bar with conversation partners (klonkt-demo-u02) ... Sun, 19 Jul 2026 17:38:25 GMT Robin [5190152] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/assets/js/reply-editor.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/views/pages/authorize-interaction.ejs (modified) * src/views/pages/messages.ejs (modified) * src/views/partials/reply-editor.ejs (modified) * test/rich-reply.test.js (modified) Feature: rich editor on the edit forms too (klonkt-demo-c7f, last ... Sun, 19 Jul 2026 17:25:26 GMT Robin [feced2c] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/assets/css/reply-editor.css (modified) * src/assets/js/reply-editor.js (modified) * src/config/database.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/partials/fedi-node.ejs (modified) * src/views/partials/reply-editor.ejs (modified) * test/rich-reply.test.js (modified) Feature: media in replies — rich replies phase 2 (klonkt-demo-c7f) ... Sun, 19 Jul 2026 17:08:32 GMT Robin [33e1dbd] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/assets/css/reply-editor.css (added) * src/assets/js/reply-editor.js (added) * src/config/database.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/authorize-interaction.ejs (modified) * src/views/partials/fedi-node.ejs (modified) * src/views/partials/reply-editor.ejs (added) * test/rich-reply.test.js (added) Feature: rich replies phase 1 — shared editor, mobile full-screen, ... Sun, 19 Jul 2026 16:17:44 GMT Robin [2d66d66] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/routes/account.js (modified) * src/services/OAuthService.js (modified) * src/services/i18n.js (modified) * src/views/pages/account.ejs (modified) Feature: revoke connected OAuth apps from the account page You ... Sun, 19 Jul 2026 15:53:49 GMT Robin [4407c67] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/c2s-collections.test.js (added) Feature: C2S owner can read own followers/following (klonkt-demo-6kc) ... Sun, 19 Jul 2026 03:15:18 GMT Robin [dd568e7] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/c2s-outbox.test.js (added) Feature: OAuth C2S outbox POST — apps can drive the account (phase 1 ... Sun, 19 Jul 2026 02:52:55 GMT Robin [d49b60b] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * package.json (modified) * src/config/database.js (modified) * src/routes/oauth.js (added) * src/server.js (modified) * src/services/ActivityPubService.js (modified) * src/services/OAuthService.js (added) * src/services/i18n.js (modified) * src/views/pages/oauth-consent.ejs (added) * test/activitypub-as2.test.js (modified) * test/oauth-c2s.test.js (added) Feature: OAuth 2.0 for ActivityPub C2S (phase 1 — auth handshake) ... Sat, 18 Jul 2026 00:53:15 GMT Robin [f1a23b8] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/messages.ejs (added) * src/views/partials/fedi-tabs.ejs (modified) * test/messages.test.js (added) Feature: Messages merges Replies + Notifications into one inbox ... Fri, 17 Jul 2026 02:27:52 GMT Robin [7d19465] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/services/ActivityPubService.js (modified) * test/boost-media.test.js (added) Fix: boosted video-only posts keep their media in the Circle (Loops) ... Fri, 17 Jul 2026 01:11:58 GMT Robin [92a2c46] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/routes/posts.js (modified) * src/services/PlatformIcons.js (modified) * src/views/pages/admin-stats.ejs (modified) Fix: three UI nits (interact page title i18n, Apple icon, stats ... Fri, 17 Jul 2026 00:38:54 GMT Robin [67c1f24] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/config/database.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/partials/fedi-node.ejs (modified) * test/reply-moderation.test.js (added) Feature: owner moderation of incoming replies (remove + tombstone + ... Fri, 17 Jul 2026 00:20:48 GMT Robin [3778ddb] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/config/database.js (modified) * src/services/ActivityPubService.js (modified) * test/reply-visibility.test.js (added) Fix: private replies (followers-only/DM) no longer render on the ... Thu, 16 Jul 2026 20:02:27 GMT Robin [b109a29] * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/connect.ejs (added) * src/views/partials/fedi-tabs.ejs (modified) Feature: Connect page merges following + followers into one view ... Thu, 16 Jul 2026 12:20:51 GMT Robin [1cc8c85] * src/services/ActivityPubService.js (modified) Spoor A step 3b: buildNote is the single Note entry point ... Thu, 16 Jul 2026 12:20:51 GMT Robin [af21002] * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) Spoor A step 2: resolve @mentions into the baked content at save ... Thu, 16 Jul 2026 12:20:51 GMT Robin [2d6a9c3] * src/config/database.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) Spoor A step 1: bake post display HTML at save (ActivityPub source ... Thu, 16 Jul 2026 12:20:51 GMT Robin [8878814] * src/config/database.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/followers.ejs (added) * src/views/partials/fedi-tabs.ejs (modified) Feature: followers list with delivery health for cleanup Adds a ... Thu, 16 Jul 2026 12:20:51 GMT Robin [4424af7] * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) Fix: linkify #hashtags and bare URLs in post bodies for on-site ... Thu, 16 Jul 2026 12:20:51 GMT Robin [ae05747] * src/services/ActivityPubService.js (modified) Fix: federate replies, comment-deletes and reply-edits durably ... Thu, 16 Jul 2026 12:20:51 GMT Robin [e276d03] * src/services/ThumbnailService.js (modified) Fix: remote video thumbnails for moov-at-end files (Loops.video) ... Thu, 16 Jul 2026 12:20:51 GMT Robin [a85f539] * src/services/AudioEmbedService.js (modified) * src/services/HtmlSanitizerService.js (modified) Fix: bare .webm/.mp4/.mp3 URLs render a native player autoembed() ... Sat, 04 Jul 2026 17:44:17 GMT roboburr [0a93c15] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/services/ActivityPubService.js (modified) * test/polls.test.js (modified) fix(ap): a poll keeps its cover art when federated The real reason ... Sat, 04 Jul 2026 17:31:45 GMT roboburr [14f54a7] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) fix(ap): self-heal retries until a clean pass; feed re-boost also ... Sat, 04 Jul 2026 17:26:26 GMT roboburr [6dd1a3f] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/services/ActivityPubService.js (modified) fix(ap): upsertBoostedNote refreshes an already-cached row Root ... Sat, 04 Jul 2026 17:19:01 GMT roboburr [236e11b] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/services/ActivityPubService.js (modified) fix(ap): self-heal v6 - retroactively restore covers on cached boosts ... Sat, 04 Jul 2026 17:05:30 GMT roboburr [006a3be] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/services/ActivityPubService.js (modified) fix(ap): boosted post keeps its cover when you don't follow the ... Wed, 01 Jul 2026 22:38:02 GMT roboburr [e67828e] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/services/ThumbnailService.js (modified) * src/views/pages/news.ejs (modified) fix(media): poster frames for remote videos (News feed + Circle ... Wed, 01 Jul 2026 22:28:08 GMT roboburr [3b4095f] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/config/database.js (modified) * src/routes/admin-seo.js (modified) * src/routes/og.js (modified) * src/services/OgImageService.js (modified) * src/services/i18n.js (modified) * src/views/pages/admin-seo.ejs (modified) feat(seo): og:image light/dark override setting The auto-generated ... Wed, 01 Jul 2026 22:20:25 GMT roboburr [fc229f5] * .beads/.~issues.jsonl.2006037205 (added) * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/services/ActivityPubService.js (modified) * test/url-linkify.test.js (modified) fix(fediverse): bracketed mentions/hashtags/URLs link and notify ... Wed, 01 Jul 2026 22:13:40 GMT roboburr [fe97cc3] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/config/database.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/fedi-notifications.ejs (modified) * test/inbound-mentions.test.js (added) feat(fediverse): notification when mentioned in a non-reply post An ... Wed, 01 Jul 2026 22:06:57 GMT roboburr [e00c0e9] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/services/ActivityPubService.js (modified) * test/url-linkify.test.js (added) fix(fediverse): auto-link bare URLs in outgoing posts and replies A ... Wed, 01 Jul 2026 21:52:14 GMT roboburr [5a27ba4] * src/services/i18n.js (modified) copy(editor): shorter one-way audio warning Trim ... Wed, 01 Jul 2026 21:49:52 GMT roboburr [c06816e] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/routes/posts.js (modified) * src/services/i18n.js (modified) * src/views/pages/post-edit.ejs (modified) feat(audio): sharing openly on the fediverse is one-way + lock the ... Wed, 01 Jul 2026 21:31:54 GMT roboburr [8cf8b5f] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/services/ActivityPubService.js (modified) * test/audio-attachment-art.test.js (added) feat(fediverse): cover art on federated Audio attachments (AS2 icon) ... Wed, 01 Jul 2026 19:31:48 GMT roboburr [badbba8] * src/services/i18n.js (modified) * src/views/pages/authorize-interaction.ejs (modified) copy(fedi): simpler report-target wording (instance + moderator(s)) ... Wed, 01 Jul 2026 19:28:30 GMT roboburr [9e1b1bb] * src/services/ActivityPubService.js (modified) fix(fediverse): use verified actor doc in inbound Flag (resolveActor ... Wed, 01 Jul 2026 19:26:13 GMT roboburr [737ea05] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/config/database.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/fedi-notifications.ejs (modified) feat(fediverse): receive reports (inbound Flag) → owner's ... Wed, 01 Jul 2026 19:14:12 GMT roboburr [1c2dcba] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/authorize-interaction.ejs (modified) * test/activitypub-as2.test.js (modified) feat(fediverse): report a post/account to its home server (AS2 Flag) ... Wed, 01 Jul 2026 19:06:45 GMT roboburr [0688b5f] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/config/database.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/Scheduler.js (modified) * src/services/i18n.js (modified) * src/views/pages/post-edit.ejs (modified) * test/activitypub-as2.test.js (modified) * test/post-language.test.js (added) feat(fediverse): post language → AS2 contentMap A post can now ... Wed, 01 Jul 2026 18:55:46 GMT roboburr [d18c60e] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/config/database.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/Scheduler.js (modified) * src/services/i18n.js (modified) * src/views/pages/post-edit.ejs (modified) * src/views/pages/post.ejs (modified) * test/media-alt.test.js (added) feat(fediverse): alt text for images (accessibility → AS2 attachment ... Wed, 01 Jul 2026 18:38:05 GMT roboburr [43273c9] * src/services/ActivityPubService.js (modified) refactor(fediverse): thread crawl one level per pass, like Mastodon ... Wed, 01 Jul 2026 18:23:10 GMT roboburr [dc41bef] * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * test/thread-crawl.test.js (added) feat(fediverse): fetch remote reply threads (cached, stale-while- ... Wed, 01 Jul 2026 13:56:09 GMT roboburr [f1956d7] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/services/ActivityPubService.js (modified) * test/mentions.test.js (added) feat(fediverse): inline @mentions in posts (link + notify) Typing ... Wed, 01 Jul 2026 13:39:56 GMT roboburr [c45c187] * src/services/i18n.js (modified) * src/views/pages/authorize-interaction.ejs (modified) feat(polls): show voter count + open/closed status on the interact ... Wed, 01 Jul 2026 13:32:22 GMT roboburr [667fb41] * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/authorize-interaction.ejs (modified) feat(polls): vote on any fediverse poll from the interact page The ... Wed, 01 Jul 2026 13:18:04 GMT roboburr [bb3f67c] * src/services/i18n.js (modified) * src/views/pages/post-edit.ejs (modified) feat(polls): removable options + tidier editor layout Each poll ... Wed, 01 Jul 2026 12:53:32 GMT roboburr [0403187] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/config/database.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/Scheduler.js (modified) * src/services/i18n.js (modified) * src/views/pages/post-edit.ejs (modified) * src/views/pages/post.ejs (modified) * test/polls.test.js (added) feat(fediverse): host your own polls (federate as AS2 Question) A ... Wed, 01 Jul 2026 07:48:48 GMT Robin Genis [731e431] * src/services/ActivityPubService.js (modified) fix(fediverse): backfillFromOutbox also ingests polls (Question) with ... Wed, 01 Jul 2026 07:38:33 GMT Robin Genis [6053c6c] * src/config/database.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/news.ejs (modified) feat(fediverse): show + vote on remote polls (Question) in the News ... Wed, 01 Jul 2026 06:08:33 GMT Robin Genis [f70e010] * src/services/ThumbnailService.js (modified) fix(thumbnails): skip ffmpeg for animated remote WebP/GIF (serve ... Wed, 01 Jul 2026 01:03:39 GMT Robin Genis [c55fb34] * .beads/issues.jsonl (modified) * src/services/ActivityPubService.js (modified) fix(federation): HTTP-sig replay window + mandatory digest (lqx); ... Wed, 01 Jul 2026 00:57:32 GMT Robin Genis [cfe1824] * .beads/issues.jsonl (modified) * src/services/ActivityPubService.js (modified) fix(federation): serialize featured-pin resync per site (4fk) ... Wed, 01 Jul 2026 00:45:51 GMT Robin Genis [1b1cc89] * .beads/issues.jsonl (modified) * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/services/ActivityPubService.js (modified) fix(federation): deliver Follow via the retry queue (byh) ... Tue, 30 Jun 2026 22:17:48 GMT roboburr [d9c5eb8] * src/routes/og.js (modified) * src/services/OgImageService.js (modified) feat(og): light OG card when the site's default theme is Light ... Tue, 30 Jun 2026 22:11:03 GMT roboburr [e3a5aed] * src/routes/admin-stats.js (modified) * src/services/StatsService.js (modified) * src/services/i18n.js (modified) * src/views/pages/admin-stats.ejs (modified) feat(stats): let the admin exclude their own IP from statistics ... Tue, 30 Jun 2026 19:50:05 GMT roboburr [f2943c1] * src/routes/admin-media.js (modified) * src/services/VideoCoverService.js (modified) refactor(video-cover, media): stream frames + size cap, drop unused ... Tue, 30 Jun 2026 18:57:47 GMT roboburr [0fc5db5] * src/services/ActivityPubService.js (modified) chore(federation): bump SELFHEAL_VERSION to 5 (heal embed-post covers ... Tue, 30 Jun 2026 18:55:53 GMT roboburr [f7ed139] * src/services/ActivityPubService.js (modified) fix(federation): keep the cover for Klonkt feeds on embed posts ... Tue, 30 Jun 2026 18:46:32 GMT roboburr [f24b795] * src/routes/admin-media.js (added) * src/server.js (modified) * src/services/i18n.js (modified) * src/views/pages/admin-media.ejs (added) * src/views/pages/admin.ejs (modified) feat(media): Beheer -> Media — image library with usage + cleanup of ... Tue, 30 Jun 2026 18:02:20 GMT roboburr [1c33804] * src/services/VideoCoverService.js (modified) fix(video-cover): double the ANMF frame offset (node-webpmux quirk) ... Tue, 30 Jun 2026 17:56:01 GMT roboburr [7ecbefc] * src/services/VideoCoverService.js (modified) fix(video-cover): composite partial animated-WebP frames (fixes ... Tue, 30 Jun 2026 17:43:39 GMT roboburr [857a06f] * src/routes/activitypub.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/Scheduler.js (modified) feat(video-cover): federate an animated cover as a Video attachment ... Tue, 30 Jun 2026 17:23:54 GMT roboburr [ecbfa41] * package-lock.json (modified) * package.json (modified) * src/services/VideoCoverService.js (added) feat(video-cover): add VideoCoverService + node-webpmux (animated ... Tue, 30 Jun 2026 16:31:56 GMT roboburr [28f797d] * src/services/i18n.js (modified) * src/views/pages/post.ejs (modified) * src/views/shell.ejs (modified) feat(post): share button at the bottom of posts A "Share/Deel" ... Tue, 30 Jun 2026 15:16:22 GMT roboburr [4d1aefb] * src/services/ThumbnailService.js (modified) fix(thumbnails): serve animated WebP/GIF covers as-is (they were ... Tue, 30 Jun 2026 14:50:15 GMT roboburr [1a0b007] * src/services/ActivityPubService.js (modified) feat(federation): link-only tracks federate their external links ... Tue, 30 Jun 2026 14:37:32 GMT roboburr [443f982] * src/services/ActivityPubService.js (modified) feat(federation): let Mastodon card external embeds — drop image ... Tue, 30 Jun 2026 14:24:00 GMT roboburr [28b59e7] * src/services/ActivityPubService.js (modified) fix(federation): don't federate inline images we can't serve (stale ... Tue, 30 Jun 2026 13:58:06 GMT roboburr [292734a] * src/services/ActivityPubService.js (modified) refactor(federation): specific AS2 media types (Image/Audio) for ...