Changeset 98fe58a in Klonkt
- Timestamp:
- 06/27/2026 02:18:24 PM (2 months ago)
- Branches:
- main
- Children:
- 5f483e3
- Parents:
- eb5f978
- Files:
-
- 3 edited
-
CHANGELOG.de.md (modified) (1 diff)
-
CHANGELOG.md (modified) (2 diffs)
-
CHANGELOG.nl.md (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
CHANGELOG.de.md
reb5f978 r98fe58a 1 1 # Änderungen — Klonkt 2 2 3 Alle nennenswerten Änderungen an Klonkt. Neueste oben.3 Alle nennenswerten Änderungen an Klonkt. Das Neueste oben. 4 4 Versionen folgen [SemVer](https://semver.org/lang/de/) (`1.0.0-beta.N` während der Beta). 5 6 > **Zwei getrennte Versionsnummern — nicht verwechseln:**7 > - **App-Version** (dieses Changelog + Footer, `package.json`) = kosmetisch; bei jeder Release erhöhen.8 > - **Föderations-Proto** (`KLONKT_PROTO` in `CircleFederation.js`, derzeit **2**) = bestimmt, ob9 > Klonkt-Sites in ihrem jeweiligen **Cirkel** föderieren können (Teil der signierten Grundlage).10 > Eine App-Versions-Erhöhung ändert das Proto **nicht** und bricht somit keine Cirkels. Erhöhe das11 > Proto **nur** bei Föderations-/Sicherheitsänderungen und rolle es dann im **Gleichschritt**12 > auf alle Instanzen aus (inkl. der Democirkels), damit sie weiterhin zusammenarbeiten.13 5 14 6 ## [Unreleased] 15 7 16 8 ### Hinzugefügt 17 - Die Suche durchsucht jetzt auch **Titel** (nach Titel, Künstler und Album), nicht nur Beiträge. 18 Gefundene Titel sind direkt in der Ergebnisliste abspielbar, mit einem 19 „im Beitrag →"-Link zum Beitrag/Album/zur Playlist, in dem der Titel vorkommt. 20 - Die Beitragssuche nutzt jetzt **Präfix-Matching**: tippe „astr" und du findest „astra" 21 (jedes Wort als Präfix, UND zwischen den Wörtern) — angenehmeres Suchen-während-du-tippst. 22 - **Fediverse-Client**: folge Konten (WebFinger → signiertes Follow), eine 23 **Home-Timeline** (`/tijdlijn`) von denen, denen du folgst, ein **Benachrichtigungs-Posteingang** 24 (`/meldingen`) und ⭐-Like / 🔁-Boost / ↩-Antworten aus der Timeline heraus. 25 - **Liken und Antworten über das Fediverse** bei einem Beitrag: Besucher geben nur 26 ihren eigenen Server ein (`@du@server` oder `server.com`) und wickeln es auf ihrem 27 eigenen Konto ab (`/authorize_interaction`). 28 - **HTTP-Signaturen erzwungen** im Posteingang: unsignierte oder gefälschte 29 Aktivitäten werden abgewiesen — keine gefälschten Reaktionen/Likes/Follower mehr. 30 - **Blockieren/Defederieren** eines Kontos oder einer ganzen Domain (`/blokkeren`). 31 - **Live-Theme-Vorschau** in Verwaltung → Site-Einstellungen: Akzent, Theme und Palette 32 sofort sichtbar, bevor du speicherst. 9 - **Klonkt ist jetzt im Fediverse (ActivityPub).** Deine Seite ist ein echtes 10 Fediverse-Konto: Menschen auf **Mastodon** — oder auf einem anderen **Klonkt** — können 11 dir folgen, und deine Beiträge landen in ihren Feeds. Du kannst Konten folgen und ihre 12 Beiträge in einem **News**-Feed lesen, **Benachrichtigungen** erhalten und Beiträge 13 **liken, teilen und beantworten**. Eingehende Aktivität wird überprüft, sodass gefälschte 14 Antworten, Likes und Follower abgewiesen werden. 15 - **Jede:r kann deine Beiträge aus dem Fediverse beantworten, liken oder teilen** — 16 Besucher:innen interagieren von ihrem eigenen Konto aus (sie geben einfach ihren Server 17 ein); ein Konto auf deiner Seite ist nicht nötig. 18 - **Circles**: Folge anderen **Klonkt**-Seiten und zeigt euch gegenseitig die öffentlichen 19 Beiträge in eurem **Circle** — dezentral, ohne zentrale Plattform. 20 - **Sensible (NSFW) Beiträge** mit eigenem Warnhinweis-Text: auf der ganzen Seite 21 verschwommen mit Klick zum Anzeigen, und im Fediverse als Inhaltswarnung dargestellt. 22 - **Blockiere** ein Konto oder eine ganze Domain, von der du lieber nichts hören möchtest. 23 - Die Suche findet jetzt auch **Tracks** (nach Titel, Künstler:in und Album), direkt aus den 24 Ergebnissen abspielbar mit einem Link zum Beitrag, in dem sie vorkommen — und die 25 Beitragssuche zeigt Treffer schon beim Tippen. 26 - **Live-Theme-Vorschau** in Verwaltung → Seiteneinstellungen: Akzent, Theme und Palette 27 aktualisieren sich sofort, noch bevor du speicherst. 28 - Hochgeladene Bilder werden automatisch zu **WebP** optimiert, für schnellere Seiten. 29 - Ein großzügigeres **mobiles Schreiberlebnis**: Tippe, um einen ablenkungsfreien 30 Vollbild-Editor zu öffnen, wobei die Formatierungsleiste über der Tastatur sichtbar bleibt. 33 31 34 32 ### Geändert 35 - **Paletten überarbeitet** auf 8: die neutrale **Klonkt** (Weiß/Schwarz, goldener Akzent) 36 ist jetzt der Standard, dazu 7 echte Farb-Themes (Forest, Ocean, Teal, Lilac, 37 Sunset, Candy, Amber). Akzent-Auswahl aufgeräumt; der Klonkt-Hintergrund folgt 38 jetzt der gewählten Akzentfarbe. 33 - **Paletten auf 8 überarbeitet**: das neutrale **Klonkt** (goldener Akzent) ist der neue 34 Standard, dazu sieben Vollfarb-Themes — **Forest**, **Ocean**, **Teal**, **Lilac**, 35 **Sunset**, **Candy** und **Amber**. 39 36 40 37 ### Entfernt 41 - **Hub-Modus** entfernt — Klonkt ist von nun an **solo oder Cirkels**. Ein42 Kollektiv/Label erstellst du jetzt über **Cirkels** (föderierte einzelne Sites).43 - **Native Reaktionen + Google-Login** entfernt — Interaktion läuft jetzt vollständig44 über das **Fediverse**.45 - **Lokale Favoriten (♥)** entfernt— ersetzt durch das ⭐ Fediverse-Like.38 - **Hub-Modus** — **Klonkt** ist jetzt **solo oder Circles**; ein Kollektiv oder Label baust 39 du über **Circles** auf (föderierte, eigenständige Seiten). 40 - **Native Kommentare und Google-Login** — Antworten, Likes und Boosts laufen jetzt komplett 41 über das Fediverse. 42 - **Lokale Favoriten (♥)** — ersetzt durch das ⭐ Fediverse-Like. 46 43 47 44 ### Behoben 48 - Mini-Player: Springen + Scrollen zum spielenden Track funktioniert jetzt auch aus einem 49 **Album oder einer Playlist** (die Track-ID fehlte in der Wiedergabe-Queue). 50 - Der gerade spielende Track erhält ein **dauerhaftes Highlight** im Beitrag. 51 - Leere **Album-/Playlist-Cover** behoben (eine fehlende Referenz in der 52 WebP-Konvertierung) + sie fallen jetzt auf das Cover des ersten Tracks zurück. 53 - Kaputtes **Avatar/Profilbild** in der Kopfzeile nach der WebP-Konvertierung: der Viewer-Avatar 54 (und die Rolle) wird jetzt frisch aus der Datenbank gelesen, sodass sich eine alte Sitzung 55 ohne erneutes Einloggen selbst wiederherstellt. 56 57 ### Behoben (früher) 58 - Inline-Content-Layout auf Touch vereinfacht: keine Formatierungs-Toolbar/Rand mehr inline 59 (du bearbeitest ohnehin im Vollbild) — nur die Content-Vorschau + die Tippen-zum-Bearbeiten-Pille. 60 - Konnte auf der Bearbeiten-Seite nicht scrollen: die Vollbild-Scroll-Sperre (overflow:hidden 61 auf html/body) blieb hängen. Sperre entfernt — das Vollbild-Frame deckt die Seite 62 bereits ab und auf Touch sind die Scrollbalken ausgeblendet. 63 - Das Verlassen des Vollbilds scrollt jetzt an den Anfang des Contents (statt durchzuspringen 64 zum Footer). 65 - Der „Tippen zum Bearbeiten"-Hinweis auf Touch ist jetzt eine Pille, die sticky unten am 66 Container klebt (über der Speichern-Leiste), statt unschön zentriert im Text. 67 - Scrollbalken ausgeblendet auf Mobil & Tablet (Touch) — Scrollen funktioniert weiterhin, 68 nur die Balken-UI ist weg (keine verwirrenden/doppelten Balken). 69 - Vollbild-Editor: kein doppelter Scrollbalken mehr — im Vollbild scrollt ausschließlich 70 das Textfeld; das Frame und die Seite (html+body) dahinter sind gesperrt. 71 - Editor: das Bild springt nicht mehr beim Anklicken einer Formatierungsschaltfläche. 72 Auf Mobil ist das Schreibfeld jetzt eine begrenzte Scroll-Box mit der Formatierungs-Toolbar 73 STICKY oben: der Text scrollt darunter, die Toolbar bleibt immer im Blick, und 74 das Caret-Scrollen, das mobiles Chrome erzwingt, bleibt innerhalb der Box, statt die ganze 75 Seite springen zu lassen. (Plus: die Scrollposition wird rund um jeden 76 Formatierungsbefehl beibehalten.) `interactive-widget=resizes-content` wieder entfernt — das ließ 77 die Seite vor der Tastatur nach oben scrollen und brach die kb-open-Erkennung; die 78 Aktionsleiste + Vollbild regeln die Tastatur über den Visual Viewport. 79 - Post-Editor auf Mobil: die Speichern/Abbrechen-Leiste bleibt jetzt knapp über der 80 Tastatur (sticky mit dynamischem Bottom-Offset = Maximum aus Tastatur- und 81 Audioplayer-Höhe), statt dahinter zu fallen oder mitten im Bild zu schweben. 82 Der Viewport skaliert mit der Tastatur mit (`interactive-widget=resizes-content`). 83 - Mobile Tastatur vs. Layout (site-weit): sobald die Tastatur während des 84 Tippens öffnet, blenden sich die festen Unterleisten (Bottom-Tab + Mini-Player) aus, sodass 85 sie nicht mehr über dem Eingabefeld schweben oder es überlappen. Sie kehren zurück, sobald 86 die Tastatur schließt. (Erkennung über visualViewport → `body.kb-open`.) 87 - Beitrag bearbeiten auf Mobil öffnete nicht mehr sofort die Tastatur: der Titel erhielt 88 nicht länger automatisch Fokus (`autofocus` entfernt). Auf dem Desktop fokussiert der Titel noch. 89 - Beiträge schreiben auf Mobil: eine Formatierungsschaltfläche (fett/kursiv/…) stahl den Fokus aus dem 90 Textfeld → die Auswahl ging verloren (fett konnte nicht mehr ausgeschaltet werden) und die 91 Seite sprang nach unten. Die Toolbar hält den Fokus jetzt im Editor 92 (mousedown-preventDefault + Fokus ohne Scroll), sodass das Umschalten funktioniert und es keinen 93 Sprung mehr gibt. Toolbar-Taps sind auch schneller (touch-action: manipulation). Aktive 94 Formatierung ist jetzt deutlich mit der Akzentfarbe gefüllt (und :hover klebt nicht mehr auf 95 Touch), sodass sichtbar ist, ob z. B. fett an oder aus ist. 96 97 ### Hinzugefügt 98 - Bilder → **WebP**: neue Uploads (Beitragsbilder/Cover, Avatar, Site-Foto, 99 Hub-Hero, Audio-Cover) werden automatisch in WebP umgewandelt (kleiner); bestehende 100 Bilder wurden in einem Durchgang umgewandelt und alle Referenzen aktualisiert. 101 - Bilder sind **schwerer zu speichern** (Rechtsklick-„Speichern" + Ziehen 102 blockiert) — Reibung, kein wasserdichter Schutz. 103 - Mini-Player (Desktop): Klick auf den spielenden Track → **springe zum Beitrag und scrolle 104 zu diesem Track** (mit Highlight); funktioniert auch für site-weite Tracks über eine Lookup. 105 - Textfelder (`<textarea>`) wachsen jetzt site-weit mit dem Inhalt mit, statt intern 106 zu scrollen (Scrollen-im-Scrollen war verwirrend). Das Inline-Schreibfeld wächst 107 ebenfalls einfach mit; Tippen auf Mobil/Tablet geht ohnehin ins Vollbild. 108 - Auf **Mobil & Tablet** (Touch) verhält sich der Inhalt wie ein Beitrag: inline ist er 109 **nicht tippbar** (Tap-Fläche mit „✎ Tippen zum Bearbeiten"-Pille). Ein Tipp öffnet eine 110 **Vollbild-Schreib-„Seite"** — mit echter Zurück-Schaltflächen-Unterstützung, sodass das 111 Browser-Zurück oder die **„✓ Fertig"-Schaltfläche** sie schließt und du wieder im Formular 112 stehst (alle Felder intakt), woraufhin du alles zusammen mit der normalen Speichern-Schaltfläche speicherst. 113 - Schreibfenster kann auf **Vollbild** (Schaltfläche in der Editor-Toolbar, oder Escape zum 114 Zurückgehen) — angenehm für ablenkungsfreies Schreiben auf Mobil. Die Formatierungs-Toolbar 115 bleibt dabei immer oben im Blick, auch wenn die mobile Tastatur öffnet 116 (Frame folgt dem Visual Viewport). 117 - Verwalter kann sein **Google-Konto verknüpfen** (Konto → Mit Google anmelden) und 118 sich danach auch mit Google anmelden. Sicher: Verknüpfen ist nur möglich, während du mit 119 Passwort angemeldet bist, und der Google-Login gewährt nur Verwaltung, wenn das exakte 120 verknüpfte Google-Konto (`google_sub`) übereinstimmt. Entkoppeln ist möglich, solange es ein 121 Passwort gibt. 122 - Beiträge liken / favorisieren: angemeldete Benutzer können einen Beitrag mit einer ♥-Schaltfläche liken 123 (zeigt die Anzahl der Likes). Deine gelikten Beiträge stehen auf der neuen **Favoriten**-Seite 124 (`/favorieten`, Link im Kontomenü). Nicht angemeldet → die Schaltfläche führt zum Login. 125 126 ### Geändert 127 - Beitrags-Navigation (Newer/Older) zeigt jetzt ein 📌, wenn der verlinkte Beitrag angepinnt ist. 128 - Die Newer/Older-Beitragsnavigation steht jetzt auch auf der Fan-Gate (Login-Wall eines 129 fan-only-Beitrags), sodass ein Besucher nicht festhängt, sondern weiterblättern kann. 130 Navigation in ein gemeinsames Partial verschoben (`partials/post-nav.ejs`). 131 - Login aufgeteilt: die öffentliche Login-Seite (`/auth/login`) zeigt für Besucher jetzt 132 **nur** Google-Login (Zuhörer/Fans). Der Verwalter-Login (Benutzername + 133 Passwort) ist verborgen auf `/auth/admin` (nirgends verlinkt). 134 - Beitrags-Navigation (Newer/Older) behält jetzt auf jedem Beitrag dieselbe Zwei-Karten-Struktur: 135 fehlt ein neuerer/älterer Beitrag, dann steht dort ein dezenter ausgegrauter 136 Platzhalter („Neuester Beitrag" / „Ältester Beitrag") statt einer leeren Stelle. 137 - Beim Öffnen eines verwandten/nächsten Beitrags springst du jetzt an den Anfang der 138 Seite (vorher: du bliebst an der alten Scrollposition hängen). 45 - Der Mini-Player springt und scrollt zum gerade laufenden Track — auch aus einem Album oder 46 einer Playlist — und hält ihn hervorgehoben. 47 - Leere Album-/Playlist-Cover greifen jetzt auf das Cover des ersten Tracks zurück. 48 - Ein Profilfoto, das nach dem Wechsel zu **WebP** im Header kaputtging, repariert sich nun 49 selbst. 50 - Viele Korrekturen am **mobilen Beitrags-Editor**: zuverlässiges Scrollen, eine 51 Formatierungsleiste, die an Ort und Stelle bleibt, keine Seitensprünge beim Tippen auf eine 52 Schaltfläche, und eine Speicherleiste, die direkt über der Tastatur sitzt. 139 53 140 54 ## [1.0.0-beta.2] — 2026-06-19 141 55 142 Erste Release, bei der wir die Version aktiv pflegen (sichtbar im Footer →143 klick e darauf für diese Seite). Föderations-Proto: **2** (unverändert).56 Erste Veröffentlichung, bei der wir die Version aktiv mitverfolgen (im Fußbereich angezeigt — 57 klick darauf für diese Seite). 144 58 145 59 ### Hinzugefügt 146 - Release-Tracking: die Versionsnummer im Footer verlinkt auf diese Änderungen-Seite. 147 - Acht Premium-Funktionen (Patreon-gated): Newsletter/Mailingliste, Download-für-E-Mail, 148 Release-Planung + fan-only Previews, EPK/Pressekit, Pro-Statistiken, Link-in-Bio + 149 Klick-Statistiken, einbettbarer Player und Show-Agenda + Notify-Me. 150 - Newsletter-Anmeldefeld im Footer (an/aus in Verwaltung → Einstellungen). 151 - SMTP-Einstellungen einstellbar in Verwaltung → Einstellungen (kein `.env`-Edit mehr nötig), 152 mit Testmail-Schaltfläche. 60 - Versionsverfolgung: Die Versionsnummer im Fußbereich verlinkt auf diese Changelog-Seite. 61 - Acht Premium-Funktionen (über **Patreon** freigeschaltet): Newsletter/Mailingliste, 62 Download-für-E-Mail, Veröffentlichungsplanung + Vorschauen nur für Fans, **EPK**/Pressekit, 63 Profi-Statistiken, Link-in-Bio + Klickstatistiken, einbettbarer Player sowie Konzertkalender 64 + Benachrichtigung. 65 - Newsletter-Anmeldefeld im Fußbereich (ein/aus in Verwaltung → Einstellungen). 66 - **SMTP**-Einstellungen in Verwaltung → Einstellungen konfigurierbar (keine Bearbeitung der 67 Konfigurationsdatei mehr nötig), mit einer Test-Mail-Schaltfläche. 153 68 154 69 ### Geändert 155 - Verwaltung → Einstellungen: Hub- und Cirkel-Konfiguration stehen jetzt direkt unter der Modus-Karte;156 Formulare aufgeräumter (gestapelte Labels, full-width Inputs).157 - EPK/Pressekit zeigt die Top 10 der meistgehörten Titel.158 - Aufgeräumtere 404-Seite (mobilfreundlich) und deutlichere Login-Fehlermeldungen.70 - Aufgeräumtere Einstellungsformulare (gestapelte Beschriftungen, Eingabefelder in voller 71 Breite). 72 - Das **EPK**/Pressekit zeigt die 10 meistgehörten Tracks. 73 - Schönere 404-Seite (mobilfreundlich) und klarere Login-Fehlermeldungen. 159 74 160 75 ### Behoben 161 - Site-weiter Audioplayer erhielt keine Tracks (falsche Spalte in der Query).162 - Schaltflächentext wurde beim Hover unlesbar (gleiche Farbe wie die Schaltfläche).163 - Datumsauswahl folgtjetzt dem Theme.164 - htmx-Navigation aktualisiert die Adressleiste wieder; keine doppelte Kopfzeile bei zurück/vorwärts.76 - Der seitenweite Audioplayer lud keine Tracks. 77 - Schaltflächentext wurde beim Überfahren unlesbar. 78 - Datumsauswahlen folgen jetzt dem Theme. 79 - Die Vor-/Zurück-Navigation zeigt keinen doppelten Header mehr. -
CHANGELOG.md
reb5f978 r98fe58a 4 4 Versions follow [SemVer](https://semver.org/) (`1.0.0-beta.N` during the beta). 5 5 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 whether9 > 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 the11 > 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 14 6 ## [Unreleased] 15 7 16 8 ### 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. 9 - **Klonkt is now on the fediverse (ActivityPub).** Your site is a real fediverse 10 account: people on Mastodon — or another Klonkt — can follow you, and your posts 11 reach their feeds. You can follow accounts and read their posts in a **News** feed, 12 get **notifications**, and **like, boost and reply** to posts. Incoming activity is 13 verified, so fake replies, likes and followers are rejected. 14 - **Anyone can reply, like or boost your posts from the fediverse** — visitors interact 15 from their own account (they just enter their server); no account on your site needed. 16 - **Circles**: follow other Klonkt sites and show each other's public posts in your 17 Circle — decentralised, with no central platform. 18 - **Sensitive (NSFW) posts** with your own content-warning text: blurred with 19 click-to-reveal across the site, and shown as a content warning on the fediverse. 20 - **Block** an account or an entire domain you'd rather not hear from. 21 - Search now also finds **tracks** (by title, artist and album), playable straight from 22 the results with a link to the post they appear in — and post search matches as you type. 23 - **Live theme preview** in Admin → site settings: accent, theme and palette update 24 instantly, before you save. 25 - Uploaded images are automatically optimised to **WebP** for faster pages. 26 - A roomier **mobile writing experience**: tap to open a distraction-free fullscreen 27 editor, with the formatting toolbar staying in view above the keyboard. 33 28 34 29 ### 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. 30 - **Palettes revised to 8**: the neutral **Klonkt** (gold accent) is the new default, 31 plus seven full-colour themes — Forest, Ocean, Teal, Lilac, Sunset, Candy and Amber. 39 32 40 33 ### Removed 41 - **Hub mode** removed — Klonkt is now **solo or circles**. You now create a42 collective/label via **Circles** (federatedstandalone sites).43 - **Native comments + Google login** removed — interaction now runsentirely44 via the **fediverse**.45 - **Local favo rites (♥)** removed— replaced by the ⭐ fediverse like.34 - **Hub mode** — Klonkt is now **solo or Circles**; you build a collective or label 35 through **Circles** (federated, standalone sites). 36 - **Native comments and Google login** — replies, likes and boosts now run entirely 37 through the fediverse. 38 - **Local favourites (♥)** — replaced by the ⭐ fediverse like. 46 39 47 40 ### 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 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 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 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). 41 - The mini-player jumps and scrolls to the track that's playing — also from an album or 42 playlist — and keeps it highlighted. 43 - Empty album/playlist covers now fall back to the first track's cover. 44 - A profile photo that broke in the header after the WebP switch now repairs itself. 45 - Many **mobile post-editor** fixes: reliable scrolling, a formatting toolbar that stays 46 put, no page jumps when you tap a button, and a Save bar that sits just above the keyboard. 139 47 140 48 ## [1.0.0-beta.2] — 2026-06-19 141 49 142 First release where we actively track the version ( visible in the footer →143 click it for this page). Federation proto: **2** (unchanged).50 First release where we actively track the version (shown in the footer — click it for 51 this page). 144 52 145 53 ### Added … … 149 57 click stats, embeddable player, and show agenda + notify-me. 150 58 - Newsletter signup field in the footer (on/off in Admin → Settings). 151 - SMTP settings configurable in Admin → Settings (no more `.env` edit needed),152 witha test-mail button.59 - SMTP settings configurable in Admin → Settings (no more config-file edit needed), with 60 a test-mail button. 153 61 154 62 ### Changed 155 - Admin → Settings: Hub and Circle config now sit directly under the Mode card; 156 forms tidier (stacked labels, full-width inputs). 63 - Tidier settings forms (stacked labels, full-width inputs). 157 64 - EPK/press kit shows the top 10 most-listened tracks. 158 65 - Nicer 404 page (mobile-friendly) and clearer login error messages. 159 66 160 67 ### 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).68 - The site-wide audio player wasn't loading any tracks. 69 - Button text became unreadable on hover. 163 70 - Date pickers now follow the theme. 164 - htmx navigation updates the address bar again; no double header on back/forward.71 - Back/forward navigation no longer shows a doubled header. -
CHANGELOG.nl.md
reb5f978 r98fe58a 4 4 Versies volgen [SemVer](https://semver.org/lang/nl/) (`1.0.0-beta.N` tijdens de beta). 5 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 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 dan in **lockstep**12 > uit naar álle instances (incl. de democirkels) zodat ze blijven samenwerken.13 14 6 ## [Unreleased] 15 7 16 8 ### 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 - **Fediverse-client**: volg accounts (WebFinger → ondertekende Follow), een 23 **home-tijdlijn** (`/tijdlijn`) van wie je volgt, een **meldingen-inbox** 24 (`/meldingen`), en ⭐-like / 🔁-boost / ↩-reageren vanuit de tijdlijn. 25 - **Liken én reageren via de fediverse** op een post: bezoekers vullen alleen 26 hun eigen server in (`@jij@server` of `server.com`) en handelen het af op hun 27 eigen account (`/authorize_interaction`). 28 - **HTTP-handtekeningen afgedwongen** op de inbox: ongetekende of vervalste 29 activiteiten worden geweigerd — geen nep-reacties/likes/volgers meer. 30 - **Blokkeren/defedereren** van een account of een heel domein (`/blokkeren`). 31 - **Live thema-preview** in Beheer → site-instellingen: accent, thema en palet 32 meteen zichtbaar vóór je opslaat. 9 - **Klonkt zit nu op de fediverse (ActivityPub).** Je site is een echt 10 fediverse-account: mensen op **Mastodon** — of een andere **Klonkt** — kunnen je 11 volgen, en je berichten komen in hun feed. Je kunt zelf accounts volgen en hun 12 berichten lezen in een **News**-feed, **notificaties** krijgen, en berichten **liken, 13 boosten en erop reageren**. Inkomende activiteit wordt geverifieerd, dus nep-reacties, 14 -likes en -volgers worden geweigerd. 15 - **Iedereen kan vanaf de fediverse op je berichten reageren, ze liken of boosten** — 16 bezoekers reageren vanuit hun eigen account (ze vullen alleen hun server in); een 17 account op jouw site is niet nodig. 18 - **Circles**: volg andere Klonkt-sites en toon elkaars openbare berichten in je 19 Circle — decentraal, zonder centraal platform. 20 - **Gevoelige (NSFW) berichten** met je eigen waarschuwingstekst: vervaagd met 21 klik-om-te-tonen op de hele site, en getoond als inhoudswaarschuwing op de fediverse. 22 - **Blokkeer** een account of een heel domein waar je liever niets van hoort. 23 - Zoeken vindt nu ook **tracks** (op titel, artiest en album), direct af te spelen vanuit 24 de resultaten met een link naar het bericht waarin ze voorkomen — en bij berichten zoek 25 je al terwijl je typt. 26 - **Live thema-voorbeeld** in Beheer → site-instellingen: accent, thema en palet worden 27 direct bijgewerkt, nog vóór je opslaat. 28 - Geüploade afbeeldingen worden automatisch geoptimaliseerd naar **WebP** voor snellere 29 pagina's. 30 - Een ruimere **schrijfervaring op mobiel**: tik om een afleidingsvrije, schermvullende 31 editor te openen, met de opmaakbalk die boven het toetsenbord in beeld blijft. 33 32 34 33 ### Gewijzigd 35 - **Paletten herzien** naar 8: de neutrale **Klonkt** (wit/zwart, gouden accent) 36 is nu de standaard, plus 7 echte-kleur thema's (Forest, Ocean, Teal, Lilac, 37 Sunset, Candy, Amber). Accent-keuze opgeschoond; de Klonkt-achtergrond volgt 38 nu de gekozen accentkleur. 34 - **Paletten teruggebracht naar 8**: het neutrale **Klonkt** (goud accent) is de nieuwe 35 standaard, plus zeven volkleurige thema's — **Forest**, **Ocean**, **Teal**, **Lilac**, 36 **Sunset**, **Candy** en **Amber**. 39 37 40 38 ### Verwijderd 41 - **Hub-modus** verwijderd — Klonkt is voortaan **solo of cirkels**. Een42 collectief/label maak je nu via **Cirkels** (gefedereerde losse sites).43 - ** Native reacties + Google-login** verwijderd — interactieloopt nu volledig44 via de **fediverse**.45 - **Lokale favorieten (♥)** verwijderd— vervangen door de ⭐ fediverse-like.39 - **Hub-modus** — Klonkt is nu **solo of Circles**; je bouwt een collectief of label 40 via **Circles** (gefedereerde, zelfstandige sites). 41 - **Eigen reacties en Google-login** — reageren, liken en boosten loopt nu volledig 42 via de fediverse. 43 - **Lokale favorieten (♥)** — vervangen door de ⭐ fediverse-like. 46 44 47 45 ### Opgelost 48 - Mini-speler: spring + scroll naar de spelende track werkt nu ook vanuit een 49 **album of 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 de 52 WebP-conversie) + ze vallen nu terug op de cover van de eerste track. 53 - Kapotte **avatar/profielfoto** in de kop na de WebP-conversie: de viewer-avatar 54 (en rol) wordt nu vers uit de database gelezen, dus een oude sessie herstelt 55 zichzelf zonder opnieuw inloggen. 56 57 ### Opgelost (eerder) 58 - Inline content-layout op touch versimpeld: geen opmaak-toolbar/rand meer inline 59 (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:hidden 61 op html/body) bleef hangen. Lock verwijderd — het fullscreen-frame dekt de pagina 62 al af en op touch zijn de scrollbalken verborgen. 63 - Fullscreen verlaten scrolt nu naar de top van de content (i.p.v. door te springen 64 naar de footer). 65 - "Tik om te bewerken"-aanwijzing op touch is nu een pill die sticky onderaan de 66 container plakt (boven de Opslaan-balk) i.p.v. lelijk gecentreerd in de tekst. 67 - Scrollbalken 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één 70 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 Op mobiel is het schrijfveld nu een begrensde scroll-box met de opmaak-toolbar 73 STICKY bovenin: de tekst scrollt eronder, de toolbar blijft altijd in beeld, en 74 de caret-scroll die mobiel Chrome forceert blijft binnen de box i.p.v. de hele 75 pagina te laten verspringen. (Plus: scrollpositie wordt vastgehouden rond elk 76 opmaak-commando.) `interactive-widget=resizes-content` weer verwijderd — dat liet 77 de pagina omhoog scrollen voor het toetsenbord en brak de kb-open-detectie; de 78 actiebalk + fullscreen regelen het toetsenbord via de visual viewport. 79 - Post-editor op mobiel: de Opslaan/Annuleren-balk blijft nu net bóven het 80 toetsenbord (sticky met dynamische bottom-offset = max van toetsenbord- en 81 audiospeler-hoogte), i.p.v. erachter te vallen of midden in beeld te zweven. 82 Viewport schaalt mee met het toetsenbord (`interactive-widget=resizes-content`). 83 - Mobiel toetsenbord vs. layout (site-breed): zodra het toetsenbord opent tijdens 84 het typen, verbergen de vaste onderbalken (bottom-tab + mini-speler) zich, zodat 85 ze niet meer over het invoerveld zweven of het overlappen. Ze komen terug zodra 86 het toetsenbord sluit. (Detectie via visualViewport → `body.kb-open`.) 87 - Post bewerken op mobiel opende niet meer meteen het toetsenbord: de titel kreeg 88 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 het 90 tekstveld → de selectie ging verloren (vet kon niet meer uitgezet worden) en de 91 pagina sprong naar beneden. De toolbar houdt de focus nu in de editor 92 (mousedown-preventDefault + focus zonder scroll), dus toggelen werkt en er is geen 93 sprong meer. Toolbar-taps zijn ook sneller (touch-action: manipulation). Actieve 94 opmaak is nu duidelijk gevuld met de accentkleur (en :hover plakt niet meer op 95 touch), zodat zichtbaar is of bv. vet aan of uit staat. 96 97 ### Toegevoegd 98 - Afbeeldingen → **WebP**: nieuwe uploads (post-afbeeldingen/cover, avatar, site-foto, 99 hub-hero, audio-cover) worden automatisch naar WebP omgezet (kleiner); bestaande 100 afbeeldingen zijn in één keer omgezet en alle verwijzingen bijgewerkt. 101 - Afbeeldingen zijn **lastiger op te slaan** (rechtsklik-"opslaan" + slepen 102 geblokkeerd) — frictie, geen waterdichte beveiliging. 103 - Mini-speler (desktop): klik op de spelende track → **spring naar de post én scroll 104 naar die track** (met highlight); werkt ook voor site-brede tracks via een lookup. 105 - Tekstvelden (`<textarea>`) groeien nu site-breed mee met de inhoud i.p.v. intern 106 te scrollen (scroll-binnen-scroll was verwarrend). Het inline schrijfveld groeit 107 ook gewoon mee; typen op mobiel/tablet gaat sowieso fullscreen. 108 - Op **mobiel & tablet** (touch) gedraagt de inhoud zich als een post: inline is het 109 **niet typbaar** (tap-vlak met "✎ Tik om te bewerken"-pill). Eén tik opent een 110 **fullscreen schrijf-"pagina"** — met echte back-knop-ondersteuning, dus de 111 browser-back of de **"✓ Klaar"-knop** sluit 'm en je staat terug in het formulier 112 (alle 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 om 114 terug te gaan) — fijn voor afleidingsvrij schrijven op mobiel. De opmaak-toolbar 115 blijft daarbij altijd bovenaan in beeld, ook als het mobiele toetsenbord opent 116 (frame volgt de visual viewport). 117 - Beheerder kan z'n **Google-account koppelen** (Account → Inloggen met Google) en 118 daarna óók met Google inloggen. Veilig: koppelen kan alleen terwijl je met 119 wachtwoord bent ingelogd, en Google-login geeft alleen beheer als de exacte 120 gekoppelde Google-account (`google_sub`) matcht. Ontkoppelen kan zolang er een 121 wachtwoord is. 122 - Posts liken / favorieten: ingelogde gebruikers kunnen een post liken met een ♥-knop 123 (toont het aantal likes). Je gelikete posts staan op de nieuwe **Favorieten**-pagina 124 (`/favorieten`, link in het accountmenu). Niet-ingelogd → de knop leidt naar de login. 125 126 ### Gewijzigd 127 - 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 een 129 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 nu 132 **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 uitgegrijsde 136 placeholder ("Nieuwste post" / "Oudste post") i.p.v. een lege plek. 137 - Bij het openen van een gerelateerde/volgende post spring je nu naar boven van de 138 pagina (was: je bleef op de oude scrollpositie hangen). 46 - De mini-speler springt en scrollt naar de track die speelt — ook vanuit een album of 47 afspeellijst — en houdt die gemarkeerd. 48 - Lege album-/afspeellijst-covers vallen nu terug op de cover van de eerste track. 49 - Een profielfoto die na de overstap naar **WebP** kapotging in de koptekst, herstelt 50 zichzelf nu. 51 - Veel verbeteringen aan de **mobiele berichten-editor**: betrouwbaar scrollen, een 52 opmaakbalk die op z'n plek blijft, geen pagina-sprongen als je op een knop tikt, en een 53 Opslaan-balk die net boven het toetsenbord zit. 139 54 140 55 ## [1.0.0-beta.2] — 2026-06-19 141 56 142 Eerste release waarbij we de versie actief bijhouden ( zichtbaar in de footer →143 klik erop voor deze pagina). Federatie-proto: **2** (ongewijzigd).57 Eerste release waarbij we de versie actief bijhouden (te zien in de footer — klik erop voor 58 deze pagina). 144 59 145 60 ### Toegevoegd 146 - 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.61 - Releasetracking: het versienummer in de footer linkt naar deze wijzigingenpagina. 62 - Acht premiumfuncties (achter **Patreon**): nieuwsbrief/mailinglijst, download-voor-e-mail, 63 release-planning + previews alleen voor fans, **EPK**/perskit, pro-statistieken, 64 link-in-bio + klikstatistieken, insluitbare speler, en showagenda + houd-me-op-de-hoogte. 150 65 - Nieuwsbrief-aanmeldveld in de footer (aan/uit in Beheer → Instellingen). 151 - SMTP-instellingen instelbaar in Beheer → Instellingen (geen `.env`-edit meer nodig),152 mettestmail-knop.66 - **SMTP**-instellingen in te stellen in Beheer → Instellingen (geen aanpassing van een 67 configuratiebestand meer nodig), met een testmail-knop. 153 68 154 69 ### Gewijzigd 155 - Beheer → Instellingen: Hub- en Cirkel-config staan nu direct onder de Modus-kaart; 156 forms netter (gestapelde labels, full-width inputs). 157 - EPK/perskit toont de top 10 meest beluisterde nummers. 158 - Nettere 404-pagina (mobielvriendelijk) en duidelijkere login-foutmeldingen. 70 - Nettere instellingenformulieren (gestapelde labels, volledig brede invoervelden). 71 - **EPK**/perskit toont de top 10 meest beluisterde tracks. 72 - Mooiere 404-pagina (mobielvriendelijk) en duidelijkere inlogfoutmeldingen. 159 73 160 74 ### Opgelost 161 - Site-brede audiospeler kreeg geen tracks (verkeerde kolom in de query).162 - Knoptekst werd onleesbaar bij hover (zelfde kleur als de knop).75 - De sitebrede audiospeler laadde geen enkele track. 76 - Knoptekst werd onleesbaar bij hover. 163 77 - Datumkiezers volgen nu het thema. 164 - htmx-navigatie werkt de adresbalk weer bij; geen dubbele kop bij terug/vooruit.78 - Vooruit/terug-navigatie toont geen dubbele koptekst meer.
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)