| 1 | # Wijzigingen — Klonkt
|
|---|
| 2 |
|
|---|
| 3 | Alle noemenswaardige wijzigingen aan Klonkt. Nieuwste bovenaan.
|
|---|
| 4 | Versies volgen [SemVer](https://semver.org/lang/nl/) (`1.0.0-beta.N` tijdens de beta).
|
|---|
| 5 |
|
|---|
| 6 | > **Twee losse versienummers — niet verwarren:**
|
|---|
| 7 | > - **App-versie** (deze changelog + footer, `package.json`) = cosmetisch; bump elke release.
|
|---|
| 8 | > - **Federatie-proto** (`KLONKT_PROTO` in `CircleFederation.js`, nu **2**) = bepaalt of
|
|---|
| 9 | > 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 de
|
|---|
| 11 | > proto **alleen** bij federatie-/security-wijzigingen, en rol die dan in **lockstep**
|
|---|
| 12 | > uit naar álle instances (incl. de democirkels) zodat ze blijven samenwerken.
|
|---|
| 13 |
|
|---|
| 14 | ## [Unreleased]
|
|---|
| 15 |
|
|---|
| 16 | ### Toegevoegd
|
|---|
| 17 | - Zoeken doorzoekt nu ook **nummers** (op titel, artiest én album), niet alleen posts.
|
|---|
| 18 | Gevonden nummers zijn direct afspeelbaar in de resultatenlijst, met een
|
|---|
| 19 | "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 | (elk woord als prefix, AND tussen de woorden) — fijner zoeken-terwijl-je-typt.
|
|---|
| 22 |
|
|---|
| 23 | ### Opgelost
|
|---|
| 24 | - Mini-speler: spring + scroll naar de spelende track werkt nu ook vanuit een
|
|---|
| 25 | **album of playlist** (de track-id zat niet in de afspeel-queue).
|
|---|
| 26 | - De track die nu speelt krijgt een **blijvende highlight** in de post.
|
|---|
| 27 | - Lege **album/playlist-covers** hersteld (een gemiste verwijzing in de
|
|---|
| 28 | WebP-conversie) + ze vallen nu terug op de cover van de eerste track.
|
|---|
| 29 | - Kapotte **avatar/profielfoto** in de kop na de WebP-conversie: de viewer-avatar
|
|---|
| 30 | (en rol) wordt nu vers uit de database gelezen, dus een oude sessie herstelt
|
|---|
| 31 | zichzelf zonder opnieuw inloggen.
|
|---|
| 32 |
|
|---|
| 33 | ### Opgelost (eerder)
|
|---|
| 34 | - Inline content-layout op touch versimpeld: geen opmaak-toolbar/rand meer inline
|
|---|
| 35 | (je bewerkt toch fullscreen) — alleen de content-preview + de tik-om-te-bewerken-pill.
|
|---|
| 36 | - Kon niet scrollen op de bewerk-pagina: de fullscreen scroll-lock (overflow:hidden
|
|---|
| 37 | op html/body) bleef hangen. Lock verwijderd — het fullscreen-frame dekt de pagina
|
|---|
| 38 | al af en op touch zijn de scrollbalken verborgen.
|
|---|
| 39 | - Fullscreen verlaten scrolt nu naar de top van de content (i.p.v. door te springen
|
|---|
| 40 | naar de footer).
|
|---|
| 41 | - "Tik om te bewerken"-aanwijzing op touch is nu een pill die sticky onderaan de
|
|---|
| 42 | container plakt (boven de Opslaan-balk) i.p.v. lelijk gecentreerd in de tekst.
|
|---|
| 43 | - Scrollbalken verborgen op mobiel & tablet (touch) — scrollen blijft werken,
|
|---|
| 44 | alleen de balk-UI is weg (geen verwarrende/dubbele balken).
|
|---|
| 45 | - Fullscreen-editor: geen dubbele scrollbalk meer — in fullscreen scrollt alléén
|
|---|
| 46 | het tekstveld; het frame en de pagina (html+body) erachter zijn vergrendeld.
|
|---|
| 47 | - Editor: het beeld verspringt niet meer bij het aanklikken van een opmaakknop.
|
|---|
| 48 | Op mobiel is het schrijfveld nu een begrensde scroll-box met de opmaak-toolbar
|
|---|
| 49 | STICKY bovenin: de tekst scrollt eronder, de toolbar blijft altijd in beeld, en
|
|---|
| 50 | de caret-scroll die mobiel Chrome forceert blijft binnen de box i.p.v. de hele
|
|---|
| 51 | pagina te laten verspringen. (Plus: scrollpositie wordt vastgehouden rond elk
|
|---|
| 52 | opmaak-commando.) `interactive-widget=resizes-content` weer verwijderd — dat liet
|
|---|
| 53 | de pagina omhoog scrollen voor het toetsenbord en brak de kb-open-detectie; de
|
|---|
| 54 | actiebalk + fullscreen regelen het toetsenbord via de visual viewport.
|
|---|
| 55 | - Post-editor op mobiel: de Opslaan/Annuleren-balk blijft nu net bóven het
|
|---|
| 56 | toetsenbord (sticky met dynamische bottom-offset = max van toetsenbord- en
|
|---|
| 57 | audiospeler-hoogte), i.p.v. erachter te vallen of midden in beeld te zweven.
|
|---|
| 58 | Viewport schaalt mee met het toetsenbord (`interactive-widget=resizes-content`).
|
|---|
| 59 | - Mobiel toetsenbord vs. layout (site-breed): zodra het toetsenbord opent tijdens
|
|---|
| 60 | het typen, verbergen de vaste onderbalken (bottom-tab + mini-speler) zich, zodat
|
|---|
| 61 | ze niet meer over het invoerveld zweven of het overlappen. Ze komen terug zodra
|
|---|
| 62 | het toetsenbord sluit. (Detectie via visualViewport → `body.kb-open`.)
|
|---|
| 63 | - Post bewerken op mobiel opende niet meer meteen het toetsenbord: de titel kreeg
|
|---|
| 64 | niet langer automatisch focus (`autofocus` weg). Op desktop focust de titel nog wel.
|
|---|
| 65 | - Posts schrijven op mobiel: een opmaakknop (vet/cursief/…) stal de focus uit het
|
|---|
| 66 | tekstveld → de selectie ging verloren (vet kon niet meer uitgezet worden) en de
|
|---|
| 67 | pagina sprong naar beneden. De toolbar houdt de focus nu in de editor
|
|---|
| 68 | (mousedown-preventDefault + focus zonder scroll), dus toggelen werkt en er is geen
|
|---|
| 69 | sprong meer. Toolbar-taps zijn ook sneller (touch-action: manipulation). Actieve
|
|---|
| 70 | opmaak is nu duidelijk gevuld met de accentkleur (en :hover plakt niet meer op
|
|---|
| 71 | touch), zodat zichtbaar is of bv. vet aan of uit staat.
|
|---|
| 72 |
|
|---|
| 73 | ### Toegevoegd
|
|---|
| 74 | - Afbeeldingen → **WebP**: nieuwe uploads (post-afbeeldingen/cover, avatar, site-foto,
|
|---|
| 75 | hub-hero, audio-cover) worden automatisch naar WebP omgezet (kleiner); bestaande
|
|---|
| 76 | afbeeldingen zijn in één keer omgezet en alle verwijzingen bijgewerkt.
|
|---|
| 77 | - Afbeeldingen zijn **lastiger op te slaan** (rechtsklik-"opslaan" + slepen
|
|---|
| 78 | geblokkeerd) — frictie, geen waterdichte beveiliging.
|
|---|
| 79 | - Mini-speler (desktop): klik op de spelende track → **spring naar de post én scroll
|
|---|
| 80 | naar die track** (met highlight); werkt ook voor site-brede tracks via een lookup.
|
|---|
| 81 | - Tekstvelden (`<textarea>`) groeien nu site-breed mee met de inhoud i.p.v. intern
|
|---|
| 82 | te scrollen (scroll-binnen-scroll was verwarrend). Het inline schrijfveld groeit
|
|---|
| 83 | ook gewoon mee; typen op mobiel/tablet gaat sowieso fullscreen.
|
|---|
| 84 | - Op **mobiel & tablet** (touch) gedraagt de inhoud zich als een post: inline is het
|
|---|
| 85 | **niet typbaar** (tap-vlak met "✎ Tik om te bewerken"-pill). Eén tik opent een
|
|---|
| 86 | **fullscreen schrijf-"pagina"** — met echte back-knop-ondersteuning, dus de
|
|---|
| 87 | browser-back of de **"✓ Klaar"-knop** sluit 'm en je staat terug in het formulier
|
|---|
| 88 | (alle velden intact), waarna je alles samen opslaat met de gewone Opslaan-knop.
|
|---|
| 89 | - Schrijfvenster kan op **volledig scherm** (knop in de editor-toolbar, of Escape om
|
|---|
| 90 | terug te gaan) — fijn voor afleidingsvrij schrijven op mobiel. De opmaak-toolbar
|
|---|
| 91 | blijft daarbij altijd bovenaan in beeld, ook als het mobiele toetsenbord opent
|
|---|
| 92 | (frame volgt de visual viewport).
|
|---|
| 93 | - Beheerder kan z'n **Google-account koppelen** (Account → Inloggen met Google) en
|
|---|
| 94 | daarna óók met Google inloggen. Veilig: koppelen kan alleen terwijl je met
|
|---|
| 95 | wachtwoord bent ingelogd, en Google-login geeft alleen beheer als de exacte
|
|---|
| 96 | gekoppelde Google-account (`google_sub`) matcht. Ontkoppelen kan zolang er een
|
|---|
| 97 | wachtwoord is.
|
|---|
| 98 | - Posts liken / favorieten: ingelogde gebruikers kunnen een post liken met een ♥-knop
|
|---|
| 99 | (toont het aantal likes). Je gelikete posts staan op de nieuwe **Favorieten**-pagina
|
|---|
| 100 | (`/favorieten`, link in het accountmenu). Niet-ingelogd → de knop leidt naar de login.
|
|---|
| 101 |
|
|---|
| 102 | ### Gewijzigd
|
|---|
| 103 | - Post-navigatie (Newer/Older) toont nu een 📌 als de gelinkte post vastgepind is.
|
|---|
| 104 | - De Newer/Older-postnavigatie staat nu óók op de fan-gate (login-wall van een
|
|---|
| 105 | fan-only post), zodat een bezoeker niet vastloopt maar verder kan bladeren.
|
|---|
| 106 | Nav verhuisd naar een gedeeld partial (`partials/post-nav.ejs`).
|
|---|
| 107 | - Login gesplitst: de publieke loginpagina (`/auth/login`) toont voor bezoekers nu
|
|---|
| 108 | **alleen** Google-login (luisteraars/fans). De beheerders-login (gebruikersnaam +
|
|---|
| 109 | wachtwoord) staat verborgen op `/auth/admin` (nergens gelinkt).
|
|---|
| 110 | - Post-navigatie (Newer/Older) houdt nu op elke post dezelfde twee-kaarten-structuur:
|
|---|
| 111 | ontbreekt er een nieuwere/oudere post, dan staat er een subtiele uitgegrijsde
|
|---|
| 112 | placeholder ("Nieuwste post" / "Oudste post") i.p.v. een lege plek.
|
|---|
| 113 | - Bij het openen van een gerelateerde/volgende post spring je nu naar boven van de
|
|---|
| 114 | pagina (was: je bleef op de oude scrollpositie hangen).
|
|---|
| 115 |
|
|---|
| 116 | ## [1.0.0-beta.2] — 2026-06-19
|
|---|
| 117 |
|
|---|
| 118 | Eerste release waarbij we de versie actief bijhouden (zichtbaar in de footer →
|
|---|
| 119 | klik erop voor deze pagina). Federatie-proto: **2** (ongewijzigd).
|
|---|
| 120 |
|
|---|
| 121 | ### Toegevoegd
|
|---|
| 122 | - Release-tracking: versienummer in de footer linkt naar deze wijzigingen-pagina.
|
|---|
| 123 | - Acht premium-functies (Patreon-gegate): nieuwsbrief/mailinglijst, download-voor-email,
|
|---|
| 124 | release-planning + fan-only previews, EPK/perskit, pro-statistieken, link-in-bio +
|
|---|
| 125 | klikstats, inbedbare speler, en show-agenda + notify-me.
|
|---|
| 126 | - Nieuwsbrief-aanmeldveld in de footer (aan/uit in Beheer → Instellingen).
|
|---|
| 127 | - SMTP-instellingen instelbaar in Beheer → Instellingen (geen `.env`-edit meer nodig),
|
|---|
| 128 | met testmail-knop.
|
|---|
| 129 |
|
|---|
| 130 | ### Gewijzigd
|
|---|
| 131 | - Beheer → Instellingen: Hub- en Cirkel-config staan nu direct onder de Modus-kaart;
|
|---|
| 132 | forms netter (gestapelde labels, full-width inputs).
|
|---|
| 133 | - EPK/perskit toont de top 10 meest beluisterde nummers.
|
|---|
| 134 | - Nettere 404-pagina (mobielvriendelijk) en duidelijkere login-foutmeldingen.
|
|---|
| 135 |
|
|---|
| 136 | ### Opgelost
|
|---|
| 137 | - Site-brede audiospeler kreeg geen tracks (verkeerde kolom in de query).
|
|---|
| 138 | - Knoptekst werd onleesbaar bij hover (zelfde kleur als de knop).
|
|---|
| 139 | - Datumkiezers volgen nu het thema.
|
|---|
| 140 | - htmx-navigatie werkt de adresbalk weer bij; geen dubbele kop bij terug/vooruit.
|
|---|