# # ChangeLog for src/views/pages in Klonkt # # Generated by Trac 1.6 # 09/09/2026 09:58:21 PM 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) ... Fri, 19 Jun 2026 12:06:00 GMT roboburr [cbfbf88] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) fix(editor): no view jump on formatting button — hold scroll position ... Fri, 19 Jun 2026 12:02:20 GMT roboburr [5f7dba2] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) * src/views/shell.ejs (modified) fix(editor): action bar correctly above keyboard (no mid-screen bug) ... Fri, 19 Jun 2026 11:56:37 GMT roboburr [408afc1] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) fix(editor): Save/Cancel bar above the keyboard on mobile The ... Fri, 19 Jun 2026 11:51:57 GMT roboburr [4ad669a] * src/views/pages/admin.ejs (modified) ui(admin): label the Google button in Admin simply "Google" ... Fri, 19 Jun 2026 11:45:23 GMT roboburr [a0bff44] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) fix(editor): no autofocus on title on mobile (no keyboard popup) ... Fri, 19 Jun 2026 11:42:39 GMT roboburr [06f3791] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) fix(editor): toolbar stays in view in fullscreen on mobile (visual ... Fri, 19 Jun 2026 11:38:22 GMT roboburr [d2078f4] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) feat(editor): full-screen writing mode Button in the editor toolbar ... Fri, 19 Jun 2026 11:35:34 GMT roboburr [16ce669] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) ui(editor): clear active/inactive state for formatting on mobile ... Fri, 19 Jun 2026 10:34:24 GMT roboburr [a7e8e19] * CHANGELOG.md (modified) * src/views/pages/post-edit.ejs (modified) fix(editor): mobile — formatting buttons no longer steal focus ... Fri, 19 Jun 2026 10:08:41 GMT roboburr [f83ccf3] * src/views/pages/fan-gate.ejs (modified) ui(fan-gate): post-nav cascade-identiek aan de post (.container + ... Fri, 19 Jun 2026 10:03:52 GMT roboburr [09ecc5f] * src/routes/admin-settings.js (modified) * src/views/pages/admin-google.ejs (added) * src/views/pages/admin-settings.ejs (modified) * src/views/pages/admin.ejs (modified) ui(admin): Google login on its own Admin page - New page ... Fri, 19 Jun 2026 09:57:47 GMT roboburr [f33b24a] * src/views/pages/fan-gate.ejs (modified) ui(fan-gate): post-nav pixel-perfect match with the regular post ... Fri, 19 Jun 2026 09:55:26 GMT roboburr [247988e] * CHANGELOG.md (modified) * src/routes/account.js (modified) * src/routes/auth.js (modified) * src/views/pages/account.ejs (modified) * src/views/pages/auth-login.ejs (modified) feat(auth): admin can link Google and use it to log in - Account → ... Fri, 19 Jun 2026 09:49:35 GMT roboburr [535f955] * CHANGELOG.md (modified) * src/config/database.js (modified) * src/routes/posts.js (modified) * src/views/pages/favorites.ejs (added) * src/views/pages/post.ejs (modified) * src/views/partials/like-button.ejs (added) * src/views/partials/profile-sheet.ejs (modified) * src/views/partials/topnav.ejs (modified) feat: post likes + favourites page for logged-in users - New ... Fri, 19 Jun 2026 09:38:20 GMT roboburr [1e2e9e7] * CHANGELOG.md (modified) * src/routes/posts.js (modified) * src/views/pages/fan-gate.ejs (modified) * src/views/pages/post.ejs (modified) * src/views/partials/post-nav.ejs (added) ui(fan-gate): show Newer/Older post navigation on the fan gate too ... Fri, 19 Jun 2026 09:31:54 GMT roboburr [f4b7b6a] * CHANGELOG.md (modified) * src/routes/auth.js (modified) * src/views/pages/auth-login.ejs (modified) feat(auth): public login = Google only; admin login hidden at ... Fri, 19 Jun 2026 09:16:29 GMT roboburr [5c27e8e] * CHANGELOG.md (modified) * src/views/pages/post.ejs (modified) ui(post): consistent Newer/Older navigation on every post When a ... Fri, 19 Jun 2026 09:09:45 GMT roboburr [90259da] * CHANGELOG.md (added) * package.json (modified) * src/routes/changelog.js (added) * src/server.js (modified) * src/views/pages/changelog.ejs (added) * src/views/partials/footer.ejs (modified) feat: release tracking — version in footer links to /changelog - ... Fri, 19 Jun 2026 08:49:05 GMT roboburr [323abb0] * src/views/pages/admin-settings.ejs (modified) ui(settings): mode config below Mode card + fix radio regression - ... Fri, 19 Jun 2026 08:41:37 GMT roboburr [0804d61] * src/views/pages/admin-settings.ejs (modified) ui: settings forms cleaner — stacked labels + full-width inputs ... Fri, 19 Jun 2026 08:39:16 GMT roboburr [a474bd2] * src/views/pages/admin-comments.ejs (modified) ui: comment moderation "Recent decisions" as cards instead of a flat ... Fri, 19 Jun 2026 08:37:28 GMT roboburr [da6fd02] * src/middleware/render.js (modified) * src/routes/admin-settings.js (modified) * src/views/pages/admin-settings.ejs (modified) * src/views/partials/footer.ejs (modified) newsletter: optional sign-up in the footer (toggle in Admin → ... Fri, 19 Jun 2026 08:34:13 GMT roboburr [7eb35ae] * src/views/pages/post-edit.ejs (modified) editor: note that the excerpt is also the Circles summary ... Fri, 19 Jun 2026 08:29:28 GMT roboburr [ca507ef] * src/config/mailer.js (modified) * src/routes/admin-settings.js (modified) * src/views/pages/admin-settings.ejs (modified) feat: SMTP configurable via Admin → Settings (app_settings, env ... Fri, 19 Jun 2026 08:20:35 GMT roboburr [13b2986] * src/routes/epk.js (modified) * src/views/pages/epk.ejs (modified) EPK: Music section = top 10 most played (instead of first 6 in order) ... Fri, 19 Jun 2026 08:16:57 GMT roboburr [3b6e04a] * src/server.js (modified) * src/views/pages/404.ejs (added) 404: proper, mobile-friendly page instead of bare text Catch-all ... Fri, 19 Jun 2026 08:00:37 GMT roboburr [b919a67] * src/routes/auth.js (modified) * src/views/pages/auth-login.ejs (modified) auth: all Google login errors as clear explanation blocks (codes ... Fri, 19 Jun 2026 07:57:15 GMT roboburr [70679063] * src/routes/auth.js (modified) * src/views/pages/admin-audio.ejs (modified) * src/views/pages/auth-login.ejs (modified) fix: download toggle without page reload + clear explanation page on ... Fri, 19 Jun 2026 07:26:39 GMT roboburr [e9cfa3c] * src/views/pages/admin-stats.ejs (modified) fix: stats chart overflowed the card at 90 days 90 day columns + ... Fri, 19 Jun 2026 06:47:40 GMT roboburr [8d32dcf] * src/config/database.js (modified) * src/routes/admin-shows.js (added) * src/routes/shows.js (added) * src/server.js (modified) * src/services/SubscriberService.js (modified) * src/views/pages/admin-shows.ejs (added) * src/views/pages/admin.ejs (modified) * src/views/pages/shows.ejs (added) Show agenda + notify-me (premium feature #8) — last of the 8 - DB: ... Fri, 19 Jun 2026 04:28:02 GMT roboburr [b9dc94c] * src/config/database.js (modified) * src/routes/posts.js (modified) * src/server.js (modified) * src/services/Scheduler.js (added) * src/views/pages/fan-gate.ejs (added) * src/views/pages/post-edit.ejs (modified) Release scheduling + fan-only previews (premium feature #3) - DB: ... Fri, 19 Jun 2026 04:13:46 GMT roboburr [6be57b4] * src/routes/admin-audio.js (modified) * src/routes/embed.js (added) * src/server.js (modified) * src/views/pages/admin-audio.ejs (modified) * src/views/pages/embed-player.ejs (added) Embeddable player (premium feature #7) Standalone /embed page (no ... Fri, 19 Jun 2026 04:07:24 GMT roboburr [1794fac] * src/config/database.js (modified) * src/routes/admin-stats.js (modified) * src/services/StatsService.js (modified) * src/views/pages/admin-stats.ejs (modified) Pro stats (premium feature #5): referrers + period selector + all- ... Fri, 19 Jun 2026 03:46:42 GMT roboburr [37edecd] * src/config/database.js (modified) * src/routes/admin-stats.js (modified) * src/routes/linkbio.js (added) * src/server.js (modified) * src/views/pages/admin-stats.ejs (modified) * src/views/pages/admin.ejs (modified) * src/views/pages/linkbio.ejs (added) Link-in-bio + click stats (premium feature #6) Linktree-style page ... Fri, 19 Jun 2026 01:09:15 GMT roboburr [91094a4] * src/config/database.js (modified) * src/routes/admin-audio.js (modified) * src/routes/download.js (added) * src/server.js (modified) * src/views/pages/admin-audio.ejs (modified) * src/views/pages/admin.ejs (modified) * src/views/pages/download.ejs (added) * src/views/pages/downloads.ejs (added) Download-for-email (premium feature #2) Fan leaves their email -> ... Fri, 19 Jun 2026 00:00:48 GMT roboburr [2e247e4] * src/config/database.js (modified) * src/routes/admin-newsletter.js (added) * src/routes/newsletter.js (added) * src/server.js (modified) * src/services/SubscriberService.js (added) * src/views/pages/admin-newsletter.ejs (added) * src/views/pages/admin.ejs (modified) * src/views/pages/newsletter.ejs (added) Newsletter / mailing list (premium feature #1) + SMTP wiring Email ... Thu, 18 Jun 2026 23:49:09 GMT roboburr [255e3d3] * src/routes/epk.js (added) * src/server.js (modified) * src/views/pages/epk.ejs (added) EPK / press kit (premium feature #4): shareable /pers press page per ... Thu, 18 Jun 2026 16:28:28 GMT roboburr [91d948c] * src/views/pages/post-edit.ejs (modified) Editor: blockquote button is now a real toggle (turning it off works) ... Thu, 18 Jun 2026 08:48:18 GMT roboburr [fbc8628] * src/routes/admin-audio.js (modified) * src/views/pages/admin-audio.ejs (modified) Audio upload: WAV up to 100 MB (other formats remain 50 MB) WAV is ... Thu, 18 Jun 2026 08:02:13 GMT roboburr [03af7f8] * src/views/pages/admin-seo.ejs (modified) SEO page: own style block (label-per-row, clean fields) The ... Thu, 18 Jun 2026 07:50:13 GMT roboburr [6623453] * src/routes/admin-seo.js (added) * src/routes/admin-sites.js (modified) * src/server.js (modified) * src/views/pages/admin-seo.ejs (added) * src/views/pages/admin-site-edit.ejs (modified) * src/views/pages/admin.ejs (modified) Admin: dedicated SEO page (/admin/seo) for advanced SEO The ... Thu, 18 Jun 2026 06:57:17 GMT roboburr [5c261b7] * src/views/pages/circle-feed.ejs (modified) Circle feed: "je" → "mijn" + standalone "Add sites via Admin" ... Thu, 18 Jun 2026 06:53:31 GMT roboburr [8e29f77] * src/views/pages/post.ejs (modified) Post: less blank space above the nav (.post-page margin-top 2rem → ... Thu, 18 Jun 2026 06:48:40 GMT roboburr [74544fb] * src/db/migrations/001-init.sql (modified) * src/routes/admin-sites.js (modified) * src/services/ensurePrimarySite.js (modified) * src/views/pages/post.ejs (modified) New sites: require login to comment on by default + post nav at top ... Thu, 18 Jun 2026 06:44:08 GMT roboburr [fee35fa] * src/views/pages/admin-settings.ejs (modified) Hub settings: hero preview properly full-width (object-fit cover ...