Timeline



07/21/2026:

23:44 Changeset in Klonkt [4c70ecb]main by Robin Genis <roboburr@…>
C2S Block and Undo(Block): Shaer's Orbit becomes a real server block …
23:10 Changeset in Klonkt [fb30b5d]main by Robin Genis <roboburr@…>
C2S inbox carries friends' media as AS2 attachments Shaer showed …
03:55 Changeset in Klonkt [e2ea5c4]main by Robin <roboburr@…>
Fix: online visitors always get the fresh site, never a cached copy …
03:45 Changeset in Klonkt [f574435]main by Robin <roboburr@…>
Docs: README + .env.example for paid posts and auto-generated keys …
03:39 Changeset in Klonkt [4590e66]main by Robin <roboburr@…>
Feature: auto-generate the paid-posts encryption key (no env needed) …
03:29 Changeset in Klonkt [b9beb16]main by Robin <roboburr@…>
Cleanup: remove the on-screen patron diagnose line (bug found + fixed) …
03:26 Changeset in Klonkt [072a242]main by Robin <roboburr@…>
Fix: unlocked post renders via its own page; no duplicate supporter …
03:17 Changeset in Klonkt [dede82e]main by Robin <roboburr@…>
Fix: derive the owner's campaign id from the creator token (strict …
03:11 Changeset in Klonkt [ec288dc]main by Robin <roboburr@…>
Debug: show why a patron is rejected on the "Nog geen supporter" page …
02:57 Changeset in Klonkt [c7a211d]main by Robin <roboburr@…>
Fix: real supporters were rejected on a wrong campaign_id + add …
02:42 Changeset in Klonkt [9019a3e]main by Robin <roboburr@…>
Feature: prominent "Word supporter" button on the paid gate The gate …
02:07 Changeset in Klonkt [c3d12a6]main by Robin <roboburr@…>
Feature: a way to actually become a supporter, and a styled expired …
01:54 Changeset in Klonkt [603d246]main by Robin <roboburr@…>
Feature: show the exact Patreon redirect URI in the paid admin Bart …
01:54 Changeset in Klonkt [e685f55]main by Robin <roboburr@…>
Fix: paid client scripts were blocked by CSP (garbage nonce) The …
01:38 Changeset in Klonkt [d48ea02]main by Robin <roboburr@…>
Fix: paid gate wins from the fan gate (no more login page on paid …
01:32 Changeset in Klonkt [6cbd014]main by Robin <roboburr@…>
Feature: paid posts slice 4, cookie-less per-post unlock The unlock …
01:17 Changeset in Klonkt [d43230f]main by Robin <roboburr@…>
Harden: lazy-load @simplewebauthn/server so a missing dep never …
01:16 Changeset in Klonkt [9e9e6f9]main by Robin <roboburr@…>
Feature: paid posts slice 3, patron link + passkey (cookie-less) The …
01:06 Changeset in Klonkt [928d1c7]main by Robin <roboburr@…>
Feature: paid posts slice 2, post model + teaser gate A post can be …
00:38 Changeset in Klonkt [61e3daf]main by Robin <roboburr@…>
Feature: paid posts slice 1, owner Patreon config (encrypted) The …
00:26 Changeset in Klonkt [4a08bfc]main by Robin <roboburr@…>
Docs: paid-posts design (slice 0 spike) The build reference for the …
00:11 Changeset in Klonkt [562e1b0]main by Robin <roboburr@…>
Docs: privacy statement for paid posts (concept) The Dutch privacy …

07/20/2026:

23:35 Changeset in Klonkt [30871c1]main by Robin <roboburr@…>
Feature: enrichment is opt-in via Prefer (FEP-9876 conformance) …
23:12 Changeset in Klonkt [5143ccf]main by Robin <roboburr@…>
Docs: the Shaer to Klonkt C2S API Documents the contract the Shaer …
23:03 Changeset in Klonkt [7922694]main by Robin <roboburr@…>
Feature: owner followers/following carry name + avatar (shaer-aa3) …
22:52 Changeset in Klonkt [155c24e]main by Robin <roboburr@…>
Feature: emit shaer:helpRequest on direct notes (FEP-633c 5.2.1) The …
22:27 Changeset in Klonkt [e6c6e6f]main by Robin <roboburr@…>
Feature: uploadMedia endpoint + attachments on direct notes The actor …
22:08 Changeset in Klonkt [024f4f8]main by Robin <roboburr@…>
Feature: direct notes are private mentions, not posts (shaer-tqc) A …
21:38 Changeset in Klonkt [81b2e1e]main by Robin <roboburr@…>
Feature: C2S posts honor to/cc visibility (shaer-60b wire) A note …
20:19 Changeset in Klonkt [0cea12b]main by Robin <roboburr@…>
Feature: owner inbox read over C2S (GET, bearer-gated) GET …
18:50 Changeset in Klonkt [513ba82]main by Robin <roboburr@…>
Copy (NL): interacteer instead of interageer Robins voorkeur: …
07:35 Changeset in Klonkt [9209cfa]main by Robin <roboburr@…>
Docs: changelog for Load more + fediverse interact button …
07:35 Changeset in Klonkt [22d2f5a8]main by Robin <roboburr@…>
Feature: "Interact via the fediverse" next to the Share button A …
07:35 Changeset in Klonkt [520e477]main by Robin <roboburr@…>
Feature: Load more on Solo + Cirkel, page 72 (klonkt-demo-r9u, slice …
07:35 Changeset in Klonkt [1485933]main by Robin <roboburr@…>
Feature: Load more on Messages, page 72 (klonkt-demo-r9u, slice 2/4) …
07:35 Changeset in Klonkt [7b04d3b]main by Robin <roboburr@…>
Feature: Load more on News feed, page 72 (klonkt-demo-r9u, slice 1/4) …
06:35 Changeset in Klonkt [162c7a7]main by Robin <roboburr@…>
Docs: FEDERATION.md per FEP-67ff Documents Klonkt federation surface …

07/19/2026:

23:58 Changeset in Klonkt [544e9c2]main by Robin <roboburr@…>
Feature: Messages "poll finished" notification (klonkt-demo-93o) …
23:43 Changeset in Klonkt [8ed65a6]main by Robin <roboburr@…>
Feature: Messages filters regrouped + search (klonkt-demo-3jf) The …
23:36 Changeset in Klonkt [ff3b8ce]main by Robin <roboburr@…>
Polish: reply editor styled as a sibling of the post editor …
22:48 Changeset in Klonkt [e9c9ae1]main by Robin <roboburr@…>
Feature: mentions bar with conversation partners (klonkt-demo-u02) …
17:38 Changeset in Klonkt [5190152]main by Robin <roboburr@…>
Feature: rich editor on the edit forms too (klonkt-demo-c7f, last …
17:25 Changeset in Klonkt [feced2c]main by Robin <roboburr@…>
Feature: media in replies — rich replies phase 2 (klonkt-demo-c7f) …
17:08 Changeset in Klonkt [33e1dbd]main by Robin <roboburr@…>
Feature: rich replies phase 1 — shared editor, mobile full-screen, …
16:17 Changeset in Klonkt [2d66d66]main by Robin <roboburr@…>
Feature: revoke connected OAuth apps from the account page You issue …
15:53 Changeset in Klonkt [4407c67]main by Robin <roboburr@…>
Feature: C2S owner can read own followers/following (klonkt-demo-6kc) …
04:04 Changeset in Klonkt [bf72108]main by Robin <roboburr@…>
Fix: OAuth consent hands off to native apps via an interstitial After …
03:15 Changeset in Klonkt [dd568e7]main by Robin <roboburr@…>
Feature: OAuth C2S outbox POST — apps can drive the account (phase 1 …
02:52 Changeset in Klonkt [d49b60b]main by Robin <roboburr@…>
Feature: OAuth 2.0 for ActivityPub C2S (phase 1 — auth handshake) …

07/18/2026:

22:31 Changeset in Klonkt [c867b7b]main by Robin <roboburr@…>
Fix: visitors can reply to the site owner's own comments The visitor …
06:52 Changeset in Klonkt [05cd954]main by Robin <roboburr@…>
chore(release): 1.5.0 Co-Authored-By: Claude Opus 4.8 …
00:53 Changeset in Klonkt [f1a23b8]main by Robin <roboburr@…>
Feature: Messages merges Replies + Notifications into one inbox …

07/17/2026:

02:27 Changeset in Klonkt [7d19465]main by Robin <roboburr@…>
Fix: boosted video-only posts keep their media in the Circle (Loops) …
01:11 Changeset in Klonkt [92a2c46]main by Robin <roboburr@…>
Fix: three UI nits (interact page title i18n, Apple icon, stats …
00:38 Changeset in Klonkt [67c1f24]main by Robin <roboburr@…>
Feature: owner moderation of incoming replies (remove + tombstone + …
00:20 Changeset in Klonkt [3778ddb]main by Robin <roboburr@…>
Fix: private replies (followers-only/DM) no longer render on the …

07/16/2026:

20:29 Changeset in Klonkt [9dbb175]main by Robin <roboburr@…>
Fix: bare video/audio embeds no longer overflow their column The …
20:09 Changeset in Klonkt [010e073]main by Robin <roboburr@…>
chore: open 1.5.0 dev cycle (version 1.5.0-dev) + changelog for …
20:02 Changeset in Klonkt [b109a29]main by Robin <roboburr@…>
Feature: Connect page merges following + followers into one view …
12:20 Changeset in Klonkt [87d2787]main by Robin <roboburr@…>
Release 1.4.0: media players, on-site links, followers list + fixes …
12:20 Changeset in Klonkt [1cc8c85]main by Robin <roboburr@…>
Spoor A step 3b: buildNote is the single Note entry point …
12:20 Changeset in Klonkt [476d6e7]main by Robin <roboburr@…>
Spoor A step 3a: extract nsfw-veil partial (7 copies → 1) The NSFW …
12:20 Changeset in Klonkt [af21002]main by Robin <roboburr@…>
Spoor A step 2: resolve @mentions into the baked content at save …
12:20 Changeset in Klonkt [2d6a9c3]main by Robin <roboburr@…>
Spoor A step 1: bake post display HTML at save (ActivityPub source …
12:20 Changeset in Klonkt [8878814]main by Robin <roboburr@…>
Feature: followers list with delivery health for cleanup Adds a …
12:20 Changeset in Klonkt [72f936a]main by Robin <roboburr@…>
Fix: update check tracks the branch a checkout is on, not always main …
12:20 Changeset in Klonkt [df9da7d]main by Robin <roboburr@…>
Fix: PWA no longer shows stale homepage on flaky cold start The …
12:20 Changeset in Klonkt [4424af7]main by Robin <roboburr@…>
Fix: linkify #hashtags and bare URLs in post bodies for on-site …
12:20 Changeset in Klonkt [ae05747]main by Robin <roboburr@…>
Fix: federate replies, comment-deletes and reply-edits durably …
12:20 Changeset in Klonkt [226b563]main by Robin <roboburr@…>
Fix: Solo view renders video-only covers with mp4 thumbnail poster …
12:20 Changeset in Klonkt [e276d03]main by Robin <roboburr@…>
Fix: remote video thumbnails for moov-at-end files (Loops.video) The …
12:20 Changeset in Klonkt [a85f539]main by Robin <roboburr@…>
Fix: bare .webm/.mp4/.mp3 URLs render a native player autoembed() and …

07/04/2026:

17:48 Changeset in Klonkt [8e7f0ec]main by roboburr <roboburr@…>
chore(release): 1.3.5 Patch release: polls keep their cover art when …
17:47 Changeset in Klonkt [da71f9d]main by roboburr <roboburr@…>
fix(updates): Android "Latest" reads the installable bundle version …
17:44 Changeset in Klonkt [0a93c15]main by roboburr <roboburr@…>
fix(ap): a poll keeps its cover art when federated The real reason …
17:34 Changeset in Klonkt [6ec0433]main by roboburr <roboburr@…>
chore(release): 1.3.4 Patch release: self-heal retries until a clean …
17:31 Changeset in Klonkt [14f54a7]main by roboburr <roboburr@…>
fix(ap): self-heal retries until a clean pass; feed re-boost also …
17:26 Changeset in Klonkt [6dd1a3f]main by roboburr <roboburr@…>
fix(ap): upsertBoostedNote refreshes an already-cached row Root cause …
17:19 Changeset in Klonkt [236e11b]main by roboburr <roboburr@…>
fix(ap): self-heal v6 - retroactively restore covers on cached boosts …
17:08 Changeset in Klonkt [b7e382f]main by roboburr <roboburr@…>
chore(release): 1.3.3 Patch release: boosted music posts keep their …
17:05 Changeset in Klonkt [006a3be]main by roboburr <roboburr@…>
fix(ap): boosted post keeps its cover when you don't follow the author …

07/03/2026:

22:41 Changeset in Klonkt [8b5c076]main by roboburr <roboburr@…>
chore(release): 1.3.2 Patch release: the Updates page works in the …

07/02/2026:

15:07 Changeset in Klonkt [422b20d]main by roboburr <roboburr@…>
fix(updates): in-app updates on the Android app (third topology) The …
13:49 Changeset in Klonkt [7d61ab8]main by roboburr <roboburr@…>
chore(release): 1.3.1 Patch release: background audio playback fix …
13:40 Changeset in Klonkt [d039264]main by roboburr <roboburr@…>
chore: tracker housekeeping Co-Authored-By: Claude <noreply@…>
13:21 Changeset in Klonkt [421046c]main by roboburr <roboburr@…>
fix(audio): gapless MSE playback - background auto-advance survives on …

07/01/2026:

22:40 Changeset in Klonkt [a369029]main1.3.0 by roboburr <roboburr@…>
chore(release): 1.3.0 Feature release: host + vote on fediverse polls …
22:38 Changeset in Klonkt [0877771]main by roboburr <roboburr@…>
chore: tracker housekeeping Co-Authored-By: Claude <noreply@…>
22:38 Changeset in Klonkt [e67828e]main by roboburr <roboburr@…>
fix(media): poster frames for remote videos (News feed + Circle tiles) …
22:28 Changeset in Klonkt [5e52448]main by roboburr <roboburr@…>
chore: tracker housekeeping Co-Authored-By: Claude <noreply@…>
22:28 Changeset in Klonkt [3b4095f]main by roboburr <roboburr@…>
feat(seo): og:image light/dark override setting The auto-generated …
22:22 Changeset in Klonkt [7f265ce]main by roboburr <roboburr@…>
chore: tracker housekeeping Co-Authored-By: Claude <noreply@…>
22:20 Changeset in Klonkt [e499b71]main by roboburr <roboburr@…>
chore: drop stray beads temp file + ignore .beads/.~* Co-Authored-By: …
22:20 Changeset in Klonkt [fc229f5]main by roboburr <roboburr@…>
fix(fediverse): bracketed mentions/hashtags/URLs link and notify The …
22:15 Changeset in Klonkt [2abd3d2]main by roboburr <roboburr@…>
chore: tracker housekeeping Co-Authored-By: Claude <noreply@…>
22:13 Changeset in Klonkt [fe97cc3]main by roboburr <roboburr@…>
feat(fediverse): notification when mentioned in a non-reply post An …
22:07 Changeset in Klonkt [254939c]main by roboburr <roboburr@…>
chore: tracker housekeeping Co-Authored-By: Claude <noreply@…>
22:06 Changeset in Klonkt [e00c0e9]main by roboburr <roboburr@…>
fix(fediverse): auto-link bare URLs in outgoing posts and replies A …
22:03 Changeset in Klonkt [d11e308]main by roboburr <roboburr@…>
chore: tracker housekeeping Co-Authored-By: Claude <noreply@…>
21:52 Changeset in Klonkt [5a27ba4]main by roboburr <roboburr@…>
copy(editor): shorter one-way audio warning Trim …
21:49 Changeset in Klonkt [c06816e]main by roboburr <roboburr@…>
feat(audio): sharing openly on the fediverse is one-way + lock the …
21:31 Changeset in Klonkt [8cf8b5f]main by roboburr <roboburr@…>
feat(fediverse): cover art on federated Audio attachments (AS2 icon) …
19:31 Changeset in Klonkt [badbba8]main by roboburr <roboburr@…>
copy(fedi): simpler report-target wording (instance + moderator(s)) …
19:28 Changeset in Klonkt [9e1b1bb]main by roboburr <roboburr@…>
fix(fediverse): use verified actor doc in inbound Flag (resolveActor …
19:26 Changeset in Klonkt [737ea05]main by roboburr <roboburr@…>
feat(fediverse): receive reports (inbound Flag) → owner's …
19:14 Changeset in Klonkt [1c2dcba]main by roboburr <roboburr@…>
feat(fediverse): report a post/account to its home server (AS2 Flag) …
19:06 Changeset in Klonkt [0688b5f]main by roboburr <roboburr@…>
feat(fediverse): post language → AS2 contentMap A post can now carry …
18:55 Changeset in Klonkt [d18c60e]main by roboburr <roboburr@…>
feat(fediverse): alt text for images (accessibility → AS2 attachment …
18:38 Changeset in Klonkt [43273c9]main by roboburr <roboburr@…>
refactor(fediverse): thread crawl one level per pass, like Mastodon …
18:23 Changeset in Klonkt [dc41bef]main by roboburr <roboburr@…>
feat(fediverse): fetch remote reply threads (cached, …
18:18 Changeset in Klonkt [7b07035]main by roboburr <roboburr@…>
chore(db): add busy_timeout + synchronous=NORMAL for concurrent …
13:56 Changeset in Klonkt [f1956d7]main by roboburr <roboburr@…>
feat(fediverse): inline @mentions in posts (link + notify) Typing …
13:39 Changeset in Klonkt [c45c187]main by roboburr <roboburr@…>
feat(polls): show voter count + open/closed status on the interact …
13:32 Changeset in Klonkt [667fb41]main by roboburr <roboburr@…>
feat(polls): vote on any fediverse poll from the interact page The …
13:18 Changeset in Klonkt [bb3f67c]main by roboburr <roboburr@…>
feat(polls): removable options + tidier editor layout Each poll …
12:53 Changeset in Klonkt [0403187]main by roboburr <roboburr@…>
feat(fediverse): host your own polls (federate as AS2 Question) A …
07:48 Changeset in Klonkt [731e431]main by Robin Genis <roboburr@…>
fix(fediverse): backfillFromOutbox also ingests polls (Question) with …
07:43 Changeset in Klonkt [55a73f0]main by Robin Genis <roboburr@…>
docs(changelog): vote on fediverse polls (EN/NL/DE) + track polls …
07:38 Changeset in Klonkt [6053c6c]main by Robin Genis <roboburr@…>
feat(fediverse): show + vote on remote polls (Question) in the News …
06:08 Changeset in Klonkt [f70e010]main by Robin Genis <roboburr@…>
fix(thumbnails): skip ffmpeg for animated remote WebP/GIF (serve …
01:27 Changeset in Klonkt [1bc0886]main by Robin Genis <roboburr@…>
docs(changelog): Unreleased — short feed videos autoplay + loop …
01:25 Changeset in Klonkt [fe680aa]main by Robin Genis <roboburr@…>
feat(news): short feed videos (gif/cover loops) autoplay + loop muted …
01:16 Changeset in Klonkt [131e266]main1.2.0 by Robin Genis <roboburr@…>
release: 1.2.0 — PeerTube embeds, light OG cards, stats IP-exclude, …
01:04 Changeset in Klonkt [cf314b4]main by Robin Genis <roboburr@…>
chore: close lqx + 4lq (fediverse sig-hardening + block completeness) …
01:03 Changeset in Klonkt [c55fb34]main by Robin Genis <roboburr@…>
fix(federation): HTTP-sig replay window + mandatory digest (lqx); …
00:57 Changeset in Klonkt [f0807cc]main by Robin Genis <roboburr@…>
chore: close 4fk (per-site pin-resync serialization) Co-Authored-By: …
00:57 Changeset in Klonkt [cfe1824]main by Robin Genis <roboburr@…>
fix(federation): serialize featured-pin resync per site (4fk) …
00:45 Changeset in Klonkt [e1c4f3e]main by Robin Genis <roboburr@…>
chore: close byh (Follow retry-queue delivery) Co-Authored-By: Claude …
00:45 Changeset in Klonkt [1b1cc89]main by Robin Genis <roboburr@…>
fix(federation): deliver Follow via the retry queue (byh) …
00:40 Changeset in Klonkt [0f2d441]main by Robin Genis <roboburr@…>
chore: close ymj (Update(Note) handler already shipped in bea59a1) …
00:34 Changeset in Klonkt [4e9782c]main by Robin Genis <roboburr@…>
chore: track discovery-hub feature (prutfolio-src-7cz) …
00:00 Changeset in Klonkt [2f50c53]main by Robin Genis <roboburr@…>
fix(cirkel): strip 'RE: <url>' quote prefix from boost card titles A …

06/30/2026:

23:54 Changeset in Klonkt [366c13c]main by Robin Genis <roboburr@…>
feat(media): suppress right-click menu on covers/images/videos …
23:51 Changeset in Klonkt [b31c119]main by Robin Genis <roboburr@…>
fix(cirkel): cover videos are decorative — no <video> right-click …
23:46 Changeset in Klonkt [2a58d76]main by Robin Genis <roboburr@…>
fix(cirkel): video covers were blank in the grid view The cover …
23:38 Changeset in Klonkt [38120c7]main by roboburr <roboburr@…>
fix(feed): video covers fill the square thumbnail (object-fit:cover), …
23:14 Changeset in Klonkt [86fa2d2]main by roboburr <roboburr@…>
fix(feed): video covers keep their aspect ratio (contain + centered) …
23:06 Changeset in Klonkt [5f3f9ec]main by roboburr <roboburr@…>
fix(cirkel): render a federated video cover as <video>, not a broken …
22:32 Changeset in Klonkt [e091add]main by roboburr <roboburr@…>
feat(feed): embed PeerTube videos in the News feed A federated …
22:28 Changeset in Klonkt [f3663e5]main by roboburr <roboburr@…>
docs: add THIRD-PARTY-NOTICES.md + README acknowledgements Credit the …
22:17 Changeset in Klonkt [d9c5eb8]main by roboburr <roboburr@…>
feat(og): light OG card when the site's default theme is Light …
22:11 Changeset in Klonkt [e3a5aed]main by roboburr <roboburr@…>
feat(stats): let the admin exclude their own IP from statistics …
20:57 Changeset in Klonkt [65a0697]main by roboburr <roboburr@…>
fix(video-cover): size the swapped <video> like the cover <img> (post …
19:50 Changeset in Klonkt [f2943c1]main by roboburr <roboburr@…>
refactor(video-cover, media): stream frames + size cap, drop unused …
19:08 Changeset in Klonkt [01e3678]main by roboburr <roboburr@…>
docs(changelog): translate the 1.1.0 section to nl + de (and label the …
19:04 Changeset in Klonkt [b1edba0]main1.1.0 by roboburr <roboburr@…>
release: 1.1.0 — animated video covers, media library, music …
18:57 Changeset in Klonkt [0fc5db5]main by roboburr <roboburr@…>
chore(federation): bump SELFHEAL_VERSION to 5 (heal embed-post covers …
18:55 Changeset in Klonkt [f7ed139]main by roboburr <roboburr@…>
fix(federation): keep the cover for Klonkt feeds on embed posts …
18:50 Changeset in Klonkt [2ab99c0]main by roboburr <roboburr@…>
feat(media): shared Media tab bar across Images / Audio / Playlists A …
18:46 Changeset in Klonkt [f24b795]main by roboburr <roboburr@…>
feat(media): Beheer -> Media — image library with usage + cleanup of …
18:22 Changeset in Klonkt [a95dbfd]main by roboburr <roboburr@…>
fix(track-picker): allow inserting link-only tracks (Spotify/YouTube, …
18:11 Changeset in Klonkt [adb6291]main by roboburr <roboburr@…>
feat(video-cover): render iOS video covers across grid, list, related …
18:02 Changeset in Klonkt [1c33804]main by roboburr <roboburr@…>
fix(video-cover): double the ANMF frame offset (node-webpmux quirk) …
17:56 Changeset in Klonkt [7ecbefc]main by roboburr <roboburr@…>
fix(video-cover): composite partial animated-WebP frames (fixes …
17:43 Changeset in Klonkt [857a06f]main by roboburr <roboburr@…>
feat(video-cover): federate an animated cover as a Video attachment …
17:32 Changeset in Klonkt [b5a09ce2]main by roboburr <roboburr@…>
feat(video-cover): frontend — render animated covers as iOS video, …
17:29 Changeset in Klonkt [1d6f9a2]main by roboburr <roboburr@…>
feat(video-cover): backend — convert animated WebP covers to a muted …
17:23 Changeset in Klonkt [ecbfa41]main by roboburr <roboburr@…>
feat(video-cover): add VideoCoverService + node-webpmux (animated WebP …
16:31 Changeset in Klonkt [28f797d]main by roboburr <roboburr@…>
feat(post): share button at the bottom of posts A "Share/Deel" button …
15:26 Changeset in Klonkt [28bf7f0]main by roboburr <roboburr@…>
fix(editor): animated WebP covers skip the crop editor (were flattened …
15:16 Changeset in Klonkt [4d1aefb]main by roboburr <roboburr@…>
fix(thumbnails): serve animated WebP/GIF covers as-is (they were …
15:06 Changeset in Klonkt [98a1990]main by roboburr <roboburr@…>
feat(admin-audio): replace an existing track's audio file + Playlists …
15:00 Changeset in Klonkt [d4d8f9d]main by roboburr <roboburr@…>
feat(admin-audio): sort the track list newest-first The /admin/audio …
14:50 Changeset in Klonkt [1a0b007]main by roboburr <roboburr@…>
feat(federation): link-only tracks federate their external links …
14:37 Changeset in Klonkt [443f982]main by roboburr <roboburr@…>
feat(federation): let Mastodon card external embeds — drop image …
14:24 Changeset in Klonkt [28b59e7]main by roboburr <roboburr@…>
fix(federation): don't federate inline images we can't serve (stale …
13:58 Changeset in Klonkt [292734a]main by roboburr <roboburr@…>
refactor(federation): specific AS2 media types (Image/Audio) for …
13:47 Changeset in Klonkt [2306abd]main by roboburr <roboburr@…>
fix(news): don't render raw Audio attachments when a Klonkt embed …
13:42 Changeset in Klonkt [5924bbf]main by roboburr <roboburr@…>
fix(federation): self-heal also refreshes ap_timeline.url (heals dead …
13:38 Changeset in Klonkt [d8e3ff7]main by roboburr <roboburr@…>
Revert "feat(circle): filter the Circle feed by member (clickable …
13:38 Changeset in Klonkt [8b700ad]main by roboburr <roboburr@…>
fix(federation): refresh ap_timeline.url on inbound Update (remote …
13:31 Changeset in Klonkt [462a931]main by roboburr <roboburr@…>
feat(circle): filter the Circle feed by member (clickable chips + …
13:24 Changeset in Klonkt [d5aa7c8]main by roboburr <roboburr@…>
fix(federation): clear ap_my_reactions when a boosted/liked remote …
13:01 Changeset in Klonkt [61514f2]main by roboburr <roboburr@…>
fix(seo): make og:image / twitter:image / JSON-LD image absolute A …
05:59 Changeset in Klonkt [4d63c36]main by roboburr <roboburr@…>
chore(federation): bump SELFHEAL_VERSION 2->3 for a one-time timeline …
05:57 Changeset in Klonkt [bea59a1]main by roboburr <roboburr@…>
feat(federation): keep the Cirkel in sync the AP way — inbound Update …
04:19 Changeset in Klonkt [69b509d]main by roboburr <roboburr@…>
fix(i18n): localize the "Beheer" back-buttons + EPK save message (were …
03:37 Changeset in Klonkt [757eea0]main by roboburr <roboburr@…>
chore(audio): drop the per-track fediverse toggle from Beheer -> Audio …
02:58 Changeset in Klonkt [432831c]main by roboburr <roboburr@…>
test(federation): AS2/JSON-LD validity guard — every emitted term must …
02:38 Changeset in Klonkt [d3b9f68]main by roboburr <roboburr@…>
feat(federation): full JSON-LD @context on all AP objects (valid AS2) …
02:27 Changeset in Klonkt [e0a1ec1]main by roboburr <roboburr@…>
feat(editor): per-post "share audio on the fediverse" toggle Adds a …
02:10 Changeset in Klonkt [084d1c0]main by roboburr <roboburr@…>
fix(admin-audio): fediverse-share toggle is now AJAX (no page jump) …
01:50 Changeset in Klonkt [f2eacca]main by roboburr <roboburr@…>
feat(music): per-track "share on the fediverse" — federate the file as …
01:23 Changeset in Klonkt [80797d7]main by roboburr <roboburr@…>
feat(federation): add schema.org/PeerTube embedUrl to playable-audio …
00:23 Changeset in Klonkt [e954722]main by roboburr <roboburr@…>
fix(i18n): localize the mobile profile-sheet menu labels The mobile …

06/29/2026:

23:58 Changeset in Klonkt [f882048]main by roboburr <roboburr@…>
fix(install): a re-run keeps the install's existing channel (no silent …
23:48 Changeset in Klonkt [aedc00d]main by roboburr <roboburr@…>
fix(install): checkout -f -B <branch> FETCH_HEAD to avoid a divergent …
23:38 Changeset in Klonkt [1273101]main by roboburr <roboburr@…>
fix(install): reset to FETCH_HEAD so updates work across …
23:27 Changeset in Klonkt [09a2061]main by roboburr <roboburr@…>
fix(install): klonkt-update no longer restarts (or claims "updated") …
23:24 Changeset in Klonkt [328d837]main by roboburr <roboburr@…>
feat(music): schema.org MusicRecording/MusicAlbum structured data on …
23:12 Changeset in Klonkt [93b147d]main by roboburr <roboburr@…>
fix(feed): serve full-resolution covers on mobile (responsive srcset) …
23:01 Changeset in Klonkt [b607d4d]main by roboburr <roboburr@…>
fix(circle): wrap long titles/URLs in no-cover grid tiles instead of …
22:50 Changeset in Klonkt [054b603]main1.0.0 by roboburr <roboburr@…>
release: 1.0.0 — first stable release Cut the accumulated …
22:36 Changeset in Klonkt [3f9f71d]main by roboburr <roboburr@…>
feat(circle): "+N" members modal when a circle has more than 5 sites …
22:19 Changeset in Klonkt [f2796d3]main by roboburr <roboburr@…>
fix(federation): AP conformance round — actor enrichment, following …
21:59 Changeset in Klonkt [fb6819d]main by roboburr <roboburr@…>
fix(federation): make boosts spec-addressable + durable so receivers …
20:51 Changeset in Klonkt [7475ff3]main by roboburr <roboburr@…>
style: drop the 0.4px blur on cover thumbnails - …

06/28/2026:

22:42 Changeset in Klonkt [0343a7a]main by Robin Genis <roboburr@…>
feat(release): self-host updates track a verified 'stable' branch …
22:38 Changeset in Klonkt [318e1ce]main by Robin Genis <roboburr@…>
fix(i18n): translate the premium-gate 403 messages (newsletter/agenda) …
22:27 Changeset in Klonkt [8308c9ca]main by Robin Genis <roboburr@…>
fix(images): full-width timeline media at 1280px (was 640, blurry on …
22:23 Changeset in Klonkt [48027f2]main by Robin Genis <roboburr@…>
fix(og): stop double-escaping OG/meta content + keep apostrophes …
22:13 Changeset in Klonkt [3487567]main by Robin Genis <roboburr@…>
fix(i18n): translate admin page titles (pageTitleKey instead of …
22:08 Changeset in Klonkt [abc8959]main by Robin Genis <roboburr@…>
fix(images): profile-header avatar 256px (2x of the 120px display, not 320)
21:20 Changeset in Klonkt [5bc67b4]main by Robin Genis <roboburr@…>
fix(images): 96px feed/comment/follow avatars (2x of the 44px display) …
17:40 Changeset in Klonkt [492fc20]main by Robin Genis <roboburr@…>
fix(images): 256px size for list/cirkel covers (match the crisp grid ratio)
17:38 Changeset in Klonkt [041a0df]main by Robin Genis <roboburr@…>
fix(images): downscale remote (federated) covers + feed media via the …
17:33 Changeset in Klonkt [3038fc9]main by Robin Genis <roboburr@…>
fix(images): list-cover placeholder in style.css (inline cascade …
17:29 Changeset in Klonkt [600fbf3]main by Robin Genis <roboburr@…>
feat(images): accent-gradient placeholder also for timeline feed media …
17:25 Changeset in Klonkt [a64d705]main by Robin Genis <roboburr@…>
feat(images): accent-gradient placeholder while covers load + fade-in …
17:15 Changeset in Klonkt [201ec06]main by Robin Genis <roboburr@…>
fix(images): cap concurrent ffmpeg (thumbnails) to avoid CPU …
16:57 Changeset in Klonkt [99989f9]main by Robin Genis <roboburr@…>
feat(images): route all remaining avatars through avatar() …
16:46 Changeset in Klonkt [74c5abc]main by Robin Genis <roboburr@…>
feat(images): downscale remote (fediverse) avatars via a signed proxy …
16:32 Changeset in Klonkt [f79a471]main by Robin Genis <roboburr@…>
feat(images): on-demand lanczos cover thumbnails for crisp grid/list …
16:12 Changeset in Klonkt [1ff0043]main by Robin Genis <roboburr@…>
fix(seo): canonical falls back to PUBLIC_BASE_URL + English …
15:49 Changeset in Klonkt [897c33b]main by Robin Genis <roboburr@…>
docs(readme): document the HSTS_STRICT env var
15:44 Changeset in Klonkt [81bb9c5]main by Robin Genis <roboburr@…>
chore(hsts): make includeSubDomains+preload opt-in via HSTS_STRICT …
15:36 Changeset in Klonkt [f7d142f]main by Robin Genis <roboburr@…>
chore(csp): drop the last script unsafe-inline + add …
15:06 Changeset in Klonkt [127f87e]main by Robin Genis <roboburr@…>
docs(changelog): note read-more + multi-language hashtags under Unreleased
14:40 Changeset in Klonkt [f1627b6]main by Robin Genis <roboburr@…>
feat(news): collapse long post bodies with a 'read more' toggle Long …
14:15 Changeset in Klonkt [fe9164f]main by Robin Genis <roboburr@…>
chore(csp): default-src 'none' (deny by default) + explicit …
14:11 Changeset in Klonkt [a8b4f10]main by Robin Genis <roboburr@…>
chore(headers): Referrer-Policy -> strict-origin-when-cross-origin
14:06 Changeset in Klonkt [be5d86c]main by Robin Genis <roboburr@…>
feat(i18n): Unicode-aware hashtags + mentions (all scripts, not just …
13:55 Changeset in Klonkt [73abbfd]main by Robin Genis <roboburr@…>
experiment(csp): strict script-src (nonce + strict-dynamic) — BETA …
13:34 Changeset in Klonkt [9910ba1]main by Robin Genis <roboburr@…>
fix(fedi): verify HTTP signatures behind a Host-rewriting proxy …
13:15 Changeset in Klonkt [cca2e89]main by Robin Genis <roboburr@…>
feat(identity): one image — the site photo is the only avatar input …
12:22 Changeset in Klonkt [931b4cb]main by Robin Genis <roboburr@…>
fix(proxy): tolerate leading double-slash paths (Apache [P] proxy) A …
12:17 Changeset in Klonkt [0a58300]main by Robin Genis <roboburr@…>
docs(changelog): note the federation-off-404 fix + fedi nav gating
12:11 Changeset in Klonkt [a995698]main by Robin Genis <roboburr@…>
fix(ui): hide Fediverse + Notifications nav when AP/federation is off …
12:03 Changeset in Klonkt [89cc8c4]main by Robin Genis <roboburr@…>
fix(fedi): turning AP off no longer 404s the whole site The AP router …
11:48 Changeset in Klonkt [5b1115b]main by Robin Genis <roboburr@…>
fix(csrf): accept PUBLIC_BASE_URL host + X-Forwarded-Host in …
11:34 Changeset in Klonkt [4fdbbe6]main by Robin Genis <roboburr@…>
chore(branding): drop the 'Beta' label — now just 'Klonkt' (on …
11:30 Changeset in Klonkt [f1ee40e]main by Robin Genis <roboburr@…>
chore(server): startup log shows PUBLIC_BASE_URL when set (was …
11:20 Changeset in Klonkt [2f919c0]main by Robin Genis <roboburr@…>
fix(grid): restore pinned/boosted accent ring over the new cover <img> …
11:16 Changeset in Klonkt [69a10e7]main by Robin Genis <roboburr@…>
style(covers): subtle 0.4px blur on grid + timeline covers to smooth …
11:05 Changeset in Klonkt [2eca083]main by Robin Genis <roboburr@…>
fix(images): render grid + related covers as <img> (no jagged …
10:47 Changeset in Klonkt [73cffc3]main by Robin Genis <roboburr@…>
feat(player): remember volume + mute across sessions (localStorage) …
10:39 Changeset in Klonkt [515cf1a]main by Robin Genis <roboburr@…>
fix(nsfw): warn on cover-less NSFW posts everywhere (related, list, …
10:33 Changeset in Klonkt [0596945]main by Robin Genis <roboburr@…>
fix(related): blur NSFW covers in the Related Posts section The …
10:25 Changeset in Klonkt [c6cdce6]main by Robin Genis <roboburr@…>
feat(news): show boosts from followed accounts in the News feed An …
10:12 Changeset in Klonkt [37a297d]main by Robin Genis <roboburr@…>
feat(news): quick 'interact with a fediverse post' button (paste a …
10:07 Changeset in Klonkt [2e62848]main by Robin Genis <roboburr@…>
fix(fedi): post tags federate as visible hashtags (+ CamelCase for …
09:59 Changeset in Klonkt [907a013]main by Robin Genis <roboburr@…>
fix(news): blur NSFW media in the News feed - views/pages/news.ejs — …

06/27/2026:

21:53 Changeset in Klonkt [d2b7247]main by Robin Genis <roboburr@…>
chore(branding): stale product names in comments + deploy templates -> …
21:46 Changeset in Klonkt [abdcf33]main by Robin Genis <roboburr@…>
chore(cleanup): remove the dead comments_moderation_mode column + …
15:04 Changeset in Klonkt [3746f6a]main by Robin Genis <roboburr@…>
chore: drop the last dead Google CSS (.auth-google / .btn-google) from …
15:01 Changeset in Klonkt [5f483e3]main by Robin Genis <roboburr@…>
chore: code cleanup — remove dead files, deps, DB tables, Google-login …
14:18 Changeset in Klonkt [98fe58a]main by Robin Genis <roboburr@…>
docs(changelog): rewrite — accurate, user-facing, no contradictions - …
13:58 Changeset in Klonkt [eb5f978]main by Robin Genis <roboburr@…>
feat(changelog): i18n the public changelog (English base + nl/de) - …
13:48 Changeset in Klonkt [0960c1d]main by Robin Genis <roboburr@…>
fix(fedi): tidy the Follow-via-fediverse modal - …
13:44 Changeset in Klonkt [923235e]main by Robin Genis <roboburr@…>
feat(setup): note the username is permanent + becomes your fediverse …
13:39 Changeset in Klonkt [8d054ca]main by Robin Genis <roboburr@…>
fix(ui): reply textareas no longer open huge (auto-resize skips hidden …
13:24 Changeset in Klonkt [8951629]main by Robin Genis <roboburr@…>
docs: translate CI/Docker comments to English - …
13:16 Changeset in Klonkt [fcc9f25]main by Robin Genis <roboburr@…>
docs: translate the Build & Test section of CLAUDE.md to English - …
13:12 Changeset in Klonkt [6ea5f92]main by Robin Genis <roboburr@…>
docs(fonts): add SIL OFL 1.1 license for the bundled fonts - …
13:07 Changeset in Klonkt [196e1be]main by Robin Genis <roboburr@…>
docs(lite): clarify Lite mode is reversible (env flag + restart, no …
13:03 Changeset in Klonkt [a78e051]main by Robin Genis <roboburr@…>
fix(ui): avatar placeholder opens popup + smaller wrapping source …
12:42 Changeset in Klonkt [0a7ba90]main by Robin Genis <roboburr@…>
fix(theme): a site renders in its own palette, not the logged-in …
12:28 Changeset in Klonkt [204bd74]main by Robin Genis <roboburr@…>
fix(fedi): mention link href = profile URL, actor URI in the Mention …
12:22 Changeset in Klonkt [04c70fc]main by Robin Genis <roboburr@…>
style(fedi): neater Edit button — pill in the foot row (left), like …
12:15 Changeset in Klonkt [dd7daef]main by Robin Genis <roboburr@…>
feat(fedi): inline @mentions in replies federate (resolve + link + …
12:04 Changeset in Klonkt [bddbfe0]main by Robin Genis <roboburr@…>
feat(fedi): edit your own outbound replies (Update(Note)) - …
11:56 Changeset in Klonkt [7cea873]main by Robin Genis <roboburr@…>
fix(fedi): link inline #hashtags in post bodies too (federate as …
11:52 Changeset in Klonkt [6bc2ca7e]main by Robin Genis <roboburr@…>
fix(fedi): hashtags in replies federate as Hashtag tags + clickable …
10:56 Changeset in Klonkt [30f843c]main by Robin Genis <roboburr@…>
style(stats): tidier "what do these numbers mean" panel - …
10:52 Changeset in Klonkt [67aea12]main by Robin Genis <roboburr@…>
docs: remove the obsolete Circles v1 spec (Ed25519 pull → replaced by …
10:50 Changeset in Klonkt [ce16d8a]main by Robin Genis <roboburr@…>
docs(readme): Circles is ActivityPub now, not the old Ed25519 protocol …
10:45 Changeset in Klonkt [f1ce47a]main by Robin Genis <roboburr@…>
fix(profile): replace native prompt() with a styled follow modal - …
10:33 Changeset in Klonkt [7eddb3b]main by Robin Genis <roboburr@…>
feat(profile): fediverse-follow button in the avatar summary modal - …
10:27 Changeset in Klonkt [c6bd87e]main by Robin Genis <roboburr@…>
fix(fedi): resolve PeerTube videos (array attributedTo) as a reply …
10:06 Changeset in Klonkt [f3551ec]main by Robin Genis <roboburr@…>
fix(post-edit): typing a content-warning auto-ticks the NSFW checkbox …
09:37 Changeset in Klonkt [07de464]main by Robin Genis <roboburr@…>
fix(csp): global frame-src (https:) for embeds, locked to 'self' on …
09:30 Changeset in Klonkt [5421ce1]main by Robin Genis <roboburr@…>
fix(csp): per-domain frame-src for cross-site embeds on the document …
09:14 Changeset in Klonkt [ca0ad44]main by Robin Genis <roboburr@…>
feat(news): surface embedUrl + a direct "open the player" link - …
09:02 Changeset in Klonkt [a3e0746]main by Robin Genis <roboburr@…>
fix(sw): do not intercept cross-origin iframe navigations (PWA embeds) …
08:30 Changeset in Klonkt [cb95343]main by Robin Genis <roboburr@…>
fix(embeds): plain responsive iframe on mobile/touch The custom …
08:17 Changeset in Klonkt [9e4e4ff]main by Robin Genis <roboburr@…>
feat(ap): self-heal also re-syncs NSFW/sensitive + CW onto cached …
08:13 Changeset in Klonkt [c21197a]main by Robin Genis <roboburr@…>
style(settings): tidier 18+ notice — subtle callout box instead of a …
08:10 Changeset in Klonkt [b7d4458]main by Robin Genis <roboburr@…>
feat(nsfw): custom content-warning text + blur in the Cirkel - …
08:00 Changeset in Klonkt [92f6976]main by Robin Genis <roboburr@…>
feat(settings): 18+ notice + confirm when activating Circles …
07:51 Changeset in Klonkt [837fc9c]main by Robin Genis <roboburr@…>
feat(posts): NSFW / sensitive content Mark a post NSFW (checkbox in …
07:36 Changeset in Klonkt [aa45208]main by Robin Genis <roboburr@…>
fix(track-editor): backdrop click no longer closes the editor A …
07:34 Changeset in Klonkt [280c007]main by Robin Genis <roboburr@…>
chore: 1.0.0-rc1 — first release candidate Co-Authored-By: Claude …
07:29 Changeset in Klonkt [f99c830]main by Robin Genis <roboburr@…>
docs(handleiding): rewrite the fediverse sections to match the current …
07:15 Changeset in Klonkt [74d61e6]main by Robin Genis <roboburr@…>
feat(fedi): boosting a non-followed post shows it in the Cirkel The …
07:08 Changeset in Klonkt [dcff893]main by Robin Genis <roboburr@…>
feat(fedi): interact bookmarklet on the My-replies page A …
01:04 Changeset in Klonkt [80c36a1]main by Robin Genis <roboburr@…>
feat(fedi): fans-only = followers-only federation (option A) A …
00:59 Changeset in Klonkt [e390844]main by Robin Genis <roboburr@…>
feat(post): hide 'Interact via the fediverse' CTA for the owner/admin …
00:57 Changeset in Klonkt [1b99225]main by Robin Genis <roboburr@…>
feat(profile): click avatar -> profile summary modal (contacts, since, …
00:47 Changeset in Klonkt [16e99e5]main by Robin Genis <roboburr@…>
chore(admin): drop the fediverse quick-links from the dashboard News …
00:20 Changeset in Klonkt [00a2bcd]main by Robin Genis <roboburr@…>
feat(profile): click the profile photo to open it in a lightbox When …
00:16 Changeset in Klonkt [cd6a008]main by Robin Genis <roboburr@…>
fix(fedi): preserve newlines when federating to Mastodon Klonkt …
00:08 Changeset in Klonkt [ace5a9b]main by Robin Genis <roboburr@…>
feat(fedi): 'Go to post' button on My-replies cards Each sent reply …
00:04 Changeset in Klonkt [7e66e7e]main by Robin Genis <roboburr@…>
feat(fedi): hide the leading @mention in displayed comments A …

06/26/2026:

23:55 Changeset in Klonkt [0a75356]main by Robin Genis <roboburr@…>
feat(news): feed like+boost toggle in place (fetch, no reload, no …
23:50 Changeset in Klonkt [9d34855]main by Robin Genis <roboburr@…>
fix(news): feed like is a toggle too (like/unlike), like boost The …
23:45 Changeset in Klonkt [c7ecaf9]main by Robin Genis <roboburr@…>
feat(fedi): like/boost toggle in place on the interact page (no …
23:41 Changeset in Klonkt [2f42b60]main by Robin Genis <roboburr@…>
style(fedi): nicer card layout for Notifications + My-replies …
23:38 Changeset in Klonkt [3d37c67]main by Robin Genis <roboburr@…>
feat(fedi): interact page like/boost are 2 icon+label toggle buttons …
23:30 Changeset in Klonkt [3289a64]main by Robin Genis <roboburr@…>
feat(fedi): comment like is a toggle too (Undo Like / un-favourite) …
23:25 Changeset in Klonkt [c745659]main by Robin Genis <roboburr@…>
feat(fedi): comment boost is a toggle with state + coloured action …
17:17 Changeset in Klonkt [eacd3d6]main by Robin Genis <roboburr@…>
feat(admin): Solo/Circles mode selector at top of settings + fix …
17:10 Changeset in Klonkt [cf4cf27]main by Robin Genis <roboburr@…>
feat(circle): show only the post title in the feed + 2x larger source …
17:04 Changeset in Klonkt [eefd302]main by Robin Genis <roboburr@…>
feat(fedi): rename feed Newspaper -> News (/newspaper -> /news) EN …
17:02 Changeset in Klonkt [69e7a79]main by Robin Genis <roboburr@…>
style(timeline): pinned indicator is a pin icon (accent), boost a …
16:56 Changeset in Klonkt [9327a85]main by Robin Genis <roboburr@…>
fix(ios-pwa): drop the top safe-area inset in landscape (island is on …
16:49 Changeset in Klonkt [f6b2c68]main by Robin Genis <roboburr@…>
fix(ios-pwa): pad body for safe-area when masthead is hidden on mobile …
16:33 Changeset in Klonkt [1c85964]main by Robin Genis <roboburr@…>
debug(ios): richer safe-area overlay (masthead/profile rects) + SW …
16:23 Changeset in Klonkt [7eee449]main by Robin Genis <roboburr@…>
style(fedi): white bg behind feed/following avatars (transparent PNG …
16:15 Changeset in Klonkt [bca83f3]main by Robin Genis <roboburr@…>
feat(fedi): autofill remembers only the last server (drop the …
16:14 Changeset in Klonkt [781d613]main by Robin Genis <roboburr@…>
feat(newspaper): drop redundant '🎵 listen on' line when Klonkt player …
16:10 Changeset in Klonkt [d22b55c]main by Robin Genis <roboburr@…>
feat(fedi): Bandcamp+Apple Music embeds in feed, server autofill, …
16:02 Changeset in Klonkt [84903a1]main by Robin Genis <roboburr@…>
feat(newspaper): embed followed Klonkt sites' audio player inline …
15:56 Changeset in Klonkt [0fa59c3]main by Robin Genis <roboburr@…>
feat(fedi): rename Timeline tab/route to Newspaper (/timeline -> …
15:50 Changeset in Klonkt [cb3d5fc]main by Robin Genis <roboburr@…>
style(tijdlijn): coloured SVG action icons (no emoji), uniform 36px …
15:42 Changeset in Klonkt [b8bbe77]main by Robin Genis <roboburr@…>
debug(ios): temporary on-screen readout of …
15:32 Changeset in Klonkt [76f0e61]main by Robin Genis <roboburr@…>
fix(ios pwa): force masthead safe-area inline + detect standalone + …
15:24 Changeset in Klonkt [a036251]main by Robin Genis <roboburr@…>
fix(ios): hand-built safe-area inset (env() returns 0 on iOS Safari + …
15:14 Changeset in Klonkt [7ca3ffc]main by Robin Genis <roboburr@…>
fix(ios): use env(safe-area-inset-*) directly instead of via a CSS var …
15:03 Changeset in Klonkt [dee7f02]main by Robin Genis <roboburr@…>
style(fedi): remove the extra tab headroom + reduce wrapper top margin …
14:49 Changeset in Klonkt [474a5ed]main by Robin Genis <roboburr@…>
style(mobile): drop fedi-tabs headroom, keep only the iOS safe-area inset
14:45 Changeset in Klonkt [8c4bfcc]main by Robin Genis <roboburr@…>
style(mobile): fedi-tabs headroom back to 1.5rem (applies to Android …
14:41 Changeset in Klonkt [f46f2be]main by Robin Genis <roboburr@…>
style(ios): reduce fedi-tabs top headroom on mobile (1.5rem -> .5rem …
14:38 Changeset in Klonkt [c0e00a2]main by Robin Genis <roboburr@…>
fix(ios): safe-area top for fullscreen editor toolbar + fedi tabs on …
14:31 Changeset in Klonkt [fdd0d61]main by Robin Genis <roboburr@…>
style(tijdlijn): show full images (no crop/letterbox) + more headroom …
14:28 Changeset in Klonkt [79d1281]main by Robin Genis <roboburr@…>
fix(fedi): /notifications showed old (tab-less) view — route collision …
14:26 Changeset in Klonkt [c69267f]main by Robin Genis <roboburr@…>
style(fedi): unify all fediverse page widths to 640px (pixel-perfect …
14:21 Changeset in Klonkt [2e45a369]main by Robin Genis <roboburr@…>
fix(fedi): Following tab 500'd — render call pointed to missing …
14:16 Changeset in Klonkt [c27c945]main by Robin Genis <roboburr@…>
fix(tijdlijn): white background behind images (transparent PNGs), not …
14:14 Changeset in Klonkt [297c77d]main by Robin Genis <roboburr@…>
refactor(fedi): English URL paths + equal-width tabs + back-to-site in …
14:01 Changeset in Klonkt [1ecbf71]main by Robin Genis <roboburr@…>
feat(tijdlijn): graphical redesign + inline embeds (others' media) - …
13:56 Changeset in Klonkt [5e3be97]main by Robin Genis <roboburr@…>
style(fedi-tabs): full-width back button, centered tabs, no scrollbar …
13:50 Changeset in Klonkt [9e5438e]main by Robin Genis <roboburr@…>
feat(fedi): unify Timeline/Following/Replies/Notifications/Blocking
13:36 Changeset in Klonkt [8334d27]main by Robin Genis <roboburr@…>
chore(beads): file follow-delivery retry as a later feature
13:30 Changeset in Klonkt [a6e6f63]main by Robin Genis <roboburr@…>
tweak(volgend): drop the 'What do these options do?' heading, keep the …
13:29 Changeset in Klonkt [73045f9]main by Robin Genis <roboburr@…>
fix(volgend): featured toggle confirmation said 'Auto-boost' -> …
13:26 Changeset in Klonkt [fda08c2]main by Robin Genis <roboburr@…>
refactor(fedi): remove the 'boost latest 5' feature Dropped at …
13:23 Changeset in Klonkt [98ceadd]main by Robin Genis <roboburr@…>
feat(volgend): explain box above the follow options (what Featured / …
13:17 Changeset in Klonkt [54d2f98]main by Robin Genis <roboburr@…>
feat(fedi): add 'back to site' button on Timeline + Notifications …
13:13 Changeset in Klonkt [b6cdc3d]main by Robin Genis <roboburr@…>
feat(fedi): like/boost/reply on the interaction page + display-only …
13:01 Changeset in Klonkt [c7c7f02]main by Robin Genis <roboburr@…>
feat(cirkel): render boosted posts in the pinned style with a Boost …
12:50 Changeset in Klonkt [bbce8da]main by Robin Genis <roboburr@…>
feat(ap): log source IP on dropped/rejected/ignored inbox hits So an …
12:32 Changeset in Klonkt [4c47eff]main by Robin Genis <roboburr@…>
refactor(cirkel): remove the legacy circle auto-migration (no …
12:16 Changeset in Klonkt [78b6d8a]main by Robin Genis <roboburr@…>
feat(tijdlijn): unboost button — retract a boost (Undo Announce) from …
12:01 Changeset in Klonkt [3384e95]main by Robin Genis <roboburr@…>
chore(beads): close se8 (boosts in cirkel) + 8z2 (anti-loop, moot)
12:00 Changeset in Klonkt [5045c30]main by Robin Genis <roboburr@…>
feat(cirkel): boosted posts also appear in the Cirkel (mixed by date, …
11:16 Changeset in Klonkt [484adf8]main by Robin Genis <roboburr@…>
feat(cirkel): featuring is local-only; optional one-time 'boost latest …
10:26 Changeset in Klonkt [5783c67]main by Robin Genis <roboburr@…>
fix(volgend): auto-boost checkbox rendered huge — scope the text-input …
10:23 Changeset in Klonkt [98688c6]main by Robin Genis <roboburr@…>
feat(fediverse): follow a site by its bare domain (site.com), not only …
10:20 Changeset in Klonkt [cbe4f4e]main by Robin Genis <roboburr@…>
style: transparent covers on white everywhere (not just the Cirkel) …
10:17 Changeset in Klonkt [72bf38f]main by Robin Genis <roboburr@…>
fix(cirkel): white bg on list-view covers (.post-list-cover img, not …
10:08 Changeset in Klonkt [fdfd31b]main by Robin Genis <roboburr@…>
style(cirkel): transparent PNG covers on a white background …
10:04 Changeset in Klonkt [a404018]main by Robin Genis <roboburr@…>
chore(beads): close 5gl (fediverse-cache self-heal)
10:04 Changeset in Klonkt [b79466e]main by Robin Genis <roboburr@…>
feat(fediverse): self-heal the timeline cache once per …
10:00 Changeset in Klonkt [14e2ce1]main by Robin Genis <roboburr@…>
chore(beads): track fediverse-cache self-heal on major updates
09:49 Changeset in Klonkt [c628db10]main by Robin Genis <roboburr@…>
fix(fediverse): expose cover via Note.image for player-card posts …
09:39 Changeset in Klonkt [5ceed61]main by Robin Genis <roboburr@…>
chore(beads): track anti-feedback-loop guard for showing cirkel boosts
09:33 Changeset in Klonkt [355364c]main by Robin Genis <roboburr@…>
fix(cirkel): migrate ALL circle links, not just status='active' Old …
09:28 Changeset in Klonkt [d71ed03]main by Robin Genis <roboburr@…>
feat(cirkel): auto-migrate legacy circle_links to auto-boost on boot …
09:23 Changeset in Klonkt [1968592]main by Robin Genis <roboburr@…>
chore(beads): track inbound Update(Note) edit-propagation bug
09:21 Changeset in Klonkt [429d3b0]main by Robin Genis <roboburr@…>
fix(migrate-circles): resolve relative 302 Location to an absolute …
09:20 Changeset in Klonkt [8ef8c3e]main by Robin Genis <roboburr@…>
feat(cirkel): remove the old Cirkels pull-protocol; Cirkels is now …
09:05 Changeset in Klonkt [46f3dd6]main by Robin Genis <roboburr@…>
feat(fediverse): split Tijdlijn (feed) from Volgend (following) + put …
08:53 Changeset in Klonkt [2c22bb5]main by Robin Genis <roboburr@…>
feat(cirkel): rebuild the Cirkel feed on ActivityPub
08:45 Changeset in Klonkt [49b1b39]main by Robin Genis <roboburr@…>
chore(beads): track fediverse quote-post support (prutfolio-src-b12) …
08:37 Changeset in Klonkt [3507b0b]main by Robin Genis <roboburr@…>
fix(fediverse): follow button now shares the social-icon circle (32px) …
08:28 Changeset in Klonkt [066951c]main by Robin Genis <roboburr@…>
style(fediverse): render follow logo at 24px inside the same 36px …
08:21 Changeset in Klonkt [5d39e40]main by Robin Genis <roboburr@…>
fix(fediverse): viewBox no longer clips the logo nodes The …
08:12 Changeset in Klonkt [e7f6691]main by Robin Genis <roboburr@…>
style(fediverse): crop the follow logo edge-to-edge (no viewBox …
08:09 Changeset in Klonkt [df0516a]main by Robin Genis <roboburr@…>
style(fediverse): enlarge the follow logo to ~90% of the circle …
08:03 Changeset in Klonkt [356caeb]main by Robin Genis <roboburr@…>
style(fediverse): place the follow button before the social links …
08:01 Changeset in Klonkt [ce0bedf]main by Robin Genis <roboburr@…>
fix(fediverse): use the Fediverse logo (inline SVG) for the follow …
07:47 Changeset in Klonkt [f278df9]main by Robin Genis <roboburr@…>
feat(fediverse): auto-boost a followed account ('feature an artist') …
07:26 Changeset in Klonkt [283f618]main by Robin Genis <roboburr@…>
feat(fediverse): add an ActivityPub on/off toggle (off = no …

06/25/2026:

22:37 Changeset in Klonkt [eb2fe08]main by Robin Genis <roboburr@…>
ux(profile): fediverse-follow is a compact icon in the links row, …
22:32 Changeset in Klonkt [6cabd18]main by Robin Genis <roboburr@…>
ux(grid): stack tile title + 'van <source>' credit instead of gluing …
22:25 Changeset in Klonkt [67fe576]main by Robin Genis <roboburr@…>
ux(fedi): owner can like/boost a fediverse comment directly too …
22:21 Changeset in Klonkt [e91849c]main by Robin Genis <roboburr@…>
ux(fedi): owner replies to a fediverse comment directly (no 'your …
22:14 Changeset in Klonkt [2902320]main by Robin Genis <roboburr@…>
ux(fedi): make clear a remote reply lands on the source post, not this …
22:04 Changeset in Klonkt [33c1999]main by Robin Genis <roboburr@…>
fix(admin): shorter label for the fediverse Beheer button (was …
21:47 Changeset in Klonkt [cbcc8a4]main by Robin Genis <roboburr@…>
chore: tidy premium config docs
21:44 Changeset in Klonkt [678769e]main by Robin Genis <roboburr@…>
docs(help): refresh handleiding for post-type selector, inline audio …
21:41 Changeset in Klonkt [820bceb]main by Robin Genis <roboburr@…>
feat(admin): add a fediverse (my replies) link to the Beheer dashboard …
21:30 Changeset in Klonkt [cb4eda5]main by Robin Genis <roboburr@…>
feat(premium): gate premium extras by default (KLONKT_PREMIUM_ENABLED …
21:16 Changeset in Klonkt [2acdbc5]main by Robin Genis <roboburr@…>
fix(editor): foto hint says cover is 'below' (type panel sits above …
21:13 Changeset in Klonkt [fc2b68b]main by Robin Genis <roboburr@…>
chore: track issue tracker
21:10 Changeset in Klonkt [7c62efb]main by Robin Genis <roboburr@…>
feat(ap): add 'Follow via the fediverse' button to the profile header …
21:08 Changeset in Klonkt [8ad1784]main by Robin Genis <roboburr@…>
feat(ap): authorize_interaction handles actor URIs as a Follow The …
20:52 Changeset in Klonkt [4c12783]main by Robin Genis <roboburr@…>
perf(ap): backfill new followers once per remote instance, not per …
20:45 Changeset in Klonkt [a9900ec]main by Robin Genis <roboburr@…>
chore: tidy issue tracker
20:45 Changeset in Klonkt [75ab393]main by Robin Genis <roboburr@…>
feat(ratelimit): cap fediverse endpoints per IP; key IPv6 limiters by …
20:13 Changeset in Klonkt [49edc72]main by Robin Genis <roboburr@…>
fix(ap): /ap/notes/:id redirects browsers to the human post page …
19:55 Changeset in Klonkt [bf4596d]main by Robin Genis <roboburr@…>
feat(editor): post type on top (segmented) + type-aware inputs Bart's …
19:31 Changeset in Klonkt [fd95b1b]main by Robin Genis <roboburr@…>
bd: redact 3 fediverse hardening issues (kept exploit detail out of …
19:14 Changeset in Klonkt [b15415b]main by Robin Genis <roboburr@…>
fix(audio): add missing spinner.svg (CSS mask referenced it; was 404 …
19:11 Changeset in Klonkt [0c8768a]main by Robin Genis <roboburr@…>
premium price: display €14 -> $16 (USD campaign charges $16; gate …
18:40 Changeset in Klonkt [44da3ee]main by Robin Genis <roboburr@…>
chore: drop legacy PrutCMS-v9 post-import scripts (not referenced; …
18:28 Changeset in Klonkt [7cc58bb]main by Robin Genis <roboburr@…>
premium price: $10 -> €14 (~$16) across salespage, i18n (nl/en/de), …
18:12 Changeset in Klonkt [f0c3f83]main by Robin Genis <roboburr@…>
docs(patreon): correct the premium-modules comment (hub removed; list …
17:56 Changeset in Klonkt [7a235bc]main by Robin Genis <roboburr@…>
feat(updates): make the in-app updater GitHub/upstream-aware for …
14:02 Changeset in Klonkt [6a51968]main by Robin Genis <roboburr@…>
audio: Media Session API for reliable mobile auto-advance + …
13:47 Changeset in Klonkt [c648b04]main by Robin Genis <roboburr@…>
docs: call out Node.js 20+ requirement in the self-hosting section …
09:52 Changeset in Klonkt [3dd99d3]main by Robin Genis <roboburr@…>
harden(fediverse): SSRF guard, remote-URL XSS scheme-guard, scoped …
09:36 Changeset in Klonkt [4b5223f]main by Robin Genis <roboburr@…>
fediverse: federate external embeds as a bare URL link (Mastodon …
09:13 Changeset in Klonkt [55bba23]main by Robin Genis <roboburr@…>
fediverse: federate pin order via Add/Remove activities (reliable, …
07:31 Changeset in Klonkt [f9f3312]main by Robin Genis <roboburr@…>
feat(fediverse): auto-backfill recent posts to new followers on Follow …
07:18 Changeset in Klonkt [2af2e69]main by Robin Genis <roboburr@…>
fediverse: emit featured collection reversed (Mastodon displays pins …
07:11 Changeset in Klonkt [5085b1d]main by Robin Genis <roboburr@…>
fediverse: cache-buster on music listen-link to force a fresh SQUARE …
07:08 Changeset in Klonkt [f1e0c1f]main by Robin Genis <roboburr@…>
fediverse: push actor Update on pin/unpin so Mastodon refreshes the …
06:54 Changeset in Klonkt [75bda38]main by Robin Genis <roboburr@…>
feat(fediverse): expose pinned posts via the actor's featured …
06:47 Changeset in Klonkt [abb34d2]main by Robin Genis <roboburr@…>
embed player: slim themed scrollbar for the track list (was the chunky …
06:38 Changeset in Klonkt [98b7fdd]main by Robin Genis <roboburr@…>
fediverse: square (1:1) player card (480x480) so the cover fits …
06:34 Changeset in Klonkt [6c3d805]main by Robin Genis <roboburr@…>
fediverse: taller embed player card (160 -> 400) for more room …
06:13 Changeset in Klonkt [30271e6]main by Robin Genis <roboburr@…>
fix(fediverse): player card only for playable (hosted) audio; scope …
05:57 Changeset in Klonkt [2923a95]main by Robin Genis <roboburr@…>
feat(fediverse): audio posts skip image attachment so Mastodon shows …
05:37 Changeset in Klonkt [ca25f360]main by Robin Genis <roboburr@…>
feat(fediverse): federate post edits as Update (Mastodon refreshes …
05:27 Changeset in Klonkt [4c9c60b]main by Robin Genis <roboburr@…>
feat(fediverse): player card for music posts (embed player, no raw …
05:22 Changeset in Klonkt [e951b7c]main by Robin Genis <roboburr@…>
feat(fediverse): real bell badge for unseen notifications Track a …
05:20 Changeset in Klonkt [d7526bd]main by Robin Genis <roboburr@…>
feat(fediverse): NodeInfo 2.1 + per-note replies collection NodeInfo
05:15 Changeset in Klonkt [5a6a457]main by Robin Genis <roboburr@…>
feat(fediverse): federate on save+scheduler, delivery retry-queue, …

06/24/2026:

18:48 Changeset in Klonkt [99234c3]main by Robin Genis <roboburr@…>
docs(handleiding): hub->circle, add Fediverse section, drop Google …
18:43 Changeset in Klonkt [0850535]main by Robin Genis <roboburr@…>
changelog: hub removed, fediverse client, palette overhaul; bump …
18:41 Changeset in Klonkt [7008b28]main by Robin Genis <roboburr@…>
docs: update README — hub removed, fediverse-native (drop …
18:05 Changeset in Klonkt [5410d4d]main by Robin Genis <roboburr@…>
Remove the dead Favourites feature (local likes replaced by fediverse …
18:00 Changeset in Klonkt [e6272d1]main by Robin Genis <roboburr@…>
fediverse comments: clean mobile meta (wrap name/handle, date on its …
17:56 Changeset in Klonkt [a8399a6]main by Robin Genis <roboburr@…>
fediverse: shorten server prompt to just 'your server' (accepts …
17:52 Changeset in Klonkt [2279f80]main by Robin Genis <roboburr@…>
fediverse: open 'view on source' in the same tab (drop target=_blank) …
17:48 Changeset in Klonkt [0aa23cf]main by Robin Genis <roboburr@…>
fix(fediverse): ⭐ star now actually likes (was landing on the reply …
17:43 Changeset in Klonkt [6bee3ec]main by Robin Genis <roboburr@…>
Pinned badge: white SVG pin icon instead of the multicolour 📌 emoji …
17:38 Changeset in Klonkt [62dea30]main by Robin Genis <roboburr@…>
editor: remove the 'Start writing…' placeholder (lingered behind …
17:36 Changeset in Klonkt [848b76d]main by Robin Genis <roboburr@…>
Prettier fediverse stats: monochrome line-icons + clean outline pills …
17:32 Changeset in Klonkt [b2c3699]main by Robin Genis <roboburr@…>
Remove dead .post-like-row CSS (the element is gone) Co-Authored-By: …
17:31 Changeset in Klonkt [aadb11e]main by Robin Genis <roboburr@…>
Fediverse UI: one ⭐ like, transparent circle logos, accent-following …
17:26 Changeset in Klonkt [48ca5fc]main by Robin Genis <roboburr@…>
Remove hub mode (step 2/2): delete dead hub routes & views Remove …
17:23 Changeset in Klonkt [dd856db]main by Robin Genis <roboburr@…>
Remove hub mode (step 1/2): keystone coercion + drop hub UI …
17:17 Changeset in Klonkt [34076d7]main by Robin Genis <roboburr@…>
feat(appearance): live theme preview in site settings Selecting an …
17:07 Changeset in Klonkt [c9c70cc]main by Robin Genis <roboburr@…>
Palettes overhaul: neutral 'Klonkt' default + 7 real-colour themes - …
16:58 Changeset in Klonkt [19fbe03]main by Robin Genis <roboburr@…>
Palettes: drop Stone+Terracotta, add Ocean+Candy, rework warm to …
16:49 Changeset in Klonkt [9cc0f9f]main by Robin Genis <roboburr@…>
fix(theme): use the validated palette in the shell (dead palette broke …
16:37 Changeset in Klonkt [f6c414e]main by Robin Genis <roboburr@…>
feat(fediverse): star = like via your own fediverse account …
16:31 Changeset in Klonkt [434c2e9]main by Robin Genis <roboburr@…>
Trim palettes to 8 (drop Sage/Rose/Midnight near-duplicates) Sage …
16:24 Changeset in Klonkt [8485b64]main by Robin Genis <roboburr@…>
Remove the Gold accent colour (unused; redundant with …
16:18 Changeset in Klonkt [82043c9]main by Robin Genis <roboburr@…>
fix(chrome): no profile-header/view-switcher on fediverse pages …
16:14 Changeset in Klonkt [19a72df]main by Robin Genis <roboburr@…>
fix(topnav): keep the bell, drop the duplicate Notifications menu item …
16:08 Changeset in Klonkt [f5c3870]main by Robin Genis <roboburr@…>
feat(fediverse-client): block/defederate accounts & domains Block an …
15:59 Changeset in Klonkt [d0cab9d]main by Robin Genis <roboburr@…>
feat(security): enforce HTTP signatures on the inbox Data-affecting …
15:27 Changeset in Klonkt [00f669b]main by Robin Genis <roboburr@…>
feat(fediverse-client): notifications inbox (/meldingen) Aggregates …
15:23 Changeset in Klonkt [d988fa0]main by Robin Genis <roboburr@…>
feat(fediverse-client): like/boost/reply on timeline items Timeline …
15:19 Changeset in Klonkt [914eb9f]main by Robin Genis <roboburr@…>
feat(fediverse-client): follow accounts + home timeline Klonkt can …
15:09 Changeset in Klonkt [0dba092]main by Robin Genis <roboburr@…>
style(activitypub): reply field as a floating popover (zero layout …
15:06 Changeset in Klonkt [749c183]main by Robin Genis <roboburr@…>
style(activitypub): fixed CTA row height so the reply field doesn't …
15:03 Changeset in Klonkt [f2fff7e]main by Robin Genis <roboburr@…>
style(activitypub): reply field replaces the button in place (no …
15:01 Changeset in Klonkt [77ccd5d]main by Robin Genis <roboburr@…>
style: neutral fediverse-address placeholder (@naam@…, not …
14:59 Changeset in Klonkt [c901131]main by Robin Genis <roboburr@…>
style(activitypub): nicer reply-address field + localized placeholder …
14:55 Changeset in Klonkt [40cf2ef]main by Robin Genis <roboburr@…>
style(activitypub): inline address form for reply-via-fediverse (no …
14:31 Changeset in Klonkt [dc8e9bd]main by Robin Genis <roboburr@…>
fix(activitypub): deliver nested replies up the WHOLE chain (post …
14:26 Changeset in Klonkt [59f0170]main by Robin Genis <roboburr@…>
refactor(comments): remove native comments — social is fediverse-only …
14:19 Changeset in Klonkt [2e9773f]main by Robin Genis <roboburr@…>
fix(db): user_notifications boot crash on older DBs (missing columns) …
14:16 Changeset in Klonkt [075185a]main by Robin Genis <roboburr@…>
refactor(auth): remove Google login (listeners now interact via the …
14:03 Changeset in Klonkt [5b47619]main by Robin Genis <roboburr@…>
style(activitypub): tidy the /fediverse manage list into cards …
13:58 Changeset in Klonkt [c73ac64]main by Robin Genis <roboburr@…>
fix(activitypub): own replies show the site identity to everyone (not …
13:56 Changeset in Klonkt [ffa53cc]main by Robin Genis <roboburr@…>
fix(activitypub): no self-duplicate when replying on your own post …
13:53 Changeset in Klonkt [de3d24b]main by Robin Genis <roboburr@…>
fix(activitypub): link owner's remote-reply to the local post so it …
13:45 Changeset in Klonkt [7c44c12]main by Robin Genis <roboburr@…>
feat(account): editable username (does not affect the fediverse …
13:27 Changeset in Klonkt [a885afc]main by Robin Genis <roboburr@…>
fix(activitypub): pass locals explicitly into fedi-node include (500 …
13:24 Changeset in Klonkt [7d932ce]main by Robin Genis <roboburr@…>
feat(activitypub): nested threading + delete your own replies Inbox …
13:11 Changeset in Klonkt [cc24fa1]main by Robin Genis <roboburr@…>
fix(activitypub): dedup guard on outbound replies (prevent …
13:04 Changeset in Klonkt [41a7637]main by Robin Genis <roboburr@…>
fix(activitypub): instant Send + confirmation on remote reply Send …
12:58 Changeset in Klonkt [7f46112b]main by Robin Genis <roboburr@…>
feat(activitypub): per-comment reply-via-fediverse + clearer button …
12:52 Changeset in Klonkt [2826bb97]main by Robin Genis <roboburr@…>
feat(activitypub): full post on reply page + strip audio shortcodes …
12:47 Changeset in Klonkt [594cc50]main by Robin Genis <roboburr@…>
fix(activitypub): remote-reply button — data attrs + delegated handler …
12:44 Changeset in Klonkt [3d7312a]main by Robin Genis <roboburr@…>
feat(activitypub): remote interaction — reply to any fediverse post …
12:31 Changeset in Klonkt [82079ad]main by Robin Genis <roboburr@…>
feat: one identity — user avatar falls back to the site photo …
12:23 Changeset in Klonkt [52ea6df]main by Robin Genis <roboburr@…>
fix(activitypub): show site avatar on our own fediverse replies …
12:16 Changeset in Klonkt [3a2c9d3]main by Robin Genis <roboburr@…>
style(activitypub): match fediverse section to native comment styling …
12:09 Changeset in Klonkt [55bc7f9]main by Robin Genis <roboburr@…>
feat(activitypub): reply back to the fediverse (Phase 4 outbound) …
11:49 Changeset in Klonkt [47a0d29]main by Robin Genis <roboburr@…>
style(activitypub): polish fediverse section into clean comment cards …
11:44 Changeset in Klonkt [c16e0a5]main by Robin Genis <roboburr@…>
feat(activitypub): inbound interactions — replies, likes, boosts …
11:22 Changeset in Klonkt [eb852c5]main by Robin Genis <roboburr@…>
feat(activitypub): federate post deletions (Delete + Tombstone) …
11:16 Changeset in Klonkt [5a93ac0]main by Robin Genis <roboburr@…>
feat(activitypub): federate images as attachments Cover image + …
11:11 Changeset in Klonkt [065452a]main by Robin Genis <roboburr@…>
fix(activitypub): include post title in the Note content Mastodon …
10:48 Changeset in Klonkt [dd1028a]main by Robin Genis <roboburr@…>
fix(activitypub): content-negotiation on canonical URLs An AP request …
10:35 Changeset in Klonkt [5bf63b7]main by Robin Genis <roboburr@…>
feat(activitypub): phase 1b — Follow/Accept, HTTP Signatures, delivery …
10:27 Changeset in Klonkt [6bd25d1]main by Robin Genis <roboburr@…>
feat(activitypub): phase 1 — discoverable/fetchable actor (WebFinger, …
05:26 Changeset in Klonkt [69815b2]main by Robin Genis <roboburr@…>
feat: auto-generated per-site OG image from palette + accent New …
04:54 Changeset in Klonkt [5eef817]main by Robin Genis <roboburr@…>
style: per-palette background gradient for every theme The fixed …

06/23/2026:

22:00 Changeset in Klonkt [f99bbe8]main by Robin Genis <roboburr@…>
security: bind to 127.0.0.1 by default behind a reverse proxy New …
21:25 Changeset in Klonkt [09ee2bd]main by Robin Genis <roboburr@…>
feat: auto-generate SESSION_SECRET if not set (zero-config …
21:16 Changeset in Klonkt [45271b7]main by Robin Genis <roboburr@…>
docs: clearer A/B/C for beginners + complete Option C Add a 'Good …
19:17 Changeset in Klonkt [a301d7a]main by Robin Genis <roboburr@…>
docs: recommend a fresh/empty VPS for the one-command installer State …
18:42 Changeset in Klonkt [6d3e2c1]main by Robin Genis <roboburr@…>
docs: lead with the one-command VPS installer (recommended), Docker …
18:16 Changeset in Klonkt [d774679]main by Robin Genis <roboburr@…>
fix: auth-reset.ejs EJS comment broke compile (nested <% in <%# …
18:14 Changeset in Klonkt [834bcc3]main by Robin Genis <roboburr@…>
i18n: translate Dutch code comments to English across src/ Comments …
17:35 Changeset in Klonkt [bb42dfb]main by Robin Genis <roboburr@…>
docs: install.sh + .env.example to English (public repo) Translate …
17:25 Changeset in Klonkt [bbbfa3c]main by Robin Genis <roboburr@…>
docs: README to English (public repo) Translate the repo front page …
17:17 Changeset in Klonkt [83088b66]main by Robin Genis <roboburr@…>
feat: install.sh ready for public repo (roboburr/klonkt) - real …
17:06 Changeset in Klonkt [5a4c0b0]main by Robin Genis <roboburr@…>
chore: AGPL-3.0 license + clean up repo metadata - LICENSE: full GNU …
16:57 Changeset in Klonkt [475eeda]main by Robin Genis <roboburr@…>
feat: premium status badge on the admin dashboard Below the title, …
16:27 Changeset in Klonkt [fe6aac9]main by Robin Genis <roboburr@…>
feat: Updates page shows the last 5 changes (git log) Admin -> …
16:16 Changeset in Klonkt [d5e78f7]main by Robin Genis <roboburr@…>
fix: Vary: HX-Request + no-store on partials — no unstyled page on …
16:13 Changeset in Klonkt [184393c]main by Robin Genis <roboburr@…>
docs: README updated to reflect current Klonkt Removed stale info …
16:02 Changeset in Klonkt [3f4049e]main by Robin Genis <roboburr@…>
fix: hide view-switcher (Timeline/Grid + pager) on a fresh install …
15:57 Changeset in Klonkt [d8eb74c]main by Robin Genis <roboburr@…>
fix: theme-init JS default palette 'sage' -> 'klonkt' (was overwriting …
15:53 Changeset in Klonkt [bff0b67]main by Robin Genis <roboburr@…>
chore: style.css cache-buster v33 (navy klonkt-bg fix) …
15:51 Changeset in Klonkt [5416101]main by Robin Genis <roboburr@…>
fix: klonkt palette dark = pure navy (no golden accent wash on the bg) …
15:45 Changeset in Klonkt [9b851e7]main by Robin Genis <roboburr@…>
fix: fresh install uses klonkt defaults (navy + #e8b04b), not old …
14:54 Changeset in Klonkt [cb01666]main by Robin Genis <roboburr@…>
feat: lite mode (KLONKT_AUDIO=off) — audio disabled, single codebase …
14:24 Changeset in Klonkt [8f2f97c]main by Robin Genis <roboburr@…>
Prutter (DM feature) fully removed Reason: redundant feature + …
14:11 Changeset in Klonkt [24cdcc6]main by Robin Genis <roboburr@…>
setup: first-run wizard (language choice + site name) on …
13:58 Changeset in Klonkt [3af8fa3]main by Robin Genis <roboburr@…>
i18n: search button aria-label/title via t('nav.search') instead of …

06/22/2026:

14:05 Changeset in Klonkt [3bb8719]main by roboburr <roboburr@…>
chore(version): bump 1.0.0-beta.3 + show commit hash in version …
13:58 Changeset in Klonkt [c9d48fc]main by roboburr <roboburr@…>
fix(download): /bestand used storage_path (absolute) -> Bad path; now …
13:51 Changeset in Klonkt [17197a9]main by roboburr <roboburr@…>
fix(download): track var 't' shadowed the i18n t() -> 500 on …
13:22 Changeset in Klonkt [1ce1ffe]main by roboburr <roboburr@…>
i18n: feature name Circle -> Circles (plural) in NL/EN/DE; …
03:38 Changeset in Klonkt [814ad8b]main by roboburr <roboburr@…>
feat(circles): site name automatically from the remote actor (no …
03:04 Changeset in Klonkt [b20460e]main by roboburr <roboburr@…>
style(theme): palettes Ocean + Gold removed (redundant after klonkt …
02:52 Changeset in Klonkt [dd7e2a2]main by roboburr <roboburr@…>
feat(theme): default = Klonkt brand (dark navy + yellow, matches …
02:03 Changeset in Klonkt [5eff581]main by roboburr <roboburr@…>
style(circles): larger arrowheads Co-Authored-By: Claude …
01:59 Changeset in Klonkt [b4c845e]main by roboburr <roboburr@…>
style(circles): ring removed + clearer (filled) arrows, larger network …
01:50 Changeset in Klonkt [050aa02]main by roboburr <roboburr@…>
style(circles): cleaner icon (thin lines, fine nodes) + subtle accent …
01:38 Changeset in Klonkt [628056f]main by roboburr <roboburr@…>
feat(circles): new vectorised icon via CSS mask (accent colour) as …
01:28 Changeset in Klonkt [546f102]main by roboburr <roboburr@…>
feat(circles): icon exactly matching reference — 3 hollow nodes, …
01:23 Changeset in Klonkt [d29f427]main by roboburr <roboburr@…>
chore(circles): standalone logo file synced with the new clean icon …
01:21 Changeset in Klonkt [92cd272]main by roboburr <roboburr@…>
feat(circles): clean minimal network icon (hollow nodes + arrows) as …
01:12 Changeset in Klonkt [28d152e]main by roboburr <roboburr@…>
fix(circles): logo header larger (112->200px) so it breathes like the …
01:08 Changeset in Klonkt [cd69b6a]main by roboburr <roboburr@…>
feat(circles): new network logo as header on the /cirkel page Ring …
00:50 Changeset in Klonkt [face47a]main by roboburr <roboburr@…>
fix(hub): show Owner select only in hub mode (removes solo footgun) …

06/21/2026:

23:51 Changeset in Klonkt [19b0727]main by roboburr <roboburr@…>
ci: GitHub Actions — npm test + docker build op push/PR Klaar voor de …
23:12 Changeset in Klonkt [5a2cb69]main by roboburr <roboburr@…>
feat(self-host): Docker-image + compose + quickstart-README …
23:01 Changeset in Klonkt [7bd97a6]main by roboburr <roboburr@…>
bd: premium anti-bypass hardening plan (layers 1+2+4, layer 5 dropped) …
20:29 Changeset in Klonkt [2dc18c4]main by roboburr <roboburr@…>
bd: GitHub distribution + self-host release issue (P1) …
20:14 Changeset in Klonkt [0251bae]main by roboburr <roboburr@…>
feat(themes): more colour variety — fewer greens/blues in accents + …
19:31 Changeset in Klonkt [b27cde6]main by roboburr <roboburr@…>
fix(posts): duplicate title/slug no longer rejected — auto-unique …
19:13 Changeset in Klonkt [1ee5f65]main by roboburr <roboburr@…>
fix(i18n): &amp; displayed literally — use plain & in values Several …
19:01 Changeset in Klonkt [c1b757d]main by roboburr <roboburr@…>
feat(admin): Google setup revised — beginner-friendly explanation The …
18:52 Changeset in Klonkt [e25438a]main by roboburr <roboburr@…>
fix(comments): reply form closed until REPLY click + DELETE …
18:41 Changeset in Klonkt [9a34d31]main by roboburr <roboburr@…>
fix(notifications): table renamed to user_notifications (collision …
18:38 Changeset in Klonkt [c9c6a2d]main by roboburr <roboburr@…>
feat(meldingen): notifications — reply on comment, comment on post, …
18:24 Changeset in Klonkt [d41f4be]main by roboburr <roboburr@…>
fix(reacties): can now also reply to a reply (not just top-level …
17:46 Changeset in Klonkt [49f698b]main by roboburr <roboburr@…>
style(switcher): mobile — Agenda on its own row at the top, rest below …
17:28 Changeset in Klonkt [fefb80c]main by roboburr <roboburr@…>
fix(zoeken): translate page labels in suggest route (res.locals.t …
17:26 Changeset in Klonkt [097da22]main by roboburr <roboburr@…>
feat(zoeken): live results while typing + search in events & pages - …
17:04 Changeset in Klonkt [e579a98]main by roboburr <roboburr@…>
fix(zoeken): bottom-tab search button stopped working after htmx …
16:57 Changeset in Klonkt [2520dcc]main by roboburr <roboburr@…>
feat(cirkel): add site without typing https:// A bare domain …
16:54 Changeset in Klonkt [d6bdbae]main by roboburr <roboburr@…>
style(instellingen): styled selects instead of bare native dropdowns …
16:48 Changeset in Klonkt [421c2d4]main by roboburr <roboburr@…>
feat(instellingen): site timezone — all dates + scheduling in chosen …
16:37 Changeset in Klonkt [9effb80]main by roboburr <roboburr@…>
fix(editor): CSP blocked blob: image → empty edit dialog img-src was …
16:32 Changeset in Klonkt [015ce46]main by roboburr <roboburr@…>
fix(inplannen): scheduled posts never went live + timezone bug (1) …
16:27 Changeset in Klonkt [5a394e5]main by roboburr <roboburr@…>
fix(editor): empty edit dialog on mobile — crop zone had no height …
16:19 Changeset in Klonkt [48ebfa7]main by roboburr <roboburr@…>
feat(editor): rotate/crop/mirror images before upload Cropper.js …
16:10 Changeset in Klonkt [75c6919]main by roboburr <roboburr@…>
fix(mobiel): <fieldset> in admin forms doesn't shrink → entire form …
16:04 Changeset in Klonkt [d70cab7]main by roboburr <roboburr@…>
fix(agenda-beheer): form grid overflowed on mobile .ash-grid was a …
16:01 Changeset in Klonkt [1664f31]main by roboburr <roboburr@…>
fix(uiterlijk): links rows overflowed on mobile → horizontal overflow …
15:54 Changeset in Klonkt [11b3ba5]main by roboburr <roboburr@…>
fix(editor): schedule publication behind an on/off toggle (no …
15:16 Changeset in Klonkt [5e61b17]main by roboburr <roboburr@…>
feat(i18n): admin-configurable language — personal + default for …
15:05 Changeset in Klonkt [4885eab]main by roboburr <roboburr@…>
feat(i18n phase 6): remaining public + other pages translated …
14:32 Changeset in Klonkt [bbf9d1a]main by roboburr <roboburr@…>
feat(i18n phase 5): all admin sub-pages translated (NL/EN/DE) …
11:48 Changeset in Klonkt [929d98d]main by roboburr <roboburr@…>
fix(i18n): search.ejs tracks loop shadowed t() → 500 function(t) in …
11:45 Changeset in Klonkt [fe86013]main by roboburr <roboburr@…>
feat(i18n phase 4): post comments/like/related + search page …
11:35 Changeset in Klonkt [137cca5]main by roboburr <roboburr@…>
feat(i18n phase 3): welcome/first-run, login, register, bottom-tab …
11:23 Changeset in Klonkt [bffb348]main by roboburr <roboburr@…>
feat(i18n): per-instance default language via KLONKT_DEFAULT_LANG …
Note: See TracTimeline for information about the timeline view.