| 1 | # Änderungen — Klonkt
|
|---|
| 2 |
|
|---|
| 3 | Alle nennenswerten Änderungen an Klonkt. Neueste oben.
|
|---|
| 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, ob
|
|---|
| 9 | > 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 das
|
|---|
| 11 | > 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 |
|
|---|
| 14 | ## [Unreleased]
|
|---|
| 15 |
|
|---|
| 16 | ### 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.
|
|---|
| 33 |
|
|---|
| 34 | ### 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.
|
|---|
| 39 |
|
|---|
| 40 | ### Entfernt
|
|---|
| 41 | - **Hub-Modus** entfernt — Klonkt ist von nun an **solo oder Cirkels**. Ein
|
|---|
| 42 | Kollektiv/Label erstellst du jetzt über **Cirkels** (föderierte einzelne Sites).
|
|---|
| 43 | - **Native Reaktionen + Google-Login** entfernt — Interaktion läuft jetzt vollständig
|
|---|
| 44 | über das **Fediverse**.
|
|---|
| 45 | - **Lokale Favoriten (♥)** entfernt — ersetzt durch das ⭐ Fediverse-Like.
|
|---|
| 46 |
|
|---|
| 47 | ### 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).
|
|---|
| 139 |
|
|---|
| 140 | ## [1.0.0-beta.2] — 2026-06-19
|
|---|
| 141 |
|
|---|
| 142 | Erste Release, bei der wir die Version aktiv pflegen (sichtbar im Footer →
|
|---|
| 143 | klicke darauf für diese Seite). Föderations-Proto: **2** (unverändert).
|
|---|
| 144 |
|
|---|
| 145 | ### 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.
|
|---|
| 153 |
|
|---|
| 154 | ### 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.
|
|---|
| 159 |
|
|---|
| 160 | ### 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 folgt jetzt dem Theme.
|
|---|
| 164 | - htmx-Navigation aktualisiert die Adressleiste wieder; keine doppelte Kopfzeile bei zurück/vorwärts.
|
|---|