# # ChangeLog for src/views/pages in Klonkt # # Generated by Trac 1.6 # 09/10/2026 09:37:55 AM 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: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 ... 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 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 ... 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 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 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: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 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: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: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 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 ... 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: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 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" ... Sat, 20 Jun 2026 12:29:15 GMT roboburr [bb82e7f] * src/services/StatsService.js (modified) * src/views/pages/admin-stats.ejs (modified) feat(stats): bot filter + clear labels (visitor-days ≠ unique ... Sat, 20 Jun 2026 08:35:02 GMT roboburr [d68bcf1] * src/views/pages/downloads.ejs (modified) fix(downloads): post nav pixel-identical to a post (.container.post- ... Sat, 20 Jun 2026 08:29:48 GMT roboburr [d8c6a83] * src/assets/css/style.css (modified) * src/routes/download.js (modified) * src/routes/posts.js (modified) * src/views/pages/downloads.ejs (modified) * src/views/shell.ejs (modified) fix(downloads+posts): post nav on downloads page + post images full ... Sat, 20 Jun 2026 08:04:44 GMT roboburr [6eeb459] * src/views/pages/shows.ejs (modified) * src/views/partials/shared-styles.ejs (modified) feat(agenda): rest grey on calendar/downloads + Agenda as standalone ... Sat, 20 Jun 2026 07:28:43 GMT roboburr [68b27a4] * src/middleware/render.js (modified) * src/routes/admin-shows.js (modified) * src/routes/shows.js (modified) * src/views/pages/admin-shows.ejs (modified) * src/views/partials/shared-styles.ejs (modified) * src/views/partials/view-switcher.ejs (modified) feat(agenda): Agenda opt-in — only shown when enabled + active on ... Sat, 20 Jun 2026 07:06:59 GMT roboburr [cf7c2d9] * src/views/pages/admin-shows.ejs (modified) * src/views/pages/shows.ejs (modified) * src/views/partials/shared-styles.ejs (modified) * src/views/partials/view-switcher.ejs (modified) feat(nav): Agenda link in the view-switcher + "shows" → "events" ... Sat, 20 Jun 2026 07:01:49 GMT roboburr [34b126b] * src/views/pages/admin-google.ejs (modified) * src/views/pages/admin-settings.ejs (modified) chore: "Google login (listeners)" → "(visitors)" in the Admin ... Sat, 20 Jun 2026 07:00:03 GMT roboburr [0c7e228] * src/views/pages/admin.ejs (modified) chore(admin): remove dashboard "Edit press kit" link (edit is now on ... Sat, 20 Jun 2026 06:59:07 GMT roboburr [374fbe9] * src/views/pages/epk.ejs (modified) fix(epk): press kit bio respects line breaks (white-space: pre-line) ... Sat, 20 Jun 2026 06:56:39 GMT roboburr [6c574b4] * src/views/pages/admin-epk.ejs (modified) fix(epk): clear custom checkbox instead of unclear native one ... Sat, 20 Jun 2026 06:53:53 GMT roboburr [d252ce8] * src/views/pages/admin-epk.ejs (modified) fix(epk): clear track checkboxes (accent + checked row highlighted) ... Sat, 20 Jun 2026 06:49:21 GMT roboburr [08cfdaa] * src/views/pages/epk.ejs (modified) feat(epk): admin-only "Edit" button on the press kit page itself On ... Sat, 20 Jun 2026 06:47:41 GMT roboburr [e6ad948] * src/routes/admin-epk.js (modified) * src/routes/epk.js (modified) * src/views/pages/admin-epk.ejs (modified) feat(epk): choose up to 5 tracks for the press kit (instead of auto ... Sat, 20 Jun 2026 06:44:46 GMT roboburr [57b1843] * src/views/pages/admin-epk.ejs (modified) fix(epk): clean form styling on the press kit edit page The .set-* ... Sat, 20 Jun 2026 06:41:56 GMT roboburr [9d9f3c1] * src/routes/admin-epk.js (added) * src/server.js (modified) * src/views/pages/admin-epk.ejs (added) * src/views/pages/admin.ejs (modified) feat(epk): press kit editable (bio + press contact) via Admin There ... Sat, 20 Jun 2026 05:37:42 GMT roboburr [d727e92] * src/assets/css/audio.css (modified) * src/routes/admin-audio.js (modified) * src/routes/posts.js (modified) * src/services/AudioEmbedService.js (modified) * src/services/PlaylistService.js (modified) * src/views/pages/admin-audio.ejs (modified) * src/views/shell.ejs (modified) feat(audio): tracks without audio (link-only) — list with open-in ... Sat, 20 Jun 2026 04:46:35 GMT roboburr [fef781e] * src/assets/css/embed.css (modified) * src/assets/js/audio-player.js (modified) * src/assets/js/embed-player.js (modified) * src/routes/audio.js (modified) * src/services/AudioEmbedService.js (modified) * src/views/pages/post-edit.ejs (modified) * src/views/shell.ejs (modified) revert: remove YouTube audio functionality (doesn't work) YouTube ... Sat, 20 Jun 2026 03:42:00 GMT roboburr [73b41eb] * src/assets/css/embed.css (modified) * src/assets/js/embed-player.js (modified) * src/services/AudioEmbedService.js (modified) * src/views/pages/post-edit.ejs (modified) * src/views/shell.ejs (modified) feat(embed): YouTube audio-only option in posts Per embed you now ... Sat, 20 Jun 2026 02:33:25 GMT roboburr [1720482] * CHANGELOG.md (modified) * src/routes/search.js (modified) * src/views/pages/search.ejs (modified) feat(search): tracks searchable + prefix-matching for posts - ... Sat, 20 Jun 2026 01:24:26 GMT roboburr [6d882b1] * src/routes/account.js (modified) * src/views/pages/account.ejs (modified) feat(account): email address editable Profile form gets an email ... Sat, 20 Jun 2026 01:18:06 GMT roboburr [36afccd] * src/views/pages/auth-login.ejs (modified) fix(auth): "Sign in with Google" text readable on hover The white ... Sat, 20 Jun 2026 01:16:16 GMT roboburr [6fcd0cf] * src/views/pages/account.ejs (modified) fix(account): "Link Google account" button text readable (white text) ... Sat, 20 Jun 2026 01:14:46 GMT roboburr [3ca24f9] * src/views/pages/admin-google.ejs (modified) ui(admin-google): clearer redirect URI instruction Redirect URI ... Sat, 20 Jun 2026 01:09:38 GMT roboburr [3fb8390] * src/views/pages/auth-login.ejs (modified) ui(auth): center subtitle text on login page Co-Authored-By: Claude ... Sat, 20 Jun 2026 01:06:11 GMT roboburr [77b6fca] * src/views/pages/auth-login.ejs (modified) ui(auth): clickable "Administrator?" box on public login → ... Fri, 19 Jun 2026 22:57:07 GMT roboburr [254872f] * src/views/pages/post-edit.ejs (modified) ui(editor): hide "drag image / select text" hint on touch Not ... Fri, 19 Jun 2026 22:56:00 GMT roboburr [b988c96] * src/views/pages/post-edit.ejs (modified) fix(editor): Done button only in fullscreen (specificity) + larger ... Fri, 19 Jun 2026 22:52:51 GMT roboburr [43fea32] * src/views/pages/post-edit.ejs (modified) ui(editor): larger "Done" button in fullscreen Co-Authored-By: ... Fri, 19 Jun 2026 22:44:27 GMT roboburr [9163b15] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) ui(editor): simple inline content layout on touch (toolbar hidden) ... Fri, 19 Jun 2026 22:37:36 GMT roboburr [b12e20d] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) feat(editor): edit content as a fullscreen "page" with back button + ... Fri, 19 Jun 2026 13:13:05 GMT roboburr [c1a4147] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) fix(editor): scroll lock removed — edit page could no longer scroll ... Fri, 19 Jun 2026 13:09:31 GMT roboburr [a623e7e] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) ui(editor): tap-to-edit pill sticky at the bottom instead of centred ... Fri, 19 Jun 2026 12:55:44 GMT roboburr [a4f6827] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) fix(editor): exit fullscreen scrolls to content top + clearer tap ... Fri, 19 Jun 2026 12:50:52 GMT roboburr [61bb585] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) feat(editor): content not typeable inline on touch — editing = ... Fri, 19 Jun 2026 12:42:23 GMT roboburr [de21a3b] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) fix(editor): no double scrollbar in fullscreen In fullscreen only ... Fri, 19 Jun 2026 12:38:30 GMT roboburr [e22230e] * src/views/pages/post-edit.ejs (modified) fix(editor): remove 350ms scroll guard + always type fullscreen on ... Fri, 19 Jun 2026 12:35:04 GMT roboburr [f3f43df] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) * src/views/shell.ejs (modified) ui: text fields grow with content instead of scrolling internally (no ... Fri, 19 Jun 2026 12:32:57 GMT roboburr [c01f471] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) feat(editor): always type fullscreen on mobile/tablet (touch) On ... Fri, 19 Jun 2026 12:24:21 GMT roboburr [7d81265] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) fix(editor): toolbar sticky inside the scroll box on mobile The ... Fri, 19 Jun 2026 12:20:35 GMT roboburr [859bace0] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) fix(editor): mobile writing field as bounded box with internal scroll ... Fri, 19 Jun 2026 12:14:21 GMT roboburr [2d596cf] * src/views/pages/post-edit.ejs (modified) fix(editor): catch async caret scroll on mobile Chrome (empty caret + ... Fri, 19 Jun 2026 12:09:06 GMT roboburr [f8e8f9e] * src/views/pages/post-edit.ejs (modified) fix(editor): more robust anti-jump on formatting (Chrome) ...