Changeset eb5f978 in Klonkt for CHANGELOG.md
- Timestamp:
- 06/27/2026 01:58:39 PM (2 months ago)
- Branches:
- main
- Children:
- 98fe58a
- Parents:
- 0960c1d
- File:
-
- 1 edited
-
CHANGELOG.md (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
CHANGELOG.md
r0960c1d reb5f978 1 # Wijzigingen— Klonkt1 # Changelog — Klonkt 2 2 3 All e noemenswaardige wijzigingen aan Klonkt. Nieuwste bovenaan.4 Versi es volgen [SemVer](https://semver.org/lang/nl/) (`1.0.0-beta.N` tijdens de beta).3 All notable changes to Klonkt. Newest at the top. 4 Versions follow [SemVer](https://semver.org/) (`1.0.0-beta.N` during the beta). 5 5 6 > **Tw ee losse versienummers — niet verwarren:**7 > - **App -versie** (deze changelog + footer, `package.json`) = cosmetisch; bump elkerelease.8 > - **Federati e-proto** (`KLONKT_PROTO` in `CircleFederation.js`, nu **2**) = bepaalt of9 > Klonkt -sites in elkaars **cirkel** kunnen federeren (zit in de getekende grondslag).10 > Een app-versie-bump verandert de proto **niet** en breekt cirkels dus niet. Bump de11 > proto ** alleen** bij federatie-/security-wijzigingen, en rol die danin **lockstep**12 > uit naar álle instances (incl. de democirkels) zodat ze blijven samenwerken.6 > **Two separate version numbers — don't confuse them:** 7 > - **App version** (this changelog + footer, `package.json`) = cosmetic; bump every release. 8 > - **Federation proto** (`KLONKT_PROTO` in `CircleFederation.js`, now **2**) = determines whether 9 > Klonkt sites can federate into each other's **circle** (it's part of the signed basis). 10 > An app-version bump does **not** change the proto and therefore doesn't break circles. Bump the 11 > proto **only** for federation/security changes, and then roll it out in **lockstep** 12 > to all instances (including the democircles) so they keep working together. 13 13 14 14 ## [Unreleased] 15 15 16 ### Toegevoegd17 - Zoeken doorzoekt nu ook **nummers** (op titel, artiest én album), niet alleenposts.18 Gevonden nummers zijn direct afspeelbaar in de resultatenlijst, met een19 "in post →" -link naar de post/album/playlist waarin het nummer voorkomt.20 - Posts -zoek gebruikt nu **prefix-matching**: typ "astr" en je vindt"astra"21 (e lk woord als prefix, AND tussen de woorden) — fijner zoeken-terwijl-je-typt.22 - **Fediverse -client**: volg accounts (WebFinger → ondertekende Follow), een23 **home -tijdlijn** (`/tijdlijn`) van wie je volgt, een **meldingen-inbox**24 (`/meldingen`), en ⭐-like / 🔁-boost / ↩-reageren vanuit de tijdlijn.25 - **Like n én reageren via de fediverse** op een post: bezoekers vullen alleen26 hun eigen server in (`@jij@server` of `server.com`) en handelen het af op hun27 eigen account (`/authorize_interaction`).28 - **HTTP -handtekeningen afgedwongen** op de inbox: ongetekende of vervalste29 activit eiten worden geweigerd — geen nep-reacties/likes/volgers meer.30 - **Blo kkeren/defedereren** van een account of een heel domein (`/blokkeren`).31 - **Live them a-preview** in Beheer → site-instellingen: accent, thema en palet32 meteen zichtbaar vóór je opslaat.16 ### Added 17 - Search now also covers **tracks** (by title, artist and album), not just posts. 18 Found tracks are directly playable in the results list, with an 19 "in post →" link to the post/album/playlist the track appears in. 20 - Posts search now uses **prefix matching**: type "astr" and you'll find "astra" 21 (each word as a prefix, AND between the words) — nicer search-as-you-type. 22 - **Fediverse client**: follow accounts (WebFinger → signed Follow), a 23 **home timeline** (`/tijdlijn`) of who you follow, a **notifications inbox** 24 (`/meldingen`), and ⭐-like / 🔁-boost / ↩-reply from the timeline. 25 - **Like and reply via the fediverse** on a post: visitors only fill in 26 their own server (`@you@server` or `server.com`) and handle it on their 27 own account (`/authorize_interaction`). 28 - **HTTP signatures enforced** on the inbox: unsigned or forged 29 activities are rejected — no more fake replies/likes/followers. 30 - **Block/defederate** an account or an entire domain (`/blokkeren`). 31 - **Live theme preview** in Admin → site settings: accent, theme and palette 32 visible immediately before you save. 33 33 34 ### Gewijzigd35 - **Palette n herzien** naar 8: de neutrale **Klonkt** (wit/zwart, goudenaccent)36 is n u de standaard, plus 7 echte-kleur thema's (Forest, Ocean, Teal, Lilac,37 Sunset, Candy, Amber). Accent -keuze opgeschoond; de Klonkt-achtergrond volgt38 nu de gekozen accentkleur.34 ### Changed 35 - **Palettes revised** to 8: the neutral **Klonkt** (white/black, gold accent) 36 is now the default, plus 7 real-color themes (Forest, Ocean, Teal, Lilac, 37 Sunset, Candy, Amber). Accent choice cleaned up; the Klonkt background now 38 follows the chosen accent color. 39 39 40 ### Verwijderd41 - **Hub -modus** verwijderd — Klonkt is voortaan **solo of cirkels**. Een42 collecti ef/label maak je nu via **Cirkels** (gefedereerde losse sites).43 - **Native reacties + Google-login** verwijderd — interactie loopt nu volledig44 via de **fediverse**.45 - **Lo kale favorieten (♥)** verwijderd — vervangen door de ⭐ fediverse-like.40 ### Removed 41 - **Hub mode** removed — Klonkt is now **solo or circles**. You now create a 42 collective/label via **Circles** (federated standalone sites). 43 - **Native comments + Google login** removed — interaction now runs entirely 44 via the **fediverse**. 45 - **Local favorites (♥)** removed — replaced by the ⭐ fediverse like. 46 46 47 ### Opgelost48 - Mini -speler: spring + scroll naar de spelende track werkt nu ook vanuit een49 **album o f playlist** (de track-id zat niet in de afspeel-queue).50 - De track die nu speelt krijgt een **blijvende highlight** in de post.51 - Lege **album/playlist-covers** hersteld (een gemiste verwijzing in de52 WebP -conversie) + ze vallen nu terug op de cover van de eerstetrack.53 - Kapotte **avatar/profielfoto** in de kop na de WebP-conversie: de viewer-avatar54 ( en rol) wordt nu vers uit de database gelezen, dus een oude sessie herstelt55 zichzelf zonder opnieuw inloggen.47 ### Fixed 48 - Mini player: jump + scroll to the playing track now also works from an 49 **album or playlist** (the track id wasn't in the playback queue). 50 - The currently playing track now gets a **persistent highlight** in the post. 51 - Empty **album/playlist covers** fixed (a missed reference in the 52 WebP conversion) + they now fall back to the cover of the first track. 53 - Broken **avatar/profile photo** in the header after the WebP conversion: the viewer avatar 54 (and role) is now read fresh from the database, so an old session repairs 55 itself without logging in again. 56 56 57 ### Opgelost (eerder)58 - Inline content -layout op touch versimpeld: geen opmaak-toolbar/rand meer inline59 (je bewerkt toch fullscreen) — alleen de content-preview + de tik-om-te-bewerken-pill.60 - Kon niet scrollen op de bewerk-pagina: de fullscreen scroll-lock (overflow:hidden61 o p html/body) bleef hangen. Lock verwijderd — het fullscreen-frame dekt de pagina62 a l af en op touch zijn de scrollbalken verborgen.63 - Fullscreen verlaten scrolt nu naar de top van de content (i.p.v. door te springen64 naar de footer).65 - "Tik om te bewerken"-aanwijzing op touch is nu een pill die sticky onderaan de66 container plakt (boven de Opslaan-balk) i.p.v. lelijk gecentreerd in de tekst.67 - Scrollba lken verborgen op mobiel & tablet (touch) — scrollen blijft werken,68 alleen de balk-UI is weg (geen verwarrende/dubbele balken).69 - Fullscreen -editor: geen dubbele scrollbalk meer — in fullscreen scrollt alléén70 het tekstveld; het frame en de pagina (html+body) erachter zijn vergrendeld.71 - Editor: het beeld verspringt niet meer bij het aanklikken van een opmaakknop.72 O p mobiel is het schrijfveld nu een begrensde scroll-box met de opmaak-toolbar73 STICKY bovenin: de tekst scrollt eronder, de toolbar blijft altijd in beeld, en74 de caret-scroll die mobiel Chrome forceert blijft binnen de box i.p.v. de hele75 pag ina te laten verspringen. (Plus: scrollpositie wordt vastgehouden rond elk76 opmaak-commando.) `interactive-widget=resizes-content` weer verwijderd — dat liet77 de pagina omhoog scrollen voor het toetsenbord en brak de kb-open-detectie; de78 acti ebalk + fullscreen regelen het toetsenbord via de visual viewport.79 - Post -editor op mobiel: de Opslaan/Annuleren-balk blijft nu net bóven het80 toetsenbord (sticky met dynamische bottom-offset = max van toetsenbord- en81 audio speler-hoogte), i.p.v. erachter te vallen of midden in beeld te zweven.82 Viewport sc haalt mee met het toetsenbord (`interactive-widget=resizes-content`).83 - Mobi el toetsenbord vs. layout (site-breed): zodra het toetsenbord opent tijdens84 het typen, verbergen de vaste onderbalken (bottom-tab + mini-speler) zich, zodat85 ze niet meer over het invoerveld zweven of het overlappen. Ze komen terug zodra86 het toetsenbord sluit. (Detectievia visualViewport → `body.kb-open`.)87 - Post bewerken op mobiel opende niet meer meteen het toetsenbord: de titel kreeg88 niet langer automatisch focus (`autofocus` weg). Op desktop focust de titel nog wel.89 - Posts schrijven op mobiel: een opmaakknop (vet/cursief/…) stal de focus uit het90 te kstveld → de selectie ging verloren (vet kon niet meer uitgezet worden) en de91 pag ina sprong naar beneden. De toolbar houdt de focus nu in de editor92 (mousedown-preventDefault + focus zonder scroll), dus toggelen werkt en er is geen93 sprong meer. Toolbar-taps zijn ook sneller (touch-action: manipulation). Actieve94 opmaak is nu duidelijk gevuld met de accentkleur (en :hover plakt niet meer op95 touch), zodat zichtbaar is of bv. vet aan of uit staat.57 ### Fixed (earlier) 58 - Inline content layout on touch simplified: no formatting toolbar/border inline 59 anymore (you edit fullscreen anyway) — only the content preview + the tap-to-edit pill. 60 - Couldn't scroll on the edit page: the fullscreen scroll lock (overflow:hidden 61 on html/body) stayed stuck. Lock removed — the fullscreen frame already covers the page 62 and on touch the scrollbars are hidden. 63 - Leaving fullscreen now scrolls to the top of the content (instead of jumping 64 down to the footer). 65 - The "tap to edit" hint on touch is now a pill that sticks to the bottom of the 66 container (above the Save bar) instead of being ugly-centered in the text. 67 - Scrollbars hidden on mobile & tablet (touch) — scrolling still works, 68 only the bar UI is gone (no confusing/duplicate bars). 69 - Fullscreen editor: no more double scrollbar — in fullscreen only the 70 text field scrolls; the frame and the page (html+body) behind it are locked. 71 - Editor: the view no longer jumps when clicking a formatting button. 72 On mobile the writing field is now a bounded scroll box with the formatting toolbar 73 STICKY at the top: the text scrolls underneath it, the toolbar always stays in view, and 74 the caret scroll that mobile Chrome forces stays within the box instead of making the whole 75 page jump. (Plus: scroll position is held around each 76 formatting command.) `interactive-widget=resizes-content` removed again — it made 77 the page scroll up for the keyboard and broke the kb-open detection; the 78 action bar + fullscreen handle the keyboard via the visual viewport. 79 - Post editor on mobile: the Save/Cancel bar now stays just above the 80 keyboard (sticky with a dynamic bottom offset = max of keyboard and 81 audio-player height), instead of falling behind it or floating in the middle of the screen. 82 Viewport scales with the keyboard (`interactive-widget=resizes-content`). 83 - Mobile keyboard vs. layout (site-wide): as soon as the keyboard opens while 84 typing, the fixed bottom bars (bottom-tab + mini player) hide themselves, so 85 they no longer float over or overlap the input field. They come back as soon as 86 the keyboard closes. (Detection via visualViewport → `body.kb-open`.) 87 - Editing a post on mobile no longer immediately opened the keyboard: the title no longer 88 gets automatic focus (`autofocus` removed). On desktop the title still focuses. 89 - Writing posts on mobile: a formatting button (bold/italic/…) stole the focus from the 90 text field → the selection was lost (bold couldn't be turned off anymore) and the 91 page jumped down. The toolbar now keeps the focus in the editor 92 (mousedown-preventDefault + focus without scroll), so toggling works and there's no 93 more jump. Toolbar taps are also faster (touch-action: manipulation). Active 94 formatting is now clearly filled with the accent color (and :hover no longer sticks on 95 touch), so it's visible whether e.g. bold is on or off. 96 96 97 ### Toegevoegd98 - Afbeeldingen → **WebP**: nieuwe uploads (post-afbeeldingen/cover, avatar, site-foto,99 hub -hero, audio-cover) worden automatisch naar WebP omgezet (kleiner); bestaande100 afbeeldingen zijn in één keer omgezet en alle verwijzingen bijgewerkt.101 - Afbeeldingen zijn **lastiger op te slaan** (rechtsklik-"opslaan" + slepen102 geblokkeerd) — frictie, geen waterdichte beveiliging.103 - Mini -speler (desktop): klik op de spelende track → **spring naar de post énscroll104 naar die track** (met highlight); werkt ook voor site-brede tracks via eenlookup.105 - Te kstvelden (`<textarea>`) groeien nu site-breed mee met de inhoud i.p.v. intern106 te scrollen (scroll-binnen-scroll was verwarrend). Het inline schrijfveld groeit107 ook gewoon mee; typen op mobiel/tablet gaat sowieso fullscreen.108 - O p **mobiel & tablet** (touch) gedraagt de inhoud zich als een post: inline is het109 **n iet typbaar** (tap-vlak met "✎ Tik om te bewerken"-pill). Eén tik opent een110 **fullscreen schrijf-"pagina"** — met echte back-knop-ondersteuning, dus de111 browser -back of de **"✓ Klaar"-knop** sluit 'm en je staat terug in het formulier112 (all e velden intact), waarna je alles samen opslaat met de gewone Opslaan-knop.113 - Schrijfvenster kan op **volledig scherm** (knop in de editor-toolbar, of Escape om114 terug te gaan) — fijn voor afleidingsvrij schrijven op mobiel. De opmaak-toolbar115 blijft daarbij altijd bovenaan in beeld, ook als het mobiele toetsenbord opent116 (frame volgt de visual viewport).117 - Beheerder kan z'n **Google-account koppelen** (Account → Inloggen met Google) en118 daarna óók met Google inloggen. Veilig: koppelen kan alleen terwijl je met119 w achtwoord bent ingelogd, en Google-login geeft alleen beheer als de exacte120 gekoppelde Google-account (`google_sub`) matcht. Ontkoppelen kan zolang er een121 wachtwoord is.122 - Posts liken / favorieten: ingelogde gebruikers kunnen een post liken met een ♥-knop123 ( toont het aantal likes). Je gelikete posts staan op de nieuwe **Favorieten**-pagina124 (`/favorieten`, link in het accountmenu). Niet-ingelogd → de knop leidt naar de login.97 ### Added 98 - Images → **WebP**: new uploads (post images/cover, avatar, site photo, 99 hub hero, audio cover) are automatically converted to WebP (smaller); existing 100 images were converted in one go and all references updated. 101 - Images are **harder to save** (right-click "save" + dragging 102 blocked) — friction, not watertight protection. 103 - Mini player (desktop): click the playing track → **jump to the post and scroll 104 to that track** (with highlight); also works for site-wide tracks via a lookup. 105 - Text fields (`<textarea>`) now grow site-wide with the content instead of scrolling 106 internally (scroll-within-scroll was confusing). The inline writing field also grows 107 along naturally; typing on mobile/tablet goes fullscreen anyway. 108 - On **mobile & tablet** (touch) the content behaves like a post: inline it is 109 **not typable** (tap area with a "✎ Tap to edit" pill). One tap opens a 110 **fullscreen writing "page"** — with real back-button support, so the 111 browser back or the **"✓ Done" button** closes it and you're back in the form 112 (all fields intact), after which you save everything together with the normal Save button. 113 - The writing window can go **fullscreen** (button in the editor toolbar, or Escape to 114 go back) — nice for distraction-free writing on mobile. The formatting toolbar 115 always stays at the top of the view, even when the mobile keyboard opens 116 (frame follows the visual viewport). 117 - The admin can link their **Google account** (Account → Sign in with Google) and 118 then also log in with Google. Safe: linking is only possible while you're logged in 119 with a password, and Google login only grants admin access if the exact 120 linked Google account (`google_sub`) matches. Unlinking is possible as long as there's a 121 password. 122 - Liking / favoriting posts: logged-in users can like a post with a ♥ button 123 (shows the number of likes). Your liked posts are on the new **Favorites** page 124 (`/favorieten`, link in the account menu). Not logged in → the button leads to the login. 125 125 126 ### Gewijzigd127 - Post -navigatie (Newer/Older) toont nu een 📌 als de gelinkte post vastgepind is.128 - De Newer/Older-postnavigatie staat nu óók op de fan-gate (login-wall van een129 fan-only post), zodat een bezoeker niet vastloopt maar verder kan bladeren.130 Nav verhuisd naar een gedeeld partial (`partials/post-nav.ejs`).131 - Login gesplitst: de publieke loginpagina (`/auth/login`) toont voor bezoekers nu132 ** alleen** Google-login (luisteraars/fans). De beheerders-login (gebruikersnaam+133 wachtwoord) staat verborgen op `/auth/admin` (nergens gelinkt).134 - Post -navigatie (Newer/Older) houdt nu op elke post dezelfde twee-kaarten-structuur:135 ontbreekt er een nieuwere/oudere post, dan staat er een subtiele uitgegrijsde136 placeholder ("N ieuwste post" / "Oudste post") i.p.v. een lege plek.137 - Bij het openen van een gerelateerde/volgende post spring je nu naar boven van de138 pag ina (was: je bleef op de oude scrollpositie hangen).126 ### Changed 127 - Post navigation (Newer/Older) now shows a 📌 if the linked post is pinned. 128 - The Newer/Older post navigation now also appears on the fan gate (login wall of a 129 fan-only post), so a visitor doesn't get stuck but can keep browsing. 130 Nav moved to a shared partial (`partials/post-nav.ejs`). 131 - Login split: the public login page (`/auth/login`) now shows visitors 132 **only** Google login (listeners/fans). The admin login (username + 133 password) is hidden at `/auth/admin` (not linked anywhere). 134 - Post navigation (Newer/Older) now keeps the same two-card structure on every post: 135 if a newer/older post is missing, there's a subtle grayed-out 136 placeholder ("Newest post" / "Oldest post") instead of an empty space. 137 - When opening a related/next post you now jump to the top of the 138 page (was: you stayed stuck at the old scroll position). 139 139 140 140 ## [1.0.0-beta.2] — 2026-06-19 141 141 142 Eerste release waarbij we de versie actief bijhouden (zichtbaar in de footer →143 klik erop voor deze pagina). Federatie-proto: **2** (ongewijzigd).142 First release where we actively track the version (visible in the footer → 143 click it for this page). Federation proto: **2** (unchanged). 144 144 145 ### Toegevoegd146 - Release -tracking: versienummer in de footer linkt naar deze wijzigingen-pagina.147 - Acht premium-functies (Patreon-gegate): nieuwsbrief/mailinglijst, download-voor-email,148 release -planning + fan-only previews, EPK/perskit, pro-statistieken, link-in-bio +149 klikstats, inbedbare speler, en show-agenda + notify-me.150 - N ieuwsbrief-aanmeldveld in de footer (aan/uit in Beheer → Instellingen).151 - SMTP -instellingen instelbaar in Beheer → Instellingen (geen `.env`-edit meer nodig),152 met testmail-knop.145 ### Added 146 - Release tracking: the version number in the footer links to this changelog page. 147 - Eight premium features (Patreon-gated): newsletter/mailing list, download-for-email, 148 release scheduling + fan-only previews, EPK/press kit, pro statistics, link-in-bio + 149 click stats, embeddable player, and show agenda + notify-me. 150 - Newsletter signup field in the footer (on/off in Admin → Settings). 151 - SMTP settings configurable in Admin → Settings (no more `.env` edit needed), 152 with a test-mail button. 153 153 154 ### Gewijzigd155 - Beheer → Instellingen: Hub- en Cirkel-config staan nu direct onder de Modus-kaart;156 forms netter (gestapeldelabels, full-width inputs).157 - EPK/p erskit toont de top 10 meest beluisterde nummers.158 - N ettere 404-pagina (mobielvriendelijk) en duidelijkere login-foutmeldingen.154 ### Changed 155 - Admin → Settings: Hub and Circle config now sit directly under the Mode card; 156 forms tidier (stacked labels, full-width inputs). 157 - EPK/press kit shows the top 10 most-listened tracks. 158 - Nicer 404 page (mobile-friendly) and clearer login error messages. 159 159 160 ### Opgelost161 - Site-brede audiospeler kreeg geen tracks (verkeerde kolom in de query).162 - Knoptekst werd onleesbaar bij hover (zelfde kleur als de knop).163 - Dat umkiezers volgen nu het thema.164 - htmx -navigatie werkt de adresbalk weer bij; geen dubbele kop bij terug/vooruit.160 ### Fixed 161 - The site-wide audio player got no tracks (wrong column in the query). 162 - Button text became unreadable on hover (same color as the button). 163 - Date pickers now follow the theme. 164 - htmx navigation updates the address bar again; no double header on back/forward.
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)