source: Klonkt/CHANGELOG.de.md@ eb5f978

main
Last change on this file since eb5f978 was eb5f978, checked in by Robin Genis <roboburr@…>, 2 months ago

feat(changelog): i18n the public changelog (English base + nl/de)

  • CHANGELOG.md — now the English base (translated from Dutch), the source of truth going forward.
  • CHANGELOG.nl.md — the previous Dutch changelog, kept as the Dutch translation.
  • CHANGELOG.de.md — German translation.
  • routes/changelog.js — serve CHANGELOG.<lang>.md for the visitor's language, fall back to the English base; title/empty-message via i18n.
  • services/i18n.js — changelog.title + changelog.empty (nl/en/de).
  • Property mode set to 100644
File size: 11.2 KB
Line 
1# Änderungen — Klonkt
2
3Alle nennenswerten Änderungen an Klonkt. Neueste oben.
4Versionen 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
142Erste Release, bei der wir die Version aktiv pflegen (sichtbar im Footer →
143klicke 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.
Note: See TracBrowser for help on using the repository browser.