# # ChangeLog for src/routes in Klonkt # # Generated by Trac 1.6 # 09/09/2026 02:14:56 AM Thu, 30 Jul 2026 09:32:40 GMT Robin [a9da2c0] * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/c2s-compose.test.js (modified) De outbox vergat de attachments: waarom de Mac speelde en de iPhone ... Thu, 30 Jul 2026 08:40:28 GMT Robin [73a10c2] * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/friends-history.test.js (added) Vrienden krijgen de geschiedenis mee, en een block blijft een dichte ... Thu, 30 Jul 2026 08:02:16 GMT Robin [79f00c5] * src/routes/activitypub.js (modified) De posters gebruiken de ffmpeg die Klonkt al meebrengt Robins ... Thu, 30 Jul 2026 08:00:25 GMT Robin [9ed940e] * src/routes/activitypub.js (modified) FFMPEG_PATH: een static build mag het werk doen Robins vraag of ... Thu, 30 Jul 2026 07:56:33 GMT Robin [7d01696] * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/c2s-compose.test.js (modified) Posterframes voor video, ffmpeg-optioneel shaer-zowq, de ... Thu, 30 Jul 2026 07:47:53 GMT Robin [97bcf7e] * src/assets/css/style.css (modified) * src/routes/admin-media.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/admin-videos.ejs (added) * src/views/partials/media-tabs.ejs (modified) Video op maat in de post, en een Video-tab in Media Robins opdracht ... Wed, 29 Jul 2026 12:36:50 GMT Robin [d56d471] * src/assets/css/guardian.css (modified) * src/assets/js/guardian.js (modified) * src/config/database.js (modified) * src/routes/guardian.js (modified) * src/services/guardianship/gated.js (modified) * src/services/guardianship/handshake.js (modified) * src/services/i18n.js (modified) * test/gated-settings.test.js (modified) Een voorstel krijgt een antwoord, een status en een zichtbare kring ... Wed, 29 Jul 2026 11:26:00 GMT Robin [08ab8ad] * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/c2s-messages.test.js (added) De app las alleen de tijdlijn, dus een zwaai kwam nooit aan Robin ... Wed, 29 Jul 2026 10:50:32 GMT Robin [6d5ce0c] * src/routes/guardian.js (modified) * src/services/ActivityPubService.js (modified) * src/services/guardianship/delivery.js (modified) * src/services/guardianship/handshake.js (modified) * test/co-location.test.js (added) Op deze machine gedraagt elke Klonkt zich alsof hij ergens anders ... Wed, 29 Jul 2026 10:29:55 GMT Robin Genis [c8e03c6] * src/routes/guardian.js (modified) * src/services/guardianship/handshake.js (modified) * test/gated-settings.test.js (modified) Het doorgestuurde voorstel werd geweigerd: verkeerde afzender Robin ... Wed, 29 Jul 2026 10:15:04 GMT Robin Genis [329873e] * src/routes/guardian.js (modified) * test/routes-load.test.js (added) Herstel: een losse ) sloopte guardian.js, en dus sound-fabrics Bij ... Wed, 29 Jul 2026 10:04:36 GMT Robin Genis [e27b8db] * src/assets/js/guardian.js (modified) * src/config/database.js (modified) * src/routes/activitypub.js (modified) * src/routes/guardian.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/guardianship/gated.js (modified) * src/services/guardianship/index.js (modified) * src/services/guardianship/notes.js (modified) * src/services/i18n.js (modified) * test/gated-settings.test.js (modified) Afspelen in de app als tweede gated feature, en het gat in de gate ... Wed, 29 Jul 2026 07:15:16 GMT Robin Genis [88d7c8f] * src/assets/css/guardian.css (modified) * src/assets/js/guardian.js (modified) * src/config/database.js (modified) * src/routes/guardian.js (modified) * src/services/guardianship/gated.js (modified) * src/services/guardianship/handshake.js (modified) * src/services/i18n.js (modified) * test/gated-settings.test.js (modified) Een gated voorstel bereikte de andere guardians nooit Op de vloot ... Tue, 28 Jul 2026 23:48:34 GMT Robin Genis [439f095] * src/routes/posts.js (modified) * src/views/pages/connect.ejs (modified) * src/views/pages/messages.ejs (modified) De guardians-lijst verhuist van Berichten naar Connect Connect is ... Tue, 28 Jul 2026 23:40:37 GMT Robin Genis [0202104] * src/assets/css/guardian.css (modified) * src/assets/js/guardian.js (modified) * src/middleware/render.js (modified) * src/routes/guardian.js (modified) * src/routes/posts.js (modified) * src/services/i18n.js (modified) * src/views/pages/guardian.ejs (modified) * src/views/pages/messages.ejs (modified) De gebruikerskant van 3.6: de ward ziet zijn vangnet, de guardian ... Tue, 28 Jul 2026 23:22:07 GMT Robin Genis [6eab7e9] * src/config/database.js (modified) * src/routes/activitypub.js (modified) * src/routes/guardian.js (modified) * src/services/ActivityPubService.js (modified) * src/services/guardianship/availability.js (added) * src/services/guardianship/delivery.js (modified) * src/services/guardianship/gated.js (modified) * src/services/guardianship/handshake.js (modified) * src/services/guardianship/index.js (modified) * src/services/guardianship/notes.js (modified) * src/services/guardianship/queues.js (modified) * src/services/guardianship/relations.js (modified) * test/activitypub-as2.test.js (modified) * test/availability.test.js (added) Beschikbaarheid van guardians (FEP-633c 3.6): away, dormant, lapse ... Tue, 28 Jul 2026 20:15:31 GMT Robin Genis [6c152a5] * src/assets/js/guardian.js (modified) * src/routes/guardian.js (modified) * src/services/ActivityPubService.js (modified) * src/services/guardianship/handshake.js (modified) * src/services/guardianship/index.js (modified) * src/services/i18n.js (modified) * test/guardianship.test.js (modified) De Undo bij het loslaten van een ward reist nu echt mee Loslaten ... Tue, 28 Jul 2026 19:58:26 GMT Robin Genis [742ba7e] * src/assets/css/guardian.css (modified) * src/assets/js/guardian.js (modified) * src/routes/guardian.js (modified) * src/services/i18n.js (modified) * test/guardian-panel.test.js (modified) Een ward loslaten vraagt eerst, en zegt wat het doet Loslaten zat ... Tue, 28 Jul 2026 19:43:49 GMT Robin Genis [70677e96] * src/assets/css/guardian.css (modified) * src/assets/js/guardian.js (modified) * src/routes/guardian.js (modified) * src/services/i18n.js (modified) * src/views/pages/guardian.ejs (modified) * test/guardian-panel.test.js (added) Guardian-PWA: een paneel per kind /guardian was een platte lijst ... Tue, 28 Jul 2026 18:30:43 GMT Robin Genis [a7bcf66] * src/assets/js/guardian.js (modified) * src/middleware/render.js (modified) * src/routes/guardian.js (modified) * src/services/ActivityPubService.js (modified) * src/views/partials/msg-item.ejs (modified) * test/timestamps.test.js (added) De Guardian PWA liep twee uur achter Op sound-fabrics staat de ... Tue, 28 Jul 2026 18:17:36 GMT Robin Genis [d9ad6c5] * src/assets/css/guardian.css (modified) * src/assets/js/guardian.js (modified) * src/config/database.js (modified) * src/middleware/render.js (modified) * src/routes/guardian.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/news.ejs (modified) * src/views/partials/msg-item.ejs (modified) * src/views/partials/note-body.ejs (added) * src/views/partials/shared-styles.ejs (modified) * src/views/partials/tl-item.ejs (modified) * test/help-request-timeline.test.js (added) * test/note-body-shared.test.js (added) Een hulpvraag hoort in Berichten, niet in de Krant Een 🛟 van een ... Tue, 28 Jul 2026 10:45:26 GMT Robin Genis [2708282] * src/routes/guardian.js (modified) * src/services/ActivityPubService.js (modified) * test/gated-settings.test.js (modified) De knop deed niets: AP.deliverTo bestond niet Op Propose link ... Tue, 28 Jul 2026 10:40:50 GMT Robin Genis [65abc85] * src/assets/js/guardian.js (modified) * src/config/database.js (modified) * src/routes/guardian.js (modified) * src/services/guardianship/gated.js (added) * src/services/guardianship/handshake.js (modified) * src/services/guardianship/index.js (modified) * src/services/i18n.js (modified) * test/gated-settings.test.js (added) Gated settings federeren: guardians beslissen samen, ook van een ... Tue, 28 Jul 2026 09:11:34 GMT Robin Genis [2a76184] * src/assets/js/guardian.js (modified) * src/routes/guardian.js (modified) * src/services/i18n.js (modified) Guardians kunnen linkvoorbeelden aan- en uitzetten per ward De ... Tue, 28 Jul 2026 07:43:47 GMT Robin Genis [fc40410] * src/config/database.js (modified) * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * src/services/guardianship/index.js (modified) * src/services/guardianship/notes.js (modified) * test/external-embeds.test.js (added) Externe embeds: thumbnail-only, en gated aan de serverkant Fase 2 ... Tue, 28 Jul 2026 06:43:39 GMT Robin Genis [c628dcd4] * src/assets/js/guardian.js (modified) * src/routes/guardian.js (modified) * src/routes/paid.js (modified) * src/services/i18n.js (modified) Paid-post pagina krijgt de normale header, en Release a Ward vraagt ... Sun, 26 Jul 2026 10:56:43 GMT Robin Genis [de89079] * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/c2s-reply-visibility.test.js (added) C2S: liked/boosted op de inbox-read + followers-only reply- ... Sun, 26 Jul 2026 09:02:17 GMT Robin Genis [f3caf19] * src/config/database.js (modified) * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) shaer:booster.emojis: custom-emoji in de booster-naam (X boosted) ... Sun, 26 Jul 2026 08:47:16 GMT Robin Genis [a677616] * src/config/database.js (modified) * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) shaer:author.emojis: custom-emoji in de display-naam op de byline ... Sun, 26 Jul 2026 08:35:57 GMT Robin Genis [46a30f0] * src/routes/activitypub.js (modified) Inbox-read serveert shaer:author + shaer:booster voor een byline op ... Sun, 26 Jul 2026 08:20:58 GMT Robin Genis [6fd0e20] * src/config/database.js (modified) * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/object-links.test.js (modified) FEP-044f: Klonkt resolvet de geciteerde post voor een ingebedde ... Sun, 26 Jul 2026 08:01:25 GMT Robin Genis [eb36688] * src/config/database.js (modified) * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/object-links.test.js (added) FEP-e232 emit: Klonkt bewaart + serveert object-link (quote) tags op ... Sat, 25 Jul 2026 23:32:44 GMT Robin [97bacf2] * src/config/database.js (modified) * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/custom-emojis.test.js (added) FEP-9098 emit: Klonkt bewaart + serveert custom-emoji tags (C2S ... Sat, 25 Jul 2026 10:37:37 GMT Robin [f1c50f9] * src/assets/css/guardian.css (modified) * src/assets/css/guardian2.css (deleted) * src/assets/js/guardian.js (modified) * src/assets/js/guardian2.js (deleted) * src/routes/guardian.js (modified) * src/routes/guardian2.js (deleted) * src/server.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/guardian.ejs (modified) * src/views/pages/guardian2.ejs (deleted) Guardian 2 wordt de nieuwe /guardian; oude v1 eruit Robins besluit: ... Sat, 25 Jul 2026 10:11:15 GMT Robin [787e0d9] * src/assets/js/guardian2.js (modified) * src/routes/guardian2.js (modified) Fix dubbele @@ in guardian2 volgverzoeken renderFollowReqs ... Sat, 25 Jul 2026 09:15:34 GMT Robin [2b4252c] * src/config/database.js (modified) * src/routes/guardian2.js (modified) * src/services/ActivityPubService.js (modified) * src/services/guardianship/follows.js (modified) * test/follow-gating.test.js (modified) Cross-instance follow-goedkeuring, gemodelleerd op de guardian-offer ... Sat, 25 Jul 2026 08:22:15 GMT Robin [c66cbb4] * src/routes/activitypub.js (modified) * src/services/ActivityPubService.js (modified) * test/authorized-fetch.test.js (added) Authorized fetch: gecommitte guardian leest ward-outbox gesigneerd ... Sat, 25 Jul 2026 08:09:19 GMT Robin [ad6f62a] * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/messages.ejs (modified) * src/views/partials/msg-item.ejs (modified) Guardian 2: zwaai-badge in Berichten + snelle antwoorden (item 3 af) ... Sat, 25 Jul 2026 08:01:21 GMT Robin [e62f65d] * src/assets/js/guardian2.js (modified) * src/config/database.js (modified) * src/routes/guardian2.js (modified) * src/services/ActivityPubService.js (modified) * src/services/guardianship/delivery.js (modified) * src/services/guardianship/index.js (modified) * src/services/guardianship/notes.js (modified) * src/services/i18n.js (modified) Guardian 2: de zwaai (shaer:wave), warmte zonder publiceren Een ... Sat, 25 Jul 2026 07:51:28 GMT Robin [5c373b8] * src/assets/js/guardian2.js (modified) * src/config/database.js (modified) * src/routes/guardian2.js (modified) * src/services/ActivityPubService.js (modified) * src/services/guardianship/follows.js (added) * src/services/guardianship/index.js (modified) * src/services/i18n.js (modified) * src/views/pages/guardian2.ejs (modified) * test/follow-gating.test.js (added) Guardian 2: follow-goedkeuring (FEP-633c §5.3) Een Follow op een ... Sat, 25 Jul 2026 07:43:37 GMT Robin [28267519] * src/assets/css/guardian2.css (modified) * src/assets/js/guardian2.js (modified) * src/routes/guardian2.js (modified) * src/services/i18n.js (modified) * src/views/pages/guardian2.ejs (modified) Guardian 2: meekijken met je wards (interop-hoofdroute, FEP-633c §5) ... Sat, 25 Jul 2026 06:25:15 GMT Robin [05665bc] * src/config/database.js (modified) * src/routes/guardian2.js (modified) * src/views/pages/guardian2.ejs (modified) Guardian 2: losse guardians via uitnodiging (guardian-only accounts) ... Sat, 25 Jul 2026 06:06:50 GMT Robin [c1f5c23] * src/assets/css/guardian2.css (added) * src/assets/js/guardian2.js (added) * src/routes/guardian2.js (added) * src/server.js (modified) * src/views/pages/guardian2.ejs (added) Guardian 2: kloon van de Guardian-PWA als groeiplek voor losse ... Fri, 24 Jul 2026 21:30:48 GMT Robin [c6185fa] * src/middleware/render.js (modified) * src/routes/guardian.js (modified) Guardian-PWA: CSP-nonce injecteren zodat de JS laadt DIT was de ... Fri, 24 Jul 2026 20:59:51 GMT Robin [fcd6964] * src/assets/js/guardian.js (modified) * src/routes/guardian.js (modified) * src/routes/posts.js (modified) * src/services/guardianship/handshake.js (modified) * src/services/i18n.js (modified) * src/views/pages/guardian.ejs (modified) * src/views/pages/messages.ejs (modified) * test/guardianship.test.js (modified) Guardianship: ward ziet z'n guardians, PWA-assets no-cache, handle- ... Fri, 24 Jul 2026 20:07:47 GMT Robin Genis [b5924eb] * src/routes/guardian.js (modified) * src/views/pages/guardian.ejs (modified) Guardian-PWA: cache-bust op de assets (stale JS was de "fire-and- ... Fri, 24 Jul 2026 19:44:15 GMT Robin Genis [780a7c6] * .claude/launch.json (added) * src/assets/css/guardian.css (modified) * src/assets/js/guardian.js (modified) * src/config/database.js (modified) * src/routes/guardian.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/guardianship/handshake.js (modified) * src/services/guardianship/index.js (modified) * src/services/guardianship/offers.js (added) * src/services/guardianship/queues.js (modified) * src/services/guardianship/relations.js (modified) * src/services/i18n.js (modified) * src/views/pages/messages.ejs (modified) * test/guardianship.test.js (modified) Guardianship Fase 0+1: de echte multi-party handshake (FEP-633c §3) ... Fri, 24 Jul 2026 18:04:03 GMT Robin Genis [c26cc18] * src/assets/css/guardian.css (modified) * src/assets/js/guardian.js (modified) * src/routes/guardian.js (modified) * src/services/ActivityPubService.js (modified) * src/services/guardianship/handshake.js (modified) * src/services/i18n.js (modified) * src/views/pages/guardian.ejs (modified) Guardian-PWA: duidelijker + verstuurde offer altijd zichtbaar Twee ... Fri, 24 Jul 2026 17:34:51 GMT Robin Genis [e84ce32] * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/messages.ejs (modified) Voogdij-aanvraag als speciaal bericht in Berichten, met accepteer- ... Fri, 24 Jul 2026 17:03:34 GMT Robin Genis [318d0c2] * src/assets/css/guardian.css (added) * src/assets/js/guardian.js (added) * src/routes/admin-sites.js (modified) * src/routes/guardian.js (added) * src/routes/posts.js (modified) * src/server.js (modified) * src/views/pages/guardian.ejs (added) De Guardian-PWA: /guardian, wards managen, berichtencentrum, eigen ... Fri, 24 Jul 2026 17:03:34 GMT Robin Genis [e61c289] * src/routes/activitypub.js (modified) * src/services/PushService.js (modified) * src/services/i18n.js (modified) * test/guardianship.test.js (added) Guardian-queues als C2S-routes + push-typen help/guardian De drie ... 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 [053bf51] * src/routes/admin-push.js (added) * src/routes/push.js (added) * src/server.js (modified) * src/views/pages/admin-push.ejs (added) * src/views/pages/admin.ejs (modified) Feature: web push slice 2, enable/disable UI + service worker ... 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: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:29:56 GMT Robin [b9beb16] * src/routes/paid.js (modified) * src/views/pages/paid-result.ejs (modified) Cleanup: remove the on-screen patron diagnose line (bug found + ... Tue, 21 Jul 2026 03:26:24 GMT Robin [072a242] * src/routes/paid.js (modified) * src/routes/posts.js (modified) * src/views/pages/paid-gate.ejs (modified) Fix: unlocked post renders via its own page; no duplicate supporter ... 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: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:54:46 GMT Robin [603d246] * src/routes/admin-paid.js (modified) * src/views/pages/admin-paid.ejs (modified) Feature: show the exact Patreon redirect URI in the paid admin Bart ... Tue, 21 Jul 2026 01:38:37 GMT Robin [d48ea02] * src/routes/posts.js (modified) Fix: paid gate wins from the fan gate (no more login page on paid ... 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: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: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 20:19:20 GMT Robin [0cea12b] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/routes/activitypub.js (modified) * test/c2s-inbox.test.js (added) Feature: owner inbox read over C2S (GET, bearer-gated) GET ... 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 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 04:04:25 GMT Robin [bf72108] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/routes/oauth.js (modified) Fix: OAuth consent hands off to native apps via an interstitial ... 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 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 + ... 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 [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 [72f936a] * src/routes/admin-updates.js (modified) Fix: update check tracks the branch a checkout is on, not always main ... 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 ... Sat, 04 Jul 2026 17:47:49 GMT roboburr [da71f9d] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/routes/admin-updates.js (modified) fix(updates): Android "Latest" reads the installable bundle version ... 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 ... Thu, 02 Jul 2026 15:07:42 GMT roboburr [422b20d] * CHANGELOG.de.md (modified) * CHANGELOG.md (modified) * CHANGELOG.nl.md (modified) * src/routes/admin-updates.js (modified) fix(updates): in-app updates on the Android app (third topology) ... 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 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 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 ...