source: Klonkt/CHANGELOG.de.md@ 61e3daf

main
Last change on this file since 61e3daf was 0cea12b, checked in by Robin <roboburr@…>, 7 weeks ago

Feature: owner inbox read over C2S (GET, bearer-gated)

GET /ap/users/:slug/inbox with a bearer scoped to that site returns the
recent timeline (accounts the owner follows) as an OrderedCollection of
Create(Note) items with content, url, published, sensitive and summary
(CW). Anyone else gets 403: the inbox stays write-only for the public.
This is the missing read half for a connected app's unified feed
(Shaer HomeBase, bead shaer-n4h); same gate pattern as the owner
followers/following read.

Changed files:
src/routes/activitypub.js

  • GET /ap/users/:slug/inbox (owner only) mapping ap_timeline rows

New file:
test/c2s-inbox.test.js

  • data-path coverage for the fields the mapping relies on

-robo
Co-Authored-By: Claude Opus 4.8 <noreply@…>

  • Property mode set to 100644
File size: 26.3 KB
Line 
1# Änderungen — Klonkt
2
3Alle nennenswerten Änderungen an Klonkt. Das Neueste oben.
4Versionen folgen [SemVer](https://semver.org/lang/de/) (`1.0.0-beta.N` während der Beta).
5
6## [Unreleased]
7
8### Hinzugefügt
9- **Die Inhaberin kann ihre Inbox über C2S lesen.** Ein GET auf die Inbox mit
10 dem eigenen Bearer liefert aktuelle eingegangene Beiträge (die Konten, denen
11 du folgst) als Create(Note)-Einträge, damit eine verbundene App (Shaer) einen
12 vereinten Feed bauen kann. Für alle anderen bleibt die Inbox write-only.
13- **"Mehr laden" in den Feeds.** Solo (Start), Zirkel, Zeitung und Nachrichten
14 laden jetzt in Blöcken von 72 mit einem "Mehr laden"-Button statt einer harten
15 Grenze, sodass ältere Einträge wieder erreichbar sind. 72 ist durch 2, 3 und 4
16 teilbar, damit die Rasteransichten immer mit einer vollen Reihe enden. Das
17 Nachladen ist sofort (htmx), Suche und Filter in Nachrichten funktionieren über
18 alle Seiten, und der Button verschwindet auf der letzten Seite.
19- **"Über das Fediverse interagieren" neben Teilen.** Auf einem Beitrag bekommen
20 Besucher neben Teilen einen Button, um von ihrem eigenen Fediverse-Server zu
21 antworten, zu liken oder zu boosten (fragt nach deinem Server und übergibt an
22 deine Instanz). Für die Seiteninhaberin und bei ausgeschalteter Föderation
23 ausgeblendet.
24- **FEDERATION.md (FEP-67ff).** Die Repo-Wurzel dokumentiert jetzt, was Klonkt
25 auf der Leitung spricht: ActivityPub S2S und C2S, WebFinger, HTTP Signatures,
26 NodeInfo 2.1, OAuth (PKCE), die gesendeten und empfangenen Activities und
27 Objekttypen, die Mastodon-kompatiblen Erweiterungsterme und die FEPs, die es
28 unterstützt oder verfolgt. Hilft anderen Implementierungen bei der
29 Interoperabilität.
30- **Nachrichten: deine Umfrage ist beendet.** Wenn eine deiner eigenen Umfragen
31 schließt, zeigt Nachrichten einen "Umfrage beendet"-Eintrag mit dem Ergebnis:
32 ein Balken je Option mit Prozentwert, plus die Anzahl der Teilnehmer. Er liegt
33 unter dem Chip Aktivität und ist wie der Rest durchsuchbar.
34- **Nachrichten: schärfere Filter und ein Suchfeld.** Die Filter-Chips sind
35 jetzt Nachrichten (@Mentions und private/DM-Antworten), Gespräche (öffentliche
36 Antworten), Aktivität (Likes, Boosts, Follows), Moderation (Meldungen) und
37 Gesendet, neben Alle. Ein Suchfeld filtert die Liste nach Absender und
38 Nachrichtentext und kombiniert sich mit dem aktiven Chip. Komplett
39 client-seitig, sofort.
40- **Der Antwort-Editor wurde optisch aufgeräumt.** Seine Symbolleiste nutzt jetzt
41 dieselben Icons und 32px-Buttons wie der Beitragseditor, aktive Formatierung
42 in der Akzentfarbe gefüllt, eine gerahmte Editor-Box mit Fokus-Ring und
43 aufgeräumtere Sprach-, Mention- und Anhang-Chips. Eine Editor-Familie auf der
44 ganzen Seite.
45- **Der Antwort-Editor zeigt, wen du adressierst (reichhaltige Antworten,
46 Phase 3).** Eine "An:"-Leiste über dem Editor zeigt die Gesprächspartner (den
47 Autor, dem du antwortest, plus die früheren Autoren des Threads) als
48 entfernbare Chips, statt deinen Text mit @Mentions zu füllen. Entferne einen
49 Chip und diese Person wird nicht mehr erwähnt, getaggt oder angepingt; selbst
50 getippte Mentions bleiben im Text. Das Bearbeiten einer gesendeten Antwort
51 behält jede Co-Mention.
52- **Das Bearbeiten einer gesendeten Antwort nutzt jetzt ebenfalls den
53 Rich-Editor.** Die Bearbeiten-Formulare auf Nachrichten und der
54 Interaktionsseite öffnen denselben Editor wie neue Antworten (Formatierung
55 bleibt, Sprache anpassbar, Vollbild auf Telefonen). Anhänge der Antwort
56 überstehen eine Bearbeitung unangetastet.
57- **Medien in Antworten (reichhaltige Antworten, Phase 2).** Ziehe, füge ein
58 oder wähle Bilder, Audio und Video direkt im Antwort-Editor (die Büroklammer
59 funktioniert auf Telefonen). Dateien laden auf deine eigene Seite hoch,
60 erscheinen beim Schreiben als entfernbare Chips, reisen als echte Anhänge der
61 föderierten Note mit und erscheinen in deinem Thread. Eine Antwort nur mit
62 Medien (ohne Text) geht auch.
63- **Reichhaltige Antworten (Phase 1).** Das Antworten auf Fediverse-Kommentare
64 (inline im Thread und auf der Interaktionsseite) nutzt jetzt einen geteilten
65 Rich-Editor: fett, kursiv, Links, Listen und Zitate, plus eine Sprachwahl für
66 deine Antwort (als Language-Map der Note mitgesendet). Auf Telefonen öffnet
67 der Editor als Vollbild-Ansicht, das Muster, das auf Mobilgeräten wirklich
68 funktioniert. Ohne JavaScript funktioniert das einfache Textfeld weiter.
69 Medien in Antworten sind die nächste Phase.
70- **Verbundene Apps auf deiner Kontoseite widerrufen.** Ein Abschnitt
71 "Verbundene Apps" listet jede App auf, der du per OAuth Zugriff gegeben hast
72 (Name, Seite, Scope, zuletzt genutzt), mit einem Widerrufen-Knopf. Bereits
73 vergebene Tokens erscheinen ebenfalls, da sie immer (gehasht) gespeichert
74 waren; das Token selbst wird nie behalten, daher erfolgt der Widerruf über den
75 Token-Hash.
76- **Der Kontoinhaber kann seine eigenen Follower und Gefolgten über C2S lesen.**
77 Die `followers`- und `following`-Sammlungen bleiben für die Öffentlichkeit
78 count-only (Datenschutz), aber eine Anfrage mit einem auf diese Seite
79 begrenzten C2S-Bearer liefert jetzt die echten Actor-URIs, damit eine App
80 (Shaer) eine Freundesliste bauen kann. Für anonyme Aufrufer ändert sich
81 nichts.
82- **App-Zugriff über OAuth 2.0 (ActivityPub Client-to-Server, Phase 1).** Klonkt
83 spricht jetzt den standardmäßigen AP-C2S-Auth-Handshake, damit native und
84 Web-Clients (zuerst die Shaer-Apps) sich verbinden können: dynamische
85 Client-Registrierung (RFC 7591), ein PKCE-Authorization-Code-Flow mit einem
86 Zustimmungsbildschirm, auf dem du wählst, als welche deiner Seiten die App
87 posten darf, und Bearer-Tokens (gehasht gespeichert, einmalige Codes). Das
88 Actor-Dokument bewirbt die OAuth- und uploadMedia-Endpunkte und
89 `/.well-known/oauth-authorization-server` (RFC 8414) liefert die Metadaten,
90 sodass Clients alles entdecken statt Pfade festzuschreiben. Nur öffentliche
91 Clients + PKCE, keine Client-Secrets.
92- **Die Outbox nimmt Beiträge von Apps an (C2S, Phase 1 komplett).** Ein
93 `POST` mit Bearer-Token an `/ap/users/:slug/outbox` steuert jetzt dein Konto
94 aus einer App: einen Beitrag veröffentlichen, antworten, liken, teilen, folgen
95 und all das rückgängig machen. Aktivitäten laufen über dieselbe
96 Zustell-Maschinerie wie die Web-UI; eine nackte Note wird laut Spezifikation in
97 ein Create verpackt; Inhalt wird bereinigt; das Token ist an eine Seite
98 gebunden. Hinweis: Das ist ActivityPub C2S, das die Shaer-Apps sprechen.
99 Mastodon-Clients (Ivory usw.) nutzen Mastodons eigene API und werden hier nicht
100 unterstützt.
101
102### Behoben
103- **OAuth-Zustimmung übergibt jetzt zuverlässig an native Apps.** Nach
104 Allow/Deny war die Weiterleitung an ein natives Custom-Scheme (z. B.
105 `com.klonkt.shaer:/oauth`) ein einfacher 302, den mobile Browser stillschweigend
106 verwerfen. Der Zustimmungsschritt liefert nun eine kleine Zwischenseite für
107 Nicht-http-Redirect-URIs, die automatisch weiterleitet und einen "App öffnen"-
108 Tipp-Link bietet (ein Tipp startet die App auf Android zuverlässig; iOS'
109 Web-Auth-Session fängt sie ohnehin ab). Web-Clients (http/https) bekommen
110 weiterhin einen 302.
111- **Besucher können auf die eigenen Kommentare des Seiteninhabers antworten.**
112 Der Knopf "über das Fediverse antworten" erschien nur bei Kommentaren anderer;
113 bei den eigenen Kommentaren der Seite in einem Thread bekamen Besucher nichts,
114 sodass man dem Autor nicht von der eigenen Instanz aus antworten konnte.
115
116## [1.5.0] · 2026-07-18
117
118### Hinzugefügt
119- **Nachrichten: deine Antworten und Meldungen auf einer Seite.** Ein
120 Nachrichten-Tab ersetzt Antworten und Meldungen. Ein Strom mit Filterchips
121 (Alle, Gespräche, Aktivität, Gesendet): deine eigenen gesendeten Antworten
122 stehen mit im Gespräch (mit Bearbeiten und Löschen), Likes und Boosts auf
123 denselben Beitrag gruppieren sich zu einer Zeile, private Antworten tragen ein
124 Schloss, und Neues seit deinem letzten Besuch bekommt einen Punkt. Das
125 Interaktions-Bookmarklet zog mit um. Alte /fediverse- und
126 /notifications-Links leiten auf /messages um.
127- **Connect: wem du folgst und wer dir folgt auf einer Seite.** Ein Connect-Tab
128 ersetzt die getrennten Folge-ich- und Follower-Seiten, mit Richtung pro
129 Verbindung (folge ich →, Follower ←, gegenseitig ↔) und, für Konten, an die du
130 zustellst, wann sie zuletzt erreicht wurden. Konten, die du nicht mehr
131 erreichst, wandern in einen eingeklappten Bereich "Nicht erreichbar" zum
132 Aufräumen. Alte /following- und /followers-Links leiten auf /connect um.
133- **Eingehende Antworten auf deine Beiträge moderieren.** Als Seiteninhaber
134 kannst du eine Antwort jetzt aus deinem Thread entfernen (sie bleibt weg:
135 erneute Zustellung und Thread-Auffüllung werden durch einen Tombstone
136 blockiert) und sie beim Server des Autors melden, direkt aus dem Thread.
137 Funktioniert auch für private Antworten, die sich nicht über den
138 Fediverse-Interaktionsfluss behandeln lassen.
139
140### Behoben
141- **Ein geboosteter Videobeitrag behält sein Video im Zirkel.** Das Boosten
142 eines Nur-Video-Beitrags (Loops.video) speicherte ihn ohne Medien, sodass der
143 Zirkel eine nackte Textkachel statt eines Video-Thumbnails zeigte; erneutes
144 Boosten konnte das Video sogar aus einer bereits gecachten Kopie löschen.
145 Boosts tragen jetzt die vollen typisierten Medien, und ein Refresh löscht
146 gecachte Medien nicht mehr.
147- **Der Titel der Interaktionsseite folgt deiner Sprache.** "Interacteer via de
148 fediverse" stand fest auf Niederländisch im Browser-Tab, auch auf einer
149 englischsprachigen Seite.
150- **Das Apple-Music-Icon sieht wieder wie das Apple-Logo aus.** Das alte Icon
151 war eine entstellte Form.
152- **Statistik-Spalten springen in der 30- und 90-Tage-Ansicht nicht mehr.**
153 Spalten ohne Datumslabel klappten leicht ein; jede Spalte behält jetzt ihre
154 Labelzeile.
155- **Private Antworten erscheinen nicht mehr auf der öffentlichen Beitragsseite.**
156 Eine Nur-Follower- oder Direkt-(DM-)Antwort auf deinen Beitrag wurde für alle
157 im öffentlichen Thread gezeigt. Eingehende Antworten speichern jetzt ihre
158 Fediverse-Adressierung; der öffentliche Thread zeigt nur öffentliche und
159 ungelistete Antworten. Private erreichen dich weiterhin über Meldungen, mit
160 dem zugehörigen Beitrag.
161- **Nackte Video/Audio-Embeds laufen nicht mehr über die Spalte hinaus.** Ein
162 `.webm` / `.mp4` / `.mp3`-Player passt jetzt in die Inhaltsbreite wie die
163 iframe-Embeds; die Breitenregel galt zuvor nur für `iframe`.
164
165## [1.4.0] · 2026-07-14
166
167### Hinzugefügt
168- **Follower-Liste mit Zustellstatus.** Ein neuer Fediverse-Tab zeigt, wer dir
169 folgt und wann jedes Konto zuletzt erreicht wurde, sodass tote Konten auffallen
170 und du sie nach einer Prüfung entfernen kannst.
171- **Nackte Medienlinks spielen direkt ab.** Ein einfacher `.webm`-, `.mp4`- oder
172 `.mp3`-Link wird jetzt ein echter Player statt eines toten Links.
173- **Hashtags, Links und Erwähnungen sind auch auf deiner Seite anklickbar.**
174 `#Tags`, URLs und `@Erwähnungen` in einem Beitrag werden zu Links auf der Seite
175 selbst, nicht nur in der föderierten Kopie. Erwähnungen werden einmal beim
176 Speichern aufgelöst, sodass Seiten schnell bleiben.
177
178### Behoben
179- **Antworten, gelöschte und bearbeitete Antworten kommen immer an.** Sie gingen
180 verloren, wenn ein Server kurz nicht erreichbar war; sie laufen jetzt über die
181 Retry-Warteschlange wie Beiträge.
182- **Video-Thumbnails für mehr Videos.** Cover von Videos mit ihren Metadaten am
183 Ende der Datei (Loops.video, Handy-Exporte) bekommen jetzt ein Thumbnail statt
184 keines.
185- **Ein reines Video-Cover zeigt ein Posterbild auf der Beitragsseite.** Es bleibt
186 in der Solo-Ansicht nicht mehr leer.
187- **Die installierte App zeigt bei wackeligem Start keine alten Daten mehr.** Ein
188 Kaltstart bei schlechter Verbindung aktualisiert jetzt, statt eine veraltete
189 Seite zu zeigen.
190- **Die Updates-Seite folgt deinem Branch.** Auf dem Stable-Branch siehst du die
191 Änderungen von main nicht mehr als „neueste“.
192
193## [1.3.5] — 2026-07-04
194
195### Behoben
196- **Umfragen behalten ihr Cover, wenn sie geboostet werden.** Eine Umfrage mit
197 Musik oder Embed wurde ohne Cover föderiert, sodass eine geteilte Umfrage eine
198 leere Kachel zeigte; das Cover reist jetzt mit.
199- **Die Updates-Seite der Android-App zeigt, was wirklich installierbar ist.**
200 Sie las den neuesten Release-Branch, der der Handy-Build kurzzeitig
201 vorauslaufen konnte — Aktualisieren installierte dann dieselbe Version erneut.
202 Sie liest jetzt die Version des Handy-Bundles selbst.
203
204## [1.3.4] — 2026-07-04
205
206### Behoben
207- **Boosts, die ihr Cover verloren hatten, bekommen es automatisch zurück.**
208 Beiträge, die du vor dem Cover-Fix geboostet hast, waren ohne Artwork
209 gespeichert; sie werden beim nächsten Neustart einmalig aufgefrischt. Ist der
210 Heimserver eines Beitrags in dem Moment kurz nicht erreichbar, wird es bei den
211 nächsten Neustarts erneut versucht statt endgültig übersprungen. Einen Beitrag
212 erneut zu boosten aktualisiert jetzt ebenfalls die gespeicherte Kopie (Cover,
213 Inhalt) — aus dem Feed wie von der Interact-Seite.
214
215## [1.3.3] — 2026-07-03
216
217### Behoben
218- **Geteilte Musikbeiträge behalten ihr Cover.** Wenn du einen Titel von jemandem
219 geteilt (geboostet) hast, dem du nicht folgst, fehlte das Cover; es wird jetzt
220 angezeigt, genau wie bei Personen, denen du folgst.
221
222## [1.3.2] — 2026-07-02
223
224### Behoben
225- **Die Updates-Seite funktioniert jetzt in der Android-App.** Sie zeigt ab
226 sofort die neueste verfügbare Version, und der Aktualisieren-Button lädt und
227 installiert sie direkt auf dem Handy (Beiträge und Einstellungen bleiben
228 erhalten).
229
230## [1.3.1] — 2026-07-02
231
232### Behoben
233- **Musik läuft auf Android im Hintergrund weiter.** Wenn ein Titel endete,
234 während das Handy gesperrt oder die App im Hintergrund war, startete der
235 nächste Titel und stoppte nach einer Sekunde wieder. Der Player führt die
236 Warteschlange jetzt als einen durchgehenden Stream zu, sodass das
237 Weiterspringen zum nächsten Titel nicht mehr als "neue" Wiedergabe zählt,
238 die der Browser pausieren darf.
239
240## [1.3.0] — 2026-07-02
241
242### Hinzugefügt
243- **Wähle eine helle oder dunkle Teilen-Karte.** Das automatisch erzeugte Teilbild folgt deinem
244 Site-Thema; unter Verwaltung → SEO kannst du es jetzt fest auf hell oder dunkel stellen.
245- **Eine Erwähnung ist jetzt eine Benachrichtigung.** Wenn dich jemand im Fediverse in einem
246 Beitrag erwähnt — auch in einem, der keine Antwort an dich ist — erscheint das in deinen
247 Fediverse-Benachrichtigungen mit einem Link zum Original.
248- **Cover-Art bei offen geteiltem Audio.** Ein offen im Fediverse geteilter Track trägt jetzt sein
249 Cover (oder das Beitragscover) mit, sodass Audio-Player, die Artwork unterstützen, es statt einer
250 leeren Kachel anzeigen.
251- **Einen Beitrag im Fediverse melden.** Von einem Fediverse-Beitrag aus kannst du ihn jetzt den
252 Moderatoren seines Heimatservers melden, mit optionaler Begründung — und meldet jemand deine Seite,
253 erscheint die Meldung in deinen Fediverse-Benachrichtigungen.
254- **Sprache eines Beitrags festlegen.** Wähle, in welcher Sprache du einen Beitrag geschrieben hast —
255 im Fediverse funktionieren damit der Sprachfilter der Timeline und die Übersetzen-Schaltfläche.
256- **Alt-Text für Bilder.** Gib deinem Titelbild eine Beschreibung (Inline-Bilder behalten ihren
257 eigenen Alt-Text) — sie föderiert ins Fediverse und lässt Screenreader das Bild beschreiben.
258- **Erwähne Personen in einem Beitrag.** `@benutzer@server` in einem Beitrag verlinkt jetzt auf ihr
259 Profil und benachrichtigt sie im Fediverse — auch wenn sie dir nicht folgen — wie eine Erwähnung
260 in einer Antwort.
261- **Kurze Videos im Feed spielen automatisch ab und wiederholen sich.** Ein animiertes Cover oder ein
262 kurzer (≤30s) Clip im News-Feed wird jetzt automatisch stumm in Schleife abgespielt, wie ein GIF;
263 längere Videos behalten ihre Steuerung.
264- **Über Fediverse-Umfragen abstimmen.** Eine Umfrage von einem Konto, dem du folgst, erscheint jetzt
265 im News-Feed mit Optionen und aktuellen Ergebnissen, und du kannst abstimmen — das föderiert zurück
266 wie eine normale Mastodon-Stimme.
267- **Erstelle eigene Umfragen.** Ein Beitrag kann jetzt eine Umfrage enthalten (Einfach- oder
268 Mehrfachauswahl, mit einer Laufzeit). Sie föderiert als echte Fediverse-Umfrage, sodass deine
269 Mastodon-Follower aus ihrer eigenen App abstimmen können; die Live-Ergebnisse stehen am Beitrag und
270 die Umfrage schließt sich selbst, sobald die Zeit abgelaufen ist.
271
272### Geändert
273- **Audio offen zu teilen ist jetzt unumkehrbar.** Sobald ein Track offen im Fediverse geteilt wurde,
274 ist die Datei verbreitet — erneutes "Schließen" wäre Scheinsicherheit. Der Editor sperrt die Wahl
275 nach dem Öffnen und warnt dich, bevor du sie ankreuzt.
276
277### Behoben
278- **Entfernte Videos zeigen ein Vorschaubild.** Ein Video im News-Feed oder auf einer Zirkel-Kachel
279 (z.B. von Loops oder PeerTube) erschien als schwarze Fläche, bis man auf Abspielen drückte; jetzt
280 gibt es ein echtes Posterbild. (Längere Videos behalten bewusst ihre Steuerung — nur Clips unter
281 30 Sekunden laufen automatisch wie ein GIF.)
282- **Erwähnungen, Hashtags und Links in Klammern funktionieren jetzt.** Eine Erwähnung wie
283 `(@benutzer@server)`, ein `(#hashtag)` oder eine URL in Klammern föderierte als reiner Text —
284 und die erwähnte Person wurde nie benachrichtigt. Sie verlinken (und benachrichtigen) jetzt wie
285 ohne Klammern.
286- **Nackte Webadressen werden im Fediverse zu Links.** Eine einfache URL in einem Beitrag oder einer
287 Antwort föderiert jetzt als klickbarer Link statt als reiner Text.
288
289## [1.2.0] — 2026-07-01
290
291### Hinzugefügt
292- **PeerTube-Videos im Feed.** Ein PeerTube-Link in einem Beitrag zeigt jetzt einen eingebetteten
293 Player im News-Feed, wie es YouTube, Spotify und SoundCloud bereits taten.
294- **Helle Teilen-Bilder.** Seiten mit einem hellen Standard-Theme erhalten beim Teilen einer Seite
295 nun eine passende helle Open-Graph-Karte statt immer einer dunklen.
296- **Eigene Besuche aus der Statistik ausschließen.** Als Administrator kannst du jetzt deine eigene
297 IP-Adresse aus deiner Seitenstatistik ausschließen, für ein wahreres Bild der echten Besucher.
298- **Rechtsklick „Speichern" ist bei Covern, Bildern und Videos deaktiviert** — eine leichte Hürde,
299 damit das Artwork nicht mit einem Klick gespeichert werden kann (Reibung, kein Schutz).
300
301### Behoben
302- **Animierte Video-Cover werden jetzt überall korrekt angezeigt.** Im Zirkel und im Raster konnten
303 sie als kaputtes Bild oder leere Kachel erscheinen; sie werden nun als echtes, sich wiederholendes
304 Video angezeigt, das das Quadrat füllt, zentriert. Ein Rechtsklick auf ein Cover zeigt das normale
305 Link-Menü statt der Video-Steuerung des Browsers.
306- **Jemandem zu folgen bleibt nicht mehr hängen.** Eine Follow-Anfrage, deren erste Zustellung
307 fehlschlägt (der andere Server kurz nicht erreichbar), wird jetzt automatisch mit Backoff erneut
308 versucht, statt für immer auf „ausstehend" zu bleiben.
309- **Geboostete Beiträge zeigen ihren echten Text** im Zirkel, statt eines „RE: <Link>"-Präfixes.
310- **Robustere Fediverse-Verarbeitung** — strengere Signaturprüfungen bei eingehenden Aktivitäten,
311 Blockierungen erfassen jetzt auch einen Boost eines blockierten Autors, und die Synchronisierung
312 angehefteter Beiträge kollidiert nicht mehr, wenn du mehrmals schnell speicherst.
313
314## [1.1.0] — 2026-06-30
315
316### Hinzugefügt
317- **Animierte Cover spielen überall flüssig.** Lade ein animiertes WebP als Cover hoch, und Klonkt
318 erstellt zusätzlich ein stummes, sich wiederholendes Video davon. iOS Safari — wo animiertes WebP
319 ruckelt — bekommt das flüssige Video, jeder andere Browser behält das scharfe WebP, und im Fediverse
320 federiert das Cover als Video, das in Mastodon und seinen Apps abspielt. Sichtbar im Beitrag, im
321 Raster, im Feed und bei verwandten Beiträgen.
322- **Medienbibliothek (Verwaltung → Medien).** Sieh jedes hochgeladene Bild, wo es verwendet wird,
323 kopiere die URL und räume ungenutzte Dateien mit einem Klick auf — einschließlich des übrigen
324 Videos/Posters eines animierten Covers. Bilder, Audio und Playlists teilen sich jetzt eine Tab-Leiste.
325- **Teilen-Button** unter jedem Beitrag (natives Teilen-Menü oder Link kopieren).
326- **Ersetze die Audiodatei eines Tracks**, ohne den Track neu zu erstellen.
327- **Musik im Fediverse (erster Schritt).** Audio-Beiträge tragen jetzt schema.org *MusicRecording* /
328 *MusicAlbum*-Daten, und ein Schalter pro Beitrag kann einen gehosteten Track als echten
329 Fediverse-Audioanhang teilen, der in den Feeds der Follower abspielt.
330
331### Geändert
332- **Sauberere Embeds auf Mastodon.** Ein Beitrag mit einem YouTube/Spotify/SoundCloud-Link lässt
333 Mastodon jetzt seine Player-Karte anzeigen; Link-only-Tracks teilen ihre Streaming-Links. Das Cover
334 bleibt in anderen Klonkt-Feeds sichtbar. (Auf deiner eigenen Seite ändert sich nichts — Player und
335 Cover werden wie zuvor angezeigt.)
336- **Zirkel bleiben auf die Fediverse-Art synchron** — Bearbeitungen und verpasste Beiträge holen über
337 Standard-ActivityPub automatisch auf, sodass ein Zirkel nicht mehr veraltet.
338- **Alles, was Klonkt federiert, ist jetzt gültiges AS2 / JSON-LD**, durch einen Test abgesichert,
339 damit striktere Server es akzeptieren.
340- Die Trackliste ist **nach Neueste zuerst** sortiert.
341
342### Behoben
343- **Animierte WebP-Cover werden nicht mehr auf ein einzelnes Bild eingefroren** (der Zuschneide-Editor
344 und der Thumbnailer machten sie statisch).
345- **Link-only-Tracks** (Spotify/YouTube, keine hochgeladene Datei) lassen sich wieder in einen Beitrag
346 einfügen.
347- **Link-Vorschauen** (og:image / Twitter-Karte) verwenden jetzt absolute Bild-URLs, damit sie auf
348 Signal, WhatsApp und anderen Scrapern erscheinen.
349- Mehrere **Fediverse-Zustellungs-Fixes**: Cover/Links werden auf Mastodon keine schwarze Kachel mehr,
350 rohe Audiodateien überladen keinen Beitrag, der bereits einen Player hat, und tote Links eines
351 umbenannten Remote-Beitrags heilen sich selbst.
352- Der **mobile Feed** lädt Cover in voller Auflösung; lange Titel brechen um, statt überzulaufen.
353- **Self-Hosting-Updates** sind zuverlässiger: ein erneuter Lauf des Installers behält deinen Kanal,
354 und der Updater startet nicht mehr neu (oder behauptet kein Update), wenn du bereits aktuell bist.
355
356## [1.0.0] — 2026-06-30
357
358### Hinzugefügt
359- **Klonkt ist jetzt im Fediverse (ActivityPub).** Deine Seite ist ein echtes
360 Fediverse-Konto: Menschen auf **Mastodon** — oder auf einem anderen **Klonkt** — können
361 dir folgen, und deine Beiträge landen in ihren Feeds. Du kannst Konten folgen und ihre
362 Beiträge in einem **News**-Feed lesen, **Benachrichtigungen** erhalten und Beiträge
363 **liken, teilen und beantworten**. Eingehende Aktivität wird überprüft, sodass gefälschte
364 Antworten, Likes und Follower abgewiesen werden.
365- **Jede:r kann deine Beiträge aus dem Fediverse beantworten, liken oder teilen** —
366 Besucher:innen interagieren von ihrem eigenen Konto aus (sie geben einfach ihren Server
367 ein); ein Konto auf deiner Seite ist nicht nötig.
368- **Circles**: Folge anderen **Klonkt**-Seiten und zeigt euch gegenseitig die öffentlichen
369 Beiträge in eurem **Circle** — dezentral, ohne zentrale Plattform.
370- **Sensible (NSFW) Beiträge** mit eigenem Warnhinweis-Text: auf der ganzen Seite
371 verschwommen mit Klick zum Anzeigen, und im Fediverse als Inhaltswarnung dargestellt.
372- **Blockiere** ein Konto oder eine ganze Domain, von der du lieber nichts hören möchtest.
373- Die Suche findet jetzt auch **Tracks** (nach Titel, Künstler:in und Album), direkt aus den
374 Ergebnissen abspielbar mit einem Link zum Beitrag, in dem sie vorkommen — und die
375 Beitragssuche zeigt Treffer schon beim Tippen.
376- **Live-Theme-Vorschau** in Verwaltung → Seiteneinstellungen: Akzent, Theme und Palette
377 aktualisieren sich sofort, noch bevor du speicherst.
378- Hochgeladene Bilder werden automatisch zu **WebP** optimiert, für schnellere Seiten.
379- Ein großzügigeres **mobiles Schreiberlebnis**: Tippe, um einen ablenkungsfreien
380 Vollbild-Editor zu öffnen, wobei die Formatierungsleiste über der Tastatur sichtbar bleibt.
381
382### Geändert
383- **Paletten auf 8 überarbeitet**: das neutrale **Klonkt** (goldener Akzent) ist der neue
384 Standard, dazu sieben Vollfarb-Themes — **Forest**, **Ocean**, **Teal**, **Lilac**,
385 **Sunset**, **Candy** und **Amber**.
386
387### Entfernt
388- **Hub-Modus** — **Klonkt** ist jetzt **solo oder Circles**; ein Kollektiv oder Label baust
389 du über **Circles** auf (föderierte, eigenständige Seiten).
390- **Native Kommentare und Google-Login** — Antworten, Likes und Boosts laufen jetzt komplett
391 über das Fediverse.
392- **Lokale Favoriten (♥)** — ersetzt durch das ⭐ Fediverse-Like.
393
394### Behoben
395- Der Mini-Player springt und scrollt zum gerade laufenden Track — auch aus einem Album oder
396 einer Playlist — und hält ihn hervorgehoben.
397- Leere Album-/Playlist-Cover greifen jetzt auf das Cover des ersten Tracks zurück.
398- Ein Profilfoto, das nach dem Wechsel zu **WebP** im Header kaputtging, repariert sich nun
399 selbst.
400- Viele Korrekturen am **mobilen Beitrags-Editor**: zuverlässiges Scrollen, eine
401 Formatierungsleiste, die an Ort und Stelle bleibt, keine Seitensprünge beim Tippen auf eine
402 Schaltfläche, und eine Speicherleiste, die direkt über der Tastatur sitzt.
403
404## [1.0.0-beta.2] — 2026-06-19
405
406Erste Veröffentlichung, bei der wir die Version aktiv mitverfolgen (im Fußbereich angezeigt —
407klick darauf für diese Seite).
408
409### Hinzugefügt
410- Versionsverfolgung: Die Versionsnummer im Fußbereich verlinkt auf diese Changelog-Seite.
411- Acht Premium-Funktionen (über **Patreon** freigeschaltet): Newsletter/Mailingliste,
412 Download-für-E-Mail, Veröffentlichungsplanung + Vorschauen nur für Fans, **EPK**/Pressekit,
413 Profi-Statistiken, Link-in-Bio + Klickstatistiken, einbettbarer Player sowie Konzertkalender
414 + Benachrichtigung.
415- Newsletter-Anmeldefeld im Fußbereich (ein/aus in Verwaltung → Einstellungen).
416- **SMTP**-Einstellungen in Verwaltung → Einstellungen konfigurierbar (keine Bearbeitung der
417 Konfigurationsdatei mehr nötig), mit einer Test-Mail-Schaltfläche.
418
419### Geändert
420- Aufgeräumtere Einstellungsformulare (gestapelte Beschriftungen, Eingabefelder in voller
421 Breite).
422- Das **EPK**/Pressekit zeigt die 10 meistgehörten Tracks.
423- Schönere 404-Seite (mobilfreundlich) und klarere Login-Fehlermeldungen.
424
425### Behoben
426- Der seitenweite Audioplayer lud keine Tracks.
427- Schaltflächentext wurde beim Überfahren unlesbar.
428- Datumsauswahlen folgen jetzt dem Theme.
429- Die Vor-/Zurück-Navigation zeigt keinen doppelten Header mehr.
Note: See TracBrowser for help on using the repository browser.