# # ChangeLog for src in Klonkt # # Generated by Trac 1.6 # 09/09/2026 11:16:21 PM Wed, 24 Jun 2026 14:19:18 GMT Robin Genis [2e9773f] * src/config/database.js (modified) fix(db): user_notifications boot crash on older DBs (missing columns) ... Wed, 24 Jun 2026 14:16:57 GMT Robin Genis [075185a] * src/config/google.js (deleted) * src/routes/account.js (modified) * src/routes/admin-settings.js (modified) * src/routes/auth.js (modified) * src/views/pages/account.ejs (modified) * src/views/pages/admin-google.ejs (deleted) * src/views/pages/admin-settings.ejs (modified) * src/views/pages/admin.ejs (modified) * src/views/pages/auth-login.ejs (modified) refactor(auth): remove Google login (listeners now interact via the ... Wed, 24 Jun 2026 14:03:55 GMT Robin Genis [5b47619] * src/views/pages/authorize-interaction.ejs (modified) style(activitypub): tidy the /fediverse manage list into cards ... Wed, 24 Jun 2026 13:58:33 GMT Robin Genis [c73ac64] * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/views/partials/fedi-node.ejs (modified) fix(activitypub): own replies show the site identity to everyone (not ... Wed, 24 Jun 2026 13:56:06 GMT Robin Genis [ffa53cc] * src/services/ActivityPubService.js (modified) fix(activitypub): no self-duplicate when replying on your own post ... Wed, 24 Jun 2026 13:53:00 GMT Robin Genis [de3d24b] * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) fix(activitypub): link owner's remote-reply to the local post so it ... Wed, 24 Jun 2026 13:45:21 GMT Robin Genis [7c44c12] * src/routes/account.js (modified) * src/services/i18n.js (modified) * src/views/pages/account.ejs (modified) feat(account): editable username (does not affect the fediverse ... Wed, 24 Jun 2026 13:27:56 GMT Robin Genis [a885afc] * src/views/pages/post.ejs (modified) * src/views/partials/fedi-node.ejs (modified) fix(activitypub): pass locals explicitly into fedi-node include (500 ... Wed, 24 Jun 2026 13:24:23 GMT Robin Genis [7d932ce] * 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/pages/post.ejs (modified) * src/views/partials/fedi-node.ejs (added) feat(activitypub): nested threading + delete your own replies Inbox ... Wed, 24 Jun 2026 13:11:01 GMT Robin Genis [cc24fa1] * src/services/ActivityPubService.js (modified) fix(activitypub): dedup guard on outbound replies (prevent double- ... Wed, 24 Jun 2026 13:04:50 GMT Robin Genis [41a7637] * src/routes/posts.js (modified) * src/services/i18n.js (modified) * src/views/pages/authorize-interaction.ejs (modified) fix(activitypub): instant Send + confirmation on remote reply Send ... Wed, 24 Jun 2026 12:58:40 GMT Robin Genis [7f46112b] * src/assets/css/style.css (modified) * src/services/i18n.js (modified) * src/views/pages/post.ejs (modified) * src/views/shell.ejs (modified) feat(activitypub): per-comment reply-via-fediverse + clearer button ... Wed, 24 Jun 2026 12:52:51 GMT Robin Genis [2826bb97] * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/authorize-interaction.ejs (modified) feat(activitypub): full post on reply page + strip audio shortcodes ... Wed, 24 Jun 2026 12:47:56 GMT Robin Genis [594cc50] * src/views/pages/post.ejs (modified) fix(activitypub): remote-reply button — data attrs + delegated ... Wed, 24 Jun 2026 12:44:21 GMT Robin Genis [3d7312a] * src/assets/css/style.css (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/authorize-interaction.ejs (added) * src/views/pages/post.ejs (modified) * src/views/shell.ejs (modified) feat(activitypub): remote interaction — reply to any fediverse post ... Wed, 24 Jun 2026 12:31:43 GMT Robin Genis [82079ad] * src/middleware/render.js (modified) * src/routes/account.js (modified) * src/routes/posts.js (modified) * src/views/pages/account.ejs (modified) feat: one identity — user avatar falls back to the site photo ... Wed, 24 Jun 2026 12:23:05 GMT Robin Genis [52ea6df] * src/routes/posts.js (modified) * src/views/pages/post.ejs (modified) fix(activitypub): show site avatar on our own fediverse replies ... Wed, 24 Jun 2026 12:16:43 GMT Robin Genis [3a2c9d3] * src/assets/css/style.css (modified) * src/services/i18n.js (modified) * src/views/pages/post.ejs (modified) * src/views/shell.ejs (modified) style(activitypub): match fediverse section to native comment styling ... Wed, 24 Jun 2026 12:09:08 GMT Robin Genis [55bc7f9] * src/assets/css/style.css (modified) * src/config/database.js (modified) * src/routes/activitypub.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/post.ejs (modified) * src/views/shell.ejs (modified) feat(activitypub): reply back to the fediverse (Phase 4 outbound) ... Wed, 24 Jun 2026 11:49:19 GMT Robin Genis [47a0d29] * src/assets/css/style.css (modified) * src/views/pages/post.ejs (modified) * src/views/shell.ejs (modified) style(activitypub): polish fediverse section into clean comment cards ... Wed, 24 Jun 2026 11:44:23 GMT Robin Genis [c16e0a5] * src/assets/css/style.css (modified) * src/config/database.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/post.ejs (modified) * src/views/shell.ejs (modified) feat(activitypub): inbound interactions — replies, likes, boosts ... Wed, 24 Jun 2026 11:22:49 GMT Robin Genis [eb852c5] * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) feat(activitypub): federate post deletions (Delete + Tombstone) ... Wed, 24 Jun 2026 11:16:28 GMT Robin Genis [5a93ac0] * src/routes/activitypub.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) feat(activitypub): federate images as attachments Cover image + ... Wed, 24 Jun 2026 11:11:29 GMT Robin Genis [065452a] * src/services/ActivityPubService.js (modified) fix(activitypub): include post title in the Note content Mastodon ... Wed, 24 Jun 2026 10:48:18 GMT Robin Genis [dd1028a] * src/server.js (modified) fix(activitypub): content-negotiation on canonical URLs An AP ... Wed, 24 Jun 2026 10:35:48 GMT Robin Genis [5bf63b7] * src/routes/activitypub.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) feat(activitypub): phase 1b — Follow/Accept, HTTP Signatures, ... Wed, 24 Jun 2026 10:27:56 GMT Robin Genis [6bd25d1] * src/config/database.js (modified) * src/routes/activitypub.js (added) * src/server.js (modified) * src/services/ActivityPubService.js (added) feat(activitypub): phase 1 — discoverable/fetchable actor (WebFinger, ... Wed, 24 Jun 2026 05:26:24 GMT Robin Genis [69815b2] * package-lock.json (modified) * package.json (modified) * src/assets/fonts/fraunces-og.ttf (added) * src/middleware/render.js (modified) * src/routes/og.js (added) * src/server.js (modified) * src/services/OgImageService.js (added) * src/views/shell.ejs (modified) feat: auto-generated per-site OG image from palette + accent New ... Wed, 24 Jun 2026 04:54:25 GMT Robin Genis [5eef817] * src/assets/css/style.css (modified) * src/views/shell.ejs (modified) style: per-palette background gradient for every theme The fixed ... Tue, 23 Jun 2026 22:00:00 GMT Robin Genis [f99bbe8] * .env.example (modified) * README.md (modified) * docker-compose.yml (modified) * scripts/install.sh (modified) * src/server.js (modified) security: bind to 127.0.0.1 by default behind a reverse proxy New ... Tue, 23 Jun 2026 21:25:42 GMT Robin Genis [09ee2bd] * .env.example (modified) * README.md (modified) * docker-compose.yml (modified) * src/server.js (modified) feat: auto-generate SESSION_SECRET if not set (zero-config ... Tue, 23 Jun 2026 18:16:37 GMT Robin Genis [d774679] * src/views/pages/auth-reset.ejs (modified) fix: auth-reset.ejs EJS comment broke compile (nested <% in <%# ... Tue, 23 Jun 2026 18:14:27 GMT Robin Genis [834bcc3] * scripts/backfill-durations.mjs (modified) * scripts/reset-admin.mjs (modified) * src/assets/js/audio-player.js (modified) * src/assets/js/embed-player.js (modified) * src/assets/js/smooth-scroll.js (modified) * src/config/database.js (modified) * src/config/features.js (modified) * src/config/google.js (modified) * src/config/mailer.js (modified) * src/middleware/auth.js (modified) * src/middleware/rate-limit.js (modified) * src/middleware/render.js (modified) * src/middleware/site.js (modified) * src/routes/account.js (modified) * src/routes/admin-audio.js (modified) * src/routes/admin-circle.js (modified) * src/routes/admin-comments.js (modified) * src/routes/admin-epk.js (modified) * src/routes/admin-newsletter.js (modified) * src/routes/admin-patreon.js (modified) * src/routes/admin-seo.js (modified) * src/routes/admin-settings.js (modified) * src/routes/admin-shows.js (modified) * src/routes/admin-sites.js (modified) * src/routes/admin-stats.js (modified) * src/routes/admin-updates.js (modified) * src/routes/admin-users.js (modified) * src/routes/admin.js (modified) * src/routes/artists.js (modified) * src/routes/audio.js (modified) * src/routes/auth.js (modified) * src/routes/changelog.js (modified) * src/routes/circle.js (modified) * src/routes/comments.js (modified) * src/routes/download.js (modified) * src/routes/embed.js (modified) * src/routes/epk.js (modified) * src/routes/federation.js (modified) * src/routes/hub.js (modified) * src/routes/lang.js (modified) * src/routes/linkbio.js (modified) * src/routes/newsletter.js (modified) * src/routes/notifications.js (modified) * src/routes/posts.js (modified) * src/routes/search.js (modified) * src/routes/shows.js (modified) * src/server.js (modified) * src/services/AudioEmbedService.js (modified) * src/services/AudioTranscoder.js (modified) * src/services/CircleFederation.js (modified) * src/services/CircleService.js (modified) * src/services/ImageWebpService.js (modified) * src/services/NotificationService.js (modified) * src/services/PatreonService.js (modified) * src/services/PermissionsService.js (modified) * src/services/PlaylistService.js (modified) * src/services/Scheduler.js (modified) * src/services/SettingsService.js (modified) * src/services/StatsService.js (modified) * src/services/SubscriberService.js (modified) * src/services/ThemeService.js (modified) * src/services/ensurePrimarySite.js (modified) * src/views/pages/account.ejs (modified) * src/views/pages/admin-circle.ejs (modified) * src/views/pages/admin-google.ejs (modified) * src/views/pages/admin-seo.ejs (modified) * src/views/pages/admin-settings.ejs (modified) * src/views/pages/admin-shows.ejs (modified) * src/views/pages/admin-site-edit.ejs (modified) * src/views/pages/admin-users.ejs (modified) * src/views/pages/auth-login.ejs (modified) * src/views/pages/circle-feed.ejs (modified) * src/views/pages/fan-gate.ejs (modified) * src/views/pages/hub-home.ejs (modified) * src/views/pages/post-edit.ejs (modified) * src/views/pages/post.ejs (modified) * src/views/partials/bottom-tab.ejs (modified) * src/views/partials/footer.ejs (modified) * src/views/partials/like-button.ejs (modified) * src/views/partials/post-nav.ejs (modified) * src/views/partials/shared-styles.ejs (modified) * src/views/partials/topnav.ejs (modified) * src/views/partials/track-editor.ejs (modified) i18n: translate Dutch code comments to English across src/ Comments ... Tue, 23 Jun 2026 16:57:50 GMT Robin Genis [475eeda] * src/services/i18n.js (modified) * src/views/pages/admin.ejs (modified) feat: premium status badge on the admin dashboard Below the title, ... Tue, 23 Jun 2026 16:27:27 GMT Robin Genis [fe6aac9] * src/routes/admin-updates.js (modified) * src/services/i18n.js (modified) * src/views/pages/admin-updates.ejs (modified) feat: Updates page shows the last 5 changes (git log) Admin -> ... Tue, 23 Jun 2026 16:16:58 GMT Robin Genis [d5e78f7] * src/middleware/render.js (modified) fix: Vary: HX-Request + no-store on partials — no unstyled page on ... Tue, 23 Jun 2026 16:02:51 GMT Robin Genis [3f4049e] * src/views/partials/chrome.ejs (modified) fix: hide view-switcher (Timeline/Grid + pager) on a fresh install ... Tue, 23 Jun 2026 15:57:32 GMT Robin Genis [d8eb74c] * src/views/shell.ejs (modified) fix: theme-init JS default palette 'sage' -> 'klonkt' (was ... Tue, 23 Jun 2026 15:53:17 GMT Robin Genis [bff0b67] * src/views/shell.ejs (modified) chore: style.css cache-buster v33 (navy klonkt-bg fix) ... Tue, 23 Jun 2026 15:51:59 GMT Robin Genis [5416101] * src/assets/css/style.css (modified) fix: klonkt palette dark = pure navy (no golden accent wash on the ... Tue, 23 Jun 2026 15:45:10 GMT Robin Genis [9b851e7] * src/middleware/render.js (modified) * src/server.js (modified) * src/services/ensurePrimarySite.js (modified) * src/views/shell.ejs (modified) fix: fresh install uses klonkt defaults (navy + #e8b04b), not old ... Tue, 23 Jun 2026 14:54:36 GMT Robin Genis [cb01666] * .env.example (modified) * src/config/features.js (added) * src/middleware/render.js (modified) * src/middleware/site.js (modified) * src/routes/posts.js (modified) * src/server.js (modified) * src/views/pages/admin-site-edit.ejs (modified) * src/views/pages/admin.ejs (modified) * src/views/partials/profile-header.ejs (modified) feat: lite mode (KLONKT_AUDIO=off) — audio disabled, single codebase ... Tue, 23 Jun 2026 14:24:46 GMT Robin Genis [8f2f97c] * src/config/database.js (modified) * src/routes/admin-sites.js (modified) * src/routes/posts.js (modified) * src/routes/prutter.js (deleted) * src/server.js (modified) * src/services/PrutterService.js (deleted) * src/views/pages/admin-site-edit.ejs (modified) * src/views/pages/prutter-conversation.ejs (deleted) * src/views/pages/prutter-inbox.ejs (deleted) * src/views/pages/user.ejs (modified) * src/views/partials/bottom-tab.ejs (modified) * src/views/partials/topnav.ejs (modified) * src/views/shell.ejs (modified) Prutter (DM feature) fully removed Reason: redundant feature + ... Tue, 23 Jun 2026 14:11:51 GMT Robin Genis [24cdcc6] * src/routes/auth.js (modified) * src/services/i18n.js (modified) * src/views/pages/auth-register.ejs (modified) setup: first-run wizard (language choice + site name) on ... Tue, 23 Jun 2026 13:58:13 GMT Robin Genis [3af8fa3] * src/views/partials/bottom-tab.ejs (modified) * src/views/partials/topnav.ejs (modified) i18n: search button aria-label/title via t('nav.search') instead of ... Mon, 22 Jun 2026 14:05:30 GMT roboburr [3bb8719] * package.json (modified) * src/middleware/render.js (modified) chore(version): bump 1.0.0-beta.3 + show commit hash in version ... Mon, 22 Jun 2026 13:58:08 GMT roboburr [c9d48fc] * src/routes/download.js (modified) fix(download): /bestand used storage_path (absolute) -> Bad path; now ... Mon, 22 Jun 2026 13:51:51 GMT roboburr [17197a9] * src/views/pages/download.ejs (modified) fix(download): track var 't' shadowed the i18n t() -> 500 on ... Mon, 22 Jun 2026 13:22:24 GMT roboburr [1ce1ffe] * src/services/i18n.js (modified) i18n: feature name Circle -> Circles (plural) in NL/EN/DE; ... Mon, 22 Jun 2026 03:38:58 GMT roboburr [814ad8b] * src/services/CircleService.js (modified) * src/services/i18n.js (modified) * src/views/pages/admin-circle.ejs (modified) feat(circles): site name automatically from the remote actor (no ... Mon, 22 Jun 2026 03:04:17 GMT roboburr [b20460e] * src/assets/css/style.css (modified) * src/middleware/site.js (modified) * src/services/ThemeService.js (modified) * src/views/shell.ejs (modified) style(theme): palettes Ocean + Gold removed (redundant after klonkt ... Mon, 22 Jun 2026 02:52:43 GMT roboburr [dd7e2a2] * src/assets/css/style.css (modified) * src/middleware/render.js (modified) * src/middleware/site.js (modified) * src/routes/admin-sites.js (modified) * src/routes/auth.js (modified) * src/server.js (modified) * src/services/ThemeService.js (modified) * src/views/shell.ejs (modified) feat(theme): default = Klonkt brand (dark navy + yellow, matches ... Mon, 22 Jun 2026 02:03:33 GMT roboburr [5eff581] * src/assets/img/cirkel-logo.svg (modified) * src/views/pages/circle-feed.ejs (modified) style(circles): larger arrowheads Co-Authored-By: Claude ... Mon, 22 Jun 2026 01:59:02 GMT roboburr [b4c845e] * src/assets/img/cirkel-logo.svg (modified) * src/views/pages/circle-feed.ejs (modified) style(circles): ring removed + clearer (filled) arrows, larger ... Mon, 22 Jun 2026 01:50:00 GMT roboburr [050aa02] * src/assets/img/cirkel-logo.svg (modified) * src/views/pages/circle-feed.ejs (modified) style(circles): cleaner icon (thin lines, fine nodes) + subtle accent ... Mon, 22 Jun 2026 01:38:13 GMT roboburr [628056f] * src/assets/img/cirkel-logo.svg (modified) * src/views/pages/circle-feed.ejs (modified) feat(circles): new vectorised icon via CSS mask (accent colour) as ... Mon, 22 Jun 2026 01:28:34 GMT roboburr [546f102] * src/assets/img/cirkel-logo.svg (modified) * src/views/pages/circle-feed.ejs (modified) feat(circles): icon exactly matching reference — 3 hollow nodes, ... Mon, 22 Jun 2026 01:23:35 GMT roboburr [d29f427] * src/assets/img/cirkel-logo.svg (modified) chore(circles): standalone logo file synced with the new clean icon ... Mon, 22 Jun 2026 01:21:57 GMT roboburr [92cd272] * src/views/pages/circle-feed.ejs (modified) feat(circles): clean minimal network icon (hollow nodes + arrows) as ... Mon, 22 Jun 2026 01:12:57 GMT roboburr [28d152e] * src/views/pages/circle-feed.ejs (modified) fix(circles): logo header larger (112->200px) so it breathes like the ... Mon, 22 Jun 2026 01:08:29 GMT roboburr [cd69b6a] * src/assets/img/cirkel-logo.svg (added) * src/views/pages/circle-feed.ejs (modified) feat(circles): new network logo as header on the /cirkel page Ring ... Mon, 22 Jun 2026 00:50:02 GMT roboburr [face47a] * src/views/pages/admin-site-edit.ejs (modified) fix(hub): show Owner select only in hub mode (removes solo footgun) ... Sun, 21 Jun 2026 20:14:38 GMT roboburr [0251bae] * src/assets/css/style.css (modified) * src/services/ThemeService.js (modified) * src/views/shell.ejs (modified) feat(themes): more colour variety — fewer greens/blues in accents + ... Sun, 21 Jun 2026 19:31:08 GMT roboburr [b27cde6] * src/routes/posts.js (modified) fix(posts): duplicate title/slug no longer rejected — auto-unique ... Sun, 21 Jun 2026 19:13:58 GMT roboburr [1ee5f65] * src/services/i18n.js (modified) fix(i18n): & displayed literally — use plain & in values ... Sun, 21 Jun 2026 19:01:45 GMT roboburr [c1b757d] * src/services/i18n.js (modified) * src/views/pages/admin-google.ejs (modified) feat(admin): Google setup revised — beginner-friendly explanation ... Sun, 21 Jun 2026 18:52:12 GMT roboburr [e25438a] * src/views/pages/post.ejs (modified) fix(comments): reply form closed until REPLY click + DELETE pixel- ... Sun, 21 Jun 2026 18:41:31 GMT roboburr [9a34d31] * src/config/database.js (modified) * src/services/NotificationService.js (modified) fix(notifications): table renamed to user_notifications (collision ... Sun, 21 Jun 2026 18:38:24 GMT roboburr [c9c6a2d] * src/config/database.js (modified) * src/middleware/render.js (modified) * src/routes/comments.js (modified) * src/routes/notifications.js (added) * src/routes/posts.js (modified) * src/server.js (modified) * src/services/NotificationService.js (added) * src/services/i18n.js (modified) * src/views/pages/notifications.ejs (added) * src/views/partials/bottom-tab.ejs (modified) * src/views/partials/profile-sheet.ejs (modified) * src/views/partials/topnav.ejs (modified) feat(meldingen): notifications — reply on comment, comment on post, ... Sun, 21 Jun 2026 18:24:46 GMT roboburr [d41f4be] * src/views/pages/post.ejs (modified) fix(reacties): can now also reply to a reply (not just top-level ... Sun, 21 Jun 2026 17:46:01 GMT roboburr [49f698b] * src/views/partials/shared-styles.ejs (modified) style(switcher): mobile — Agenda on its own row at the top, rest ... Sun, 21 Jun 2026 17:28:23 GMT roboburr [fefb80c] * src/routes/search.js (modified) fix(zoeken): translate page labels in suggest route (res.locals.t ... Sun, 21 Jun 2026 17:26:47 GMT roboburr [097da22] * src/routes/search.js (modified) * src/services/i18n.js (modified) * src/views/pages/search.ejs (modified) * src/views/partials/topnav.ejs (modified) feat(zoeken): live results while typing + search in events & pages ... Sun, 21 Jun 2026 17:04:21 GMT roboburr [e579a98] * src/views/partials/bottom-tab.ejs (modified) fix(zoeken): bottom-tab search button stopped working after htmx ... Sun, 21 Jun 2026 16:57:54 GMT roboburr [2520dcc] * src/routes/admin-circle.js (modified) * src/views/pages/admin-circle.ejs (modified) feat(cirkel): add site without typing https:// A bare domain ... Sun, 21 Jun 2026 16:54:40 GMT roboburr [d6bdbae] * src/views/pages/admin-settings.ejs (modified) style(instellingen): styled selects instead of bare native dropdowns ... Sun, 21 Jun 2026 16:48:27 GMT roboburr [421c2d4] * src/middleware/render.js (modified) * src/routes/admin-settings.js (modified) * src/services/i18n.js (modified) * src/views/pages/admin-settings.ejs (modified) * src/views/pages/post-edit.ejs (modified) feat(instellingen): site timezone — all dates + scheduling in chosen ... Sun, 21 Jun 2026 16:37:18 GMT roboburr [9effb80] * src/server.js (modified) * src/views/pages/post-edit.ejs (modified) fix(editor): CSP blocked blob: image → empty edit dialog img-src ... Sun, 21 Jun 2026 16:32:54 GMT roboburr [015ce46] * src/services/Scheduler.js (modified) * src/services/i18n.js (modified) * src/views/pages/post-edit.ejs (modified) fix(inplannen): scheduled posts never went live + timezone bug (1) ... Sun, 21 Jun 2026 16:27:03 GMT roboburr [5a394e5] * src/views/pages/post-edit.ejs (modified) fix(editor): empty edit dialog on mobile — crop zone had no height ... Sun, 21 Jun 2026 16:19:21 GMT roboburr [48ebfa7] * src/assets/vendor/cropper.min.css (added) * src/assets/vendor/cropper.min.js (added) * src/services/i18n.js (modified) * src/views/pages/post-edit.ejs (modified) feat(editor): rotate/crop/mirror images before upload Cropper.js ... Sun, 21 Jun 2026 16:10:40 GMT roboburr [75c6919] * src/views/pages/admin-seo.ejs (modified) * src/views/pages/admin-site-edit.ejs (modified) fix(mobiel):
in admin forms doesn't shrink → entire form ... Sun, 21 Jun 2026 16:04:02 GMT roboburr [d70cab7] * src/views/pages/admin-shows.ejs (modified) fix(agenda-beheer): form grid overflowed on mobile .ash-grid was a ... Sun, 21 Jun 2026 16:01:09 GMT roboburr [1664f31] * src/views/pages/admin-site-edit.ejs (modified) fix(uiterlijk): links rows overflowed on mobile → horizontal overflow ... Sun, 21 Jun 2026 15:54:13 GMT roboburr [11b3ba5] * src/routes/posts.js (modified) * src/services/i18n.js (modified) * src/views/pages/post-edit.ejs (modified) fix(editor): schedule publication behind an on/off toggle (no ... Sun, 21 Jun 2026 15:16:51 GMT roboburr [5e61b17] * src/config/database.js (modified) * src/middleware/render.js (modified) * src/routes/account.js (modified) * src/routes/admin-settings.js (modified) * src/routes/lang.js (modified) * src/services/i18n.js (modified) * src/views/pages/account.ejs (modified) * src/views/pages/admin-settings.ejs (modified) feat(i18n): admin-configurable language — personal + default for ... Sun, 21 Jun 2026 15:05:14 GMT roboburr [4885eab] * src/services/i18n.js (modified) * src/views/pages/404.ejs (modified) * src/views/pages/account.ejs (modified) * src/views/pages/archive.ejs (modified) * src/views/pages/artists-directory.ejs (modified) * src/views/pages/auth-login.ejs (modified) * src/views/pages/auth-reset-request.ejs (modified) * src/views/pages/auth-reset.ejs (modified) * src/views/pages/changelog.ejs (modified) * src/views/pages/circle-feed.ejs (modified) * src/views/pages/circle-post.ejs (modified) * src/views/pages/download.ejs (modified) * src/views/pages/epk.ejs (modified) * src/views/pages/fan-gate.ejs (modified) * src/views/pages/favorites.ejs (modified) * src/views/pages/home.ejs (modified) * src/views/pages/hub-home.ejs (modified) * src/views/pages/linkbio.ejs (modified) * src/views/pages/my-site.ejs (modified) * src/views/pages/newsletter.ejs (modified) * src/views/pages/post-edit.ejs (modified) * src/views/pages/prutter-conversation.ejs (modified) * src/views/pages/prutter-inbox.ejs (modified) * src/views/pages/tag.ejs (modified) * src/views/pages/type.ejs (modified) * src/views/pages/user.ejs (modified) * src/views/pages/viewer-blocked.ejs (modified) feat(i18n phase 6): remaining public + other pages translated ... Sun, 21 Jun 2026 14:32:39 GMT roboburr [bbf9d1a] * src/services/i18n.js (modified) * src/views/pages/admin-audio.ejs (modified) * src/views/pages/admin-circle.ejs (modified) * src/views/pages/admin-comments.ejs (modified) * src/views/pages/admin-epk.ejs (modified) * src/views/pages/admin-google.ejs (modified) * src/views/pages/admin-help.ejs (modified) * src/views/pages/admin-newsletter.ejs (modified) * src/views/pages/admin-playlists.ejs (modified) * src/views/pages/admin-seo.ejs (modified) * src/views/pages/admin-settings.ejs (modified) * src/views/pages/admin-shows.ejs (modified) * src/views/pages/admin-site-edit.ejs (modified) * src/views/pages/admin-sites.ejs (modified) * src/views/pages/admin-stats.ejs (modified) * src/views/pages/admin-updates.ejs (modified) * src/views/pages/admin-users.ejs (modified) feat(i18n phase 5): all admin sub-pages translated (NL/EN/DE) ... Sun, 21 Jun 2026 11:48:02 GMT roboburr [929d98d] * src/views/pages/search.ejs (modified) fix(i18n): search.ejs tracks loop shadowed t() → 500 function(t) in ... Sun, 21 Jun 2026 11:45:21 GMT roboburr [fe86013] * src/services/i18n.js (modified) * src/views/pages/post.ejs (modified) * src/views/pages/search.ejs (modified) * src/views/partials/like-button.ejs (modified) feat(i18n phase 4): post comments/like/related + search page ... Sun, 21 Jun 2026 11:35:49 GMT roboburr [137cca5] * src/services/i18n.js (modified) * src/views/pages/auth-login.ejs (modified) * src/views/pages/auth-register.ejs (modified) * src/views/pages/welcome.ejs (modified) * src/views/partials/bottom-tab.ejs (modified) feat(i18n phase 3): welcome/first-run, login, register, bottom-tab ... Sun, 21 Jun 2026 11:23:05 GMT roboburr [bffb348] * src/services/i18n.js (modified) feat(i18n): per-instance default language via KLONKT_DEFAULT_LANG ... Sat, 20 Jun 2026 14:14:32 GMT roboburr [999aad2] * src/assets/css/style.css (modified) * src/services/ThemeService.js (modified) * src/views/shell.ejs (modified) feat(themes): preview colours synced with real CSS + 4 palettes + 4 ... Sat, 20 Jun 2026 14:04:32 GMT roboburr [83b8b8f] * src/assets/css/style.css (modified) * src/views/partials/topnav.ejs (modified) * src/views/shell.ejs (modified) feat(i18n): styled language dropdown in the header (instead of native ... Sat, 20 Jun 2026 13:59:32 GMT roboburr [2149f5a] * src/assets/css/style.css (modified) * src/views/pages/admin.ejs (modified) * src/views/partials/footer.ejs (modified) * src/views/partials/topnav.ejs (modified) * src/views/shell.ejs (modified) feat(i18n): language dropdown (NL/EN/DE) in the header nav instead of ... Sat, 20 Jun 2026 13:54:27 GMT roboburr [66cfbaa] * src/assets/css/style.css (modified) * src/views/partials/footer.ejs (modified) * src/views/shell.ejs (modified) fix: grid columns (2/3/4) work on all feeds + readable language ... Sat, 20 Jun 2026 13:50:48 GMT roboburr [91c0a39] * src/services/i18n.js (modified) * src/views/pages/admin.ejs (modified) * src/views/pages/downloads.ejs (modified) * src/views/pages/shows.ejs (modified) feat(i18n phase 2): admin dashboard + public calendar/downloads ... Sat, 20 Jun 2026 13:39:41 GMT roboburr [03fa548] * src/middleware/render.js (modified) * src/routes/lang.js (added) * src/server.js (modified) * src/services/i18n.js (added) * src/views/partials/footer.ejs (modified) * src/views/partials/post-nav.ejs (modified) * src/views/partials/topnav.ejs (modified) * src/views/partials/view-switcher.ejs (modified) feat(i18n): interface language NL/EN/DE with visitor switcher (phase ... Sat, 20 Jun 2026 12:51:42 GMT roboburr [d0f4c10] * src/routes/admin.js (modified) * src/views/pages/admin-help.ejs (added) * src/views/pages/admin.ejs (modified) feat(admin): searchable Manual in Admin New page /admin/handleiding ... Sat, 20 Jun 2026 12:40:14 GMT roboburr [bc83cc8] * src/views/pages/post-edit.ejs (modified) chore(editor): label "Excerpt" → "Samenvatting & Cirkel Preview" ...