# # ChangeLog for src/views/partials/topnav.ejs in Klonkt # # Generated by Trac 1.6 # 09/09/2026 06:01:19 PM Fri, 07 Aug 2026 13:38:51 GMT roboburr [156baa3] * src/assets/js/mod/admin-media.js (added) * src/assets/js/mod/admin-playlists.js (added) * src/assets/js/mod/admin-videos.js (added) * src/assets/js/mod/chrome.js (modified) * src/assets/js/mod/paid-gate.js (added) * src/assets/js/mod/paid-passkey.js (added) * src/routes/admin-media.js (modified) * src/routes/admin-playlists.js (modified) * src/routes/paid.js (modified) * src/routes/posts.js (modified) * src/views/pages/admin-media.ejs (modified) * src/views/pages/admin-playlists.ejs (modified) * src/views/pages/admin-videos.ejs (modified) * src/views/pages/paid-gate.ejs (modified) * src/views/pages/paid-passkey.ejs (modified) * src/views/partials/profile-sheet.ejs (modified) * src/views/partials/topnav.ejs (modified) De chrome en vier schermen met servergegevens (shaer-bqr, stap 3e) ... Fri, 31 Jul 2026 18:55:59 GMT Robin [72ec6a4] * src/config/database.js (modified) * src/middleware/render.js (modified) * src/middleware/site.js (modified) * src/routes/admin-settings.js (modified) * src/routes/admin.js (modified) * src/routes/audio.js (modified) * src/routes/download.js (modified) * src/routes/guardian.js (modified) * src/routes/posts.js (modified) * src/routes/search.js (modified) * src/services/ActivityPubService.js (modified) * src/services/SettingsService.js (modified) * src/views/pages/admin-site-edit.ejs (modified) * src/views/pages/admin-users.ejs (modified) * src/views/pages/admin.ejs (modified) * src/views/pages/guardian.ejs (modified) * src/views/partials/bottom-tab.ejs (modified) * src/views/partials/chrome.ejs (modified) * src/views/partials/topnav.ejs (modified) Hub-modus en guardian-lite eruit Robins besluit (31-7): een ... Sun, 28 Jun 2026 16:57:19 GMT Robin Genis [99989f9] * src/views/pages/account.ejs (modified) * src/views/pages/admin-site-edit.ejs (modified) * src/views/pages/admin-users.ejs (modified) * src/views/pages/epk.ejs (modified) * src/views/pages/user.ejs (modified) * src/views/partials/bottom-tab.ejs (modified) * src/views/partials/profile-header.ejs (modified) * src/views/partials/profile-sheet.ejs (modified) * src/views/partials/topnav.ejs (modified) feat(images): route all remaining avatars through avatar() ... Sun, 28 Jun 2026 12:11:39 GMT Robin Genis [a995698] * src/views/partials/profile-sheet.ejs (modified) * src/views/partials/topnav.ejs (modified) fix(ui): hide Fediverse + Notifications nav when AP/federation is off ... Sat, 27 Jun 2026 21:53:29 GMT Robin Genis [d2b7247] * deploy/DEPLOY.md (modified) * deploy/backup.sh (modified) * deploy/nginx.conf.example (modified) * deploy/post-receive (modified) * ecosystem.config.cjs (modified) * src/assets/css/audio.css (modified) * src/assets/css/style.css (modified) * src/db/migrations/001-init.sql (modified) * src/views/partials/bottom-tab.ejs (modified) * src/views/partials/chrome.ejs (modified) * src/views/partials/topnav.ejs (modified) chore(branding): stale product names in comments + deploy templates ... Fri, 26 Jun 2026 17:04:49 GMT Robin Genis [eefd302] * src/routes/posts.js (modified) * src/services/i18n.js (modified) * src/views/pages/admin.ejs (modified) * src/views/pages/following.ejs (modified) * src/views/pages/news.ejs (moved) * src/views/partials/fedi-tabs.ejs (modified) * src/views/partials/profile-sheet.ejs (modified) * src/views/partials/topnav.ejs (modified) feat(fedi): rename feed Newspaper -> News (/newspaper -> /news) EN ... Fri, 26 Jun 2026 16:49:12 GMT Robin Genis [f6b2c68] * src/server.js (modified) * src/views/partials/topnav.ejs (modified) * src/views/shell.ejs (modified) fix(ios-pwa): pad body for safe-area when masthead is hidden on ... Fri, 26 Jun 2026 15:56:42 GMT Robin Genis [0fa59c3] * src/routes/posts.js (modified) * src/services/i18n.js (modified) * src/views/pages/admin.ejs (modified) * src/views/pages/following.ejs (modified) * src/views/pages/newspaper.ejs (moved) * src/views/partials/fedi-tabs.ejs (modified) * src/views/partials/profile-sheet.ejs (modified) * src/views/partials/topnav.ejs (modified) feat(fedi): rename Timeline tab/route to Newspaper (/timeline -> ... Fri, 26 Jun 2026 14:14:00 GMT Robin Genis [297c77d] * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/views/pages/admin.ejs (modified) * src/views/pages/blocks.ejs (modified) * src/views/pages/timeline.ejs (modified) * src/views/pages/volgend.ejs (modified) * src/views/partials/fedi-tabs.ejs (modified) * src/views/partials/profile-sheet.ejs (modified) * src/views/partials/topnav.ejs (modified) refactor(fedi): English URL paths + equal-width tabs + back-to-site ... Fri, 26 Jun 2026 13:50:51 GMT Robin Genis [9e5438e] * src/services/i18n.js (modified) * src/views/pages/authorize-interaction.ejs (modified) * src/views/pages/blocks.ejs (modified) * src/views/pages/fedi-notifications.ejs (modified) * src/views/pages/timeline.ejs (modified) * src/views/pages/volgend.ejs (modified) * src/views/partials/fedi-tabs.ejs (added) * src/views/partials/profile-sheet.ejs (modified) * src/views/partials/tl-tabs.ejs (deleted) * src/views/partials/topnav.ejs (modified) feat(fedi): unify Timeline/Following/Replies/Notifications/Blocking ... Fri, 26 Jun 2026 09:05:28 GMT Robin Genis [46f3dd6] * src/routes/posts.js (modified) * src/services/i18n.js (modified) * src/views/pages/timeline.ejs (modified) * src/views/pages/volgend.ejs (added) * src/views/partials/profile-sheet.ejs (modified) * src/views/partials/tl-tabs.ejs (added) * src/views/partials/topnav.ejs (modified) feat(fediverse): split Tijdlijn (feed) from Volgend (following) + put ... Thu, 25 Jun 2026 05:22:51 GMT Robin Genis [e951b7c] * src/middleware/render.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/views/partials/topnav.ejs (modified) feat(fediverse): real bell badge for unseen notifications Track a ... Wed, 24 Jun 2026 18:05:39 GMT Robin Genis [5410d4d] * src/routes/posts.js (modified) * src/views/pages/favorites.ejs (deleted) * src/views/partials/profile-sheet.ejs (modified) * src/views/partials/topnav.ejs (modified) Remove the dead Favourites feature (local likes replaced by fediverse ... Wed, 24 Jun 2026 16:14:13 GMT Robin Genis [19a72df] * src/views/partials/topnav.ejs (modified) fix(topnav): keep the bell, drop the duplicate Notifications menu ... Wed, 24 Jun 2026 16:08:34 GMT Robin Genis [f5c3870] * src/config/database.js (modified) * src/middleware/render.js (modified) * src/routes/posts.js (modified) * src/services/ActivityPubService.js (modified) * src/services/i18n.js (modified) * src/views/pages/admin.ejs (modified) * src/views/pages/blocks.ejs (added) * src/views/pages/timeline.ejs (modified) * src/views/partials/topnav.ejs (modified) feat(fediverse-client): block/defederate accounts & domains Block ... 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 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 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 ... 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 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 ... 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: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 ... 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 ... Wed, 17 Jun 2026 04:02:46 GMT roboburr [441f5d6] * src/assets/css/style.css (modified) * src/views/partials/bottom-tab.ejs (modified) * src/views/partials/topnav.ejs (modified) * src/views/shell.ejs (modified) Login navigation via htmx (audio no longer jumps when opening login) ... Wed, 17 Jun 2026 03:48:04 GMT roboburr [dbde7f8] * src/views/partials/topnav.ejs (modified) Fix: theme toggle stops working after htmx navigation (stacked ... Wed, 17 Jun 2026 01:03:25 GMT roboburr [c2a9522] * src/assets/css/style.css (modified) * src/views/partials/topnav.ejs (modified) * src/views/shell.ejs (modified) User-menu dropdown frosted blur now works: masthead backdrop-filter ... Wed, 17 Jun 2026 01:00:03 GMT roboburr [d8693e4] * src/views/partials/topnav.ejs (modified) User-menu dropdown: frosted-glass background (more transparent 66% + ... Wed, 17 Jun 2026 00:12:59 GMT roboburr [44cf44d] * src/views/pages/hub-home.ejs (modified) * src/views/partials/topnav.ejs (modified) Audio: Admin/Account navigation via htmx (player stays alive, no ... Tue, 16 Jun 2026 23:35:13 GMT roboburr [03bfdce] * src/assets/css/style.css (modified) * src/views/pages/hub-home.ejs (modified) * src/views/partials/topnav.ejs (modified) * src/views/shell.ejs (modified) Hub: always render chrome + CSS toggle (body.on-hub) → hub nav via ... Tue, 16 Jun 2026 06:58:03 GMT roboburr [8aa85d0] * src/middleware/render.js (modified) * src/routes/prutter.js (modified) * src/services/PatreonService.js (modified) * src/views/pages/admin-settings.ejs (modified) * src/views/pages/user.ejs (modified) * src/views/partials/bottom-tab.ejs (modified) * src/views/partials/topnav.ejs (modified) Prutter = premium Hub feature: Hub-only + behind premium gate ... Tue, 16 Jun 2026 04:16:33 GMT roboburr [a742e9f] * src/views/partials/topnav.ejs (modified) Fix: top-nav profile menu shows 'God' for the god role instead of ... Tue, 16 Jun 2026 01:56:56 GMT roboburr [9f81a09] * src/assets/css/style.css (modified) * src/views/partials/bottom-tab.ejs (modified) * src/views/partials/topnav.ejs (modified) * src/views/partials/view-switcher.ejs (modified) Circles: Solo/Circle scope toggle in the switcher bar (left) + Circle ... Tue, 16 Jun 2026 01:40:49 GMT roboburr [0908b8f] * src/views/partials/bottom-tab.ejs (modified) * src/views/partials/topnav.ejs (modified) Circles: Circle nav link (desktop + mobile) when tenancy=circle ... Mon, 15 Jun 2026 01:37:31 GMT roboburr [851239c] * src/views/pages/post-edit.ejs (modified) * src/views/partials/topnav.ejs (modified) fix: topnav home button (home icon) + post-edit save/cancel with ... Sun, 14 Jun 2026 18:35:59 GMT roboburr [a3169f5] * src/middleware/render.js (modified) * src/views/pages/hub-home.ejs (modified) * src/views/partials/profile-sheet.ejs (modified) * src/views/partials/topnav.ejs (modified) fix: viewer now sees the Admin link too (canSeeBeheer) The Admin ... Sun, 14 Jun 2026 18:07:51 GMT roboburr [8afbdd6] * README.md (modified) * package.json (modified) * src/middleware/auth.js (modified) * src/middleware/render.js (modified) * src/routes/admin-sites.js (modified) * src/routes/admin-users.js (modified) * src/routes/admin.js (modified) * src/routes/artists.js (added) * src/routes/hub.js (modified) * src/routes/posts.js (modified) * src/routes/prutter.js (modified) * src/server.js (modified) * src/views/pages/account.ejs (modified) * src/views/pages/admin-settings.ejs (modified) * src/views/pages/admin-users.ejs (modified) * src/views/pages/admin.ejs (modified) * src/views/pages/artists-directory.ejs (added) * src/views/pages/home.ejs (modified) * src/views/pages/hub-home.ejs (modified) * src/views/pages/my-site.ejs (modified) * src/views/pages/post.ejs (modified) * src/views/pages/viewer-blocked.ejs (added) * src/views/partials/bottom-tab.ejs (modified) * src/views/partials/footer.ejs (modified) * src/views/partials/profile-sheet.ejs (modified) * src/views/partials/topnav.ejs (modified) * src/views/shell.ejs (modified) feat: viewer role + artists directory + Klonkt Hub Beta rebrand ... Sun, 14 Jun 2026 17:10:16 GMT roboburr [0c2228a] * src/routes/admin-users.js (modified) * src/views/pages/admin-users.ejs (modified) * src/views/partials/topnav.ejs (modified) hub: home button actually visible + delete for every user (cascade) ... Sun, 14 Jun 2026 16:59:38 GMT roboburr [42081fb] * src/middleware/render.js (modified) * src/views/partials/topnav.ejs (modified) hub: home button on user sites — masthead brand becomes the hub name ... Sun, 14 Jun 2026 16:17:14 GMT roboburr [8cb1dc7] * src/middleware/auth.js (modified) * src/middleware/render.js (modified) * src/routes/admin-comments.js (modified) * src/routes/admin-sites.js (modified) * src/routes/admin.js (modified) * src/views/pages/admin-comments.ejs (modified) * src/views/pages/hub-home.ejs (modified) * src/views/pages/my-site.ejs (added) * src/views/partials/topnav.ejs (modified) hub: artist self-management — owner manages their own subsite ... Sun, 14 Jun 2026 08:33:10 GMT roboburr [2cc887b] * src/middleware/render.js (modified) * src/views/pages/admin.ejs (modified) * src/views/partials/bottom-tab.ejs (modified) * src/views/partials/topnav.ejs (modified) tenancy: Prutter in hub only; Account tile removed from admin; ... Wed, 06 May 2026 22:18:18 GMT Robin [7bc636b] * .env.example (added) * .gitignore (added) * README.md (added) * ecosystem.config.cjs (added) * package-lock.json (added) * package.json (added) * src/assets/.well-known/assetlinks.json (added) * src/assets/apk/soundfabrics.apk (added) * src/assets/css/audio.css (added) * src/assets/css/style.css (added) * src/assets/fonts/fraunces-latin-full-italic.woff2 (added) * src/assets/fonts/fraunces-latin-full-normal.woff2 (added) * src/assets/fonts/literata-latin-opsz-italic.woff2 (added) * src/assets/fonts/literata-latin-opsz-normal.woff2 (added) * src/assets/fonts/plus-jakarta-sans-latin-wght-italic.woff2 (added) * src/assets/fonts/plus-jakarta-sans-latin-wght-normal.woff2 (added) * src/assets/js/audio-player.js (added) * src/assets/js/htmx.min.js (added) * src/assets/js/install-app.js (added) * src/config/database.js (added) * src/db/migrate.js (added) * src/db/migrations/001-init.sql (added) * src/middleware/auth.js (added) * src/middleware/rate-limit.js (added) * src/middleware/render.js (added) * src/middleware/site.js (added) * src/routes/account.js (added) * src/routes/admin-audio.js (added) * src/routes/admin-comments.js (added) * src/routes/admin-playlists.js (added) * src/routes/admin-sites.js (added) * src/routes/admin-users.js (added) * src/routes/admin.js (added) * src/routes/audio.js (added) * src/routes/auth.js (added) * src/routes/comments.js (added) * src/routes/feed.js (added) * src/routes/posts.js (added) * src/routes/prutter.js (added) * src/routes/search.js (added) * src/routes/tags.js (added) * src/routes/types.js (added) * src/routes/users.js (added) * src/server.js (added) * src/services/AudioEmbedService.js (added) * src/services/AudioStreamService.js (added) * src/services/AudioTranscoder.js (added) * src/services/CRDTService.js (added) * src/services/HtmlSanitizerService.js (added) * src/services/MarkdownService.js (added) * src/services/PermissionsService.js (added) * src/services/PlatformIcons.js (added) * src/services/PlaylistService.js (added) * src/services/PrutterService.js (added) * src/services/SqliteSessionStore.js (added) * src/services/ThemeService.js (added) * src/views/pages/account.ejs (added) * src/views/pages/admin-audio.ejs (added) * src/views/pages/admin-comments.ejs (added) * src/views/pages/admin-playlists.ejs (added) * src/views/pages/admin-site-edit.ejs (added) * src/views/pages/admin-sites.ejs (added) * src/views/pages/admin-users.ejs (added) * src/views/pages/admin.ejs (added) * src/views/pages/archive.ejs (added) * src/views/pages/auth-login.ejs (added) * src/views/pages/auth-register.ejs (added) * src/views/pages/auth-reset-request.ejs (added) * src/views/pages/auth-reset.ejs (added) * src/views/pages/home.ejs (added) * src/views/pages/post-edit.ejs (added) * src/views/pages/post.ejs (added) * src/views/pages/prutter-conversation.ejs (added) * src/views/pages/prutter-inbox.ejs (added) * src/views/pages/search.ejs (added) * src/views/pages/tag.ejs (added) * src/views/pages/type.ejs (added) * src/views/pages/user.ejs (added) * src/views/pages/welcome.ejs (added) * src/views/partials/bottom-tab.ejs (added) * src/views/partials/footer.ejs (added) * src/views/partials/playlist-editor.ejs (added) * src/views/partials/post-card.ejs (added) * src/views/partials/post-tile.ejs (added) * src/views/partials/profile-header.ejs (added) * src/views/partials/profile-sheet.ejs (added) * src/views/partials/shared-styles.ejs (added) * src/views/partials/topnav.ejs (added) * src/views/partials/track-editor.ejs (added) * src/views/partials/view-switcher.ejs (added) * src/views/shell.ejs (added) Initial commit — PrutFolio v1 source (pulled from Hetzner /srv/prutfolio)