# # ChangeLog for src in Klonkt # # Generated by Trac 1.6 # 09/09/2026 02:04:46 PM 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" ... 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 09:01:46 GMT roboburr [92bad27] * src/assets/css/style.css (modified) * src/views/shell.ejs (modified) revert(layout): remove scrollbar-gutter — caused a phantom dead ... Sat, 20 Jun 2026 08:59:22 GMT roboburr [2e454455] * src/assets/css/style.css (modified) * src/views/shell.ejs (modified) fix(layout): scrollbar-gutter: stable — no content shift between ... Sat, 20 Jun 2026 08:55:18 GMT roboburr [703ead3] * src/assets/css/style.css (modified) * src/views/shell.ejs (modified) fix(downloads): post width with higher specificity (.container.post- ... Sat, 20 Jun 2026 08:53:59 GMT roboburr [210a9cb] * src/assets/css/style.css (modified) * src/views/shell.ejs (modified) fix(downloads): same post width as a real post .post-page ... Sat, 20 Jun 2026 08:45:30 GMT roboburr [45d22b1] * src/assets/css/style.css (modified) * src/views/shell.ejs (modified) fix(posts): cover image shows in full (no crop) .post-cover img had ... Sat, 20 Jun 2026 08:39:48 GMT roboburr [cc22112] * src/routes/download.js (modified) fix(downloads): compact profile header (on-special) like on a post ... 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:21:47 GMT roboburr [cf0de0c] * src/views/shell.ejs (modified) fix(nav): syncAria also on pcmsNav + delayed retry (htmx race) ... Sat, 20 Jun 2026 08:19:11 GMT roboburr [1c6d61c] * src/assets/css/style.css (modified) * src/views/partials/shared-styles.ejs (modified) * src/views/partials/view-switcher.ejs (modified) * src/views/shell.ejs (modified) fix(nav): Timeline/Grid active state via aria-selected (htmx-robust) ... Sat, 20 Jun 2026 08:11:45 GMT roboburr [4dcefa1] * src/assets/css/style.css (modified) * src/views/partials/shared-styles.ejs (modified) * src/views/partials/view-switcher.ejs (modified) * src/views/shell.ejs (modified) fix(agenda): robust grey-on-calendar (htmx-proof) via source rule + ... 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:57:56 GMT roboburr [1eff06a] * src/views/partials/shared-styles.ejs (modified) * src/views/partials/view-switcher.ejs (modified) refactor(nav): Agenda as its own pill (separate from Timeline/Grid) ... Sat, 20 Jun 2026 07:47:56 GMT roboburr [da4387b] * src/views/partials/shared-styles.ejs (modified) * src/views/shell.ejs (modified) fix(nav): stale page class after htmx nav + Agenda-active white - ... Sat, 20 Jun 2026 07:41:43 GMT roboburr [b200738] * src/views/partials/chrome.ejs (modified) * src/views/partials/shared-styles.ejs (modified) fix(downloads+agenda): downloads list gets header+pill; Solo/Circle ... Sat, 20 Jun 2026 07:35:49 GMT roboburr [d219d56] * src/views/partials/shared-styles.ejs (modified) fix(agenda): Timeline/Grid truly grey on the calendar page ... Sat, 20 Jun 2026 07:33:34 GMT roboburr [bad5c77] * src/views/partials/shared-styles.ejs (modified) fix(agenda): on the calendar page only Agenda active, Timeline/Grid ... Sat, 20 Jun 2026 07:30:37 GMT roboburr [0fcc09c] * src/views/partials/chrome.ejs (modified) feat(agenda): full chrome + pill kept on the calendar page Removed ... 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:22:21 GMT roboburr [d7b5a6c] * src/views/partials/shared-styles.ejs (modified) * src/views/partials/view-switcher.ejs (modified) feat(nav): Agenda IN the Timeline/Grid pill (Agenda · Timeline · ... 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 ...