source: Klonkt/CHANGELOG.nl.md@ 0cea12b

main
Last change on this file since 0cea12b 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: 24.5 KB
Line 
1# Wijzigingen — Klonkt
2
3Alle noemenswaardige wijzigingen aan Klonkt. Nieuwste bovenaan.
4Versies volgen [SemVer](https://semver.org/lang/nl/) (`1.0.0-beta.N` tijdens de beta).
5
6## [Unreleased]
7
8### Toegevoegd
9- **De eigenaar kan zijn inbox lezen via C2S.** Een GET op de inbox met de
10 eigen bearer geeft recente binnengekomen posts (de accounts die je volgt) als
11 Create(Note)-items, zodat een gekoppelde app (Shaer) een unified feed kan
12 bouwen. Voor alle anderen blijft de inbox write-only.
13- **"Meer laden" op de feeds.** Solo (home), Cirkel, Krant en Berichten laden nu
14 in blokken van 72 met een "Meer laden"-knop in plaats van een harde limiet, dus
15 oudere items zijn weer bereikbaar. 72 is deelbaar door 2, 3 en 4, zodat de
16 grid-weergaven altijd op een volle rij eindigen. Toevoegen gaat direct (htmx),
17 het zoeken en filteren in Berichten blijft over alle pagina's werken, en de knop
18 verdwijnt op de laatste pagina.
19- **"Interacteer via de fediverse" naast Delen.** Op een post krijgen bezoekers
20 naast Delen een knop om vanuit hun eigen fediverse-server te reageren, te liken
21 of te boosten (vraagt je server, en geeft het door aan jouw instance). Verborgen
22 voor de site-eigenaar en als federatie uit staat.
23- **FEDERATION.md (FEP-67ff).** De repo-root documenteert nu wat Klonkt op de
24 lijn spreekt: ActivityPub S2S en C2S, WebFinger, HTTP Signatures, NodeInfo 2.1,
25 OAuth (PKCE), de activities en objecttypes die het stuurt en ontvangt, de
26 Mastodon-compatibele extensietermen, en de FEPs die het ondersteunt of volgt.
27 Helpt andere implementaties om te interopereren.
28- **Berichten: je peiling is afgelopen.** Als een van je eigen peilingen sluit,
29 verschijnt in Berichten een "peiling afgelopen"-item met de uitslag: een balk
30 per optie met percentage, plus het aantal stemmers. Het valt onder de chip
31 Activiteit en is doorzoekbaar zoals de rest.
32- **Berichten: scherpere filters en een zoekveld.** De filterchips zijn nu
33 Berichten (@mentions en privé/DM-reacties), Gesprekken (publieke reacties),
34 Activiteit (likes, boosts, follows), Moderatie (rapporten) en Verzonden, naast
35 Alles. Een zoekveld filtert de lijst op afzender en berichttekst, en werkt
36 samen met de actieve chip. Volledig client-side, direct.
37- **De reactie-editor is visueel opgeschoond.** De werkbalk gebruikt nu dezelfde
38 iconen en 32px-knoppen als de post-editor, met actieve opmaak gevuld in de
39 accentkleur, een gekaderde editor-box met focus-ring, en nettere taal-,
40 mention- en bijlage-chips. Eén editor-familie op de hele site.
41- **De reactie-editor toont wie je adresseert (rijke reacties, fase 3).** Een
42 "Aan:"-balk boven de editor toont de gesprekspartners (de auteur waarop je
43 reageert plus de eerdere auteurs in de thread) als verwijderbare chips, in
44 plaats van @mentions die je tekst vervuilen. Verwijder een chip en die persoon
45 wordt niet meer genoemd, getagd of gepingd; mentions die je zelf typt blijven
46 gewoon in de tekst staan. Een verzonden reactie bewerken houdt elke co-mention
47 intact.
48- **Een verzonden reactie bewerken gebruikt nu ook de rijke editor.** De
49 bewerk-formulieren op Berichten en de interactiepagina openen dezelfde editor
50 als nieuwe reacties (opmaak blijft, taal aanpasbaar, volledig scherm op
51 telefoons). Bijlagen op de reactie overleven een bewerking onaangeroerd.
52- **Media in reacties (rijke reacties, fase 2).** Sleep, plak of kies
53 afbeeldingen, audio en video direct in de reactie-editor (de paperclip werkt
54 op telefoons). Bestanden uploaden naar je eigen site, verschijnen als
55 verwijderbare chips tijdens het schrijven, reizen als echte attachments mee op
56 de gefedereerde note, en renderen in je thread. Een reactie met alleen media
57 (zonder tekst) kan ook.
58- **Rijke reacties (fase 1).** Reageren op fediverse-reacties (inline in de
59 thread en op de interactiepagina) gebruikt nu een gedeelde rijke editor: vet,
60 cursief, links, opsommingen en citaten, plus een taalkeuze voor je reactie
61 (meegestuurd als language map op de note). Op telefoons opent de editor als
62 volledig scherm, het patroon dat op mobiel echt werkt. Zonder JavaScript
63 blijft het gewone tekstvak werken. Media in reacties is de volgende fase.
64- **Trek verbonden apps in vanaf je accountpagina.** Een sectie "Verbonden apps"
65 toont elke app die je via OAuth toegang gaf (naam, site, scope, laatst
66 gebruikt) met een Intrekken-knop. Al eerder uitgegeven tokens verschijnen ook,
67 want die stonden altijd al (gehasht) opgeslagen; het token zelf bewaren we
68 nooit, dus intrekken gaat op de token-hash.
69- **De account-eigenaar kan zijn eigen followers en following lezen via C2S.** De
70 `followers`- en `following`-collecties blijven count-only voor het publiek
71 (privacy), maar een verzoek met een C2S-bearer die op die site scoped is geeft
72 nu de echte actor-URI's terug, zodat een app (Shaer) een vriendenlijst kan
73 bouwen. Voor anonieme bezoekers verandert er niets.
74- **App-toegang via OAuth 2.0 (ActivityPub Client-to-Server, fase 1).** Klonkt
75 spreekt nu de standaard AP C2S-authenticatie, zodat native en web-apps (de
76 Shaer-apps als eerste) kunnen verbinden: dynamische client-registratie
77 (RFC 7591), een PKCE authorization-code-flow met een toestemmingsscherm waarop
78 je kiest namens welke site de app mag posten, en bearer-tokens (gehasht
79 opgeslagen, eenmalige codes). De actor-doc adverteert de OAuth- en
80 uploadMedia-endpoints en `/.well-known/oauth-authorization-server` (RFC 8414)
81 geeft de metadata, dus apps ontdekken alles in plaats van paden vast te
82 spijkeren. Alleen publieke clients + PKCE, geen client-secrets.
83- **De outbox accepteert posts van apps (C2S, fase 1 compleet).** Een
84 `POST` met bearer-token naar `/ap/users/:slug/outbox` bestuurt nu je account
85 vanuit een app: een bericht plaatsen, reageren, liken, boosten, volgen en dat
86 allemaal ongedaan maken. Activities gaan via dezelfde bezorg-machinerie als de
87 web-UI; een kale Note wordt in een Create verpakt (spec); content wordt
88 gesanitized; het token is aan één site gebonden dus kan niet namens een andere
89 posten. Let op: dit is ActivityPub C2S, wat de Shaer-apps spreken.
90 Mastodon-clients (Ivory e.d.) gebruiken Mastodons eigen API en worden hier niet
91 ondersteund.
92
93### Opgelost
94- **OAuth-toestemming geeft nu betrouwbaar over aan native apps.** Na Allow/Deny
95 was de redirect naar een native custom-scheme (bijv. `com.klonkt.shaer:/oauth`)
96 een gewone 302, en die negeren mobiele browsers stilzwijgend. De toestemmings-
97 stap serveert nu een klein tussenscherm voor niet-http redirect-URI's dat
98 automatisch doorstuurt én een "Open de app"-tikknop biedt (een tik opent de app
99 betrouwbaar op Android; iOS' web-auth-sessie vangt 'm sowieso op). Web-clients
100 (http/https) krijgen nog steeds een 302.
101- **Bezoekers kunnen reageren op de eigen reacties van de site-eigenaar.** De
102 knop "reageer via de fediverse" verscheen alleen bij reacties van anderen; bij
103 de eigen reacties van de site in een thread kregen bezoekers niets, waardoor
104 je de auteur niet vanaf je eigen instance kon beantwoorden.
105
106## [1.5.0] · 2026-07-18
107
108### Toegevoegd
109- **Berichten: je reacties en meldingen op één pagina.** Eén Berichten-tab
110 vervangt Reacties en Meldingen. Eén stroom met filterchips (Alles, Gesprekken,
111 Activiteit, Verzonden): je eigen verzonden reacties staan mee in het gesprek
112 (met bewerken en verwijderen), likes en boosts op dezelfde post groeperen tot
113 één regel, privéreacties dragen een slotje, en items nieuw sinds je laatste
114 bezoek krijgen een stip. De interactie-bookmarklet verhuisde mee. Oude
115 /fediverse- en /notifications-links leiden door naar /messages.
116- **Connect: wie je volgt en wie jou volgt op één pagina.** Eén Connect-tab
117 vervangt de aparte Volgend- en Volgers-pagina's, met per connectie de richting
118 (volgend →, volger ←, wederzijds ↔) en, voor accounts waaraan je bezorgt,
119 wanneer ze voor het laatst bereikt zijn. Accounts die je niet meer bereikt
120 schuiven naar een ingeklapte "Niet bereikbaar"-sectie om op te ruimen. Oude
121 /following- en /followers-links leiden door naar /connect.
122- **Modereer inkomende reacties op je eigen posts.** Als site-eigenaar kun je een
123 reactie nu uit je thread verwijderen (en die blijft weg: opnieuw bezorgen en
124 thread-aanvulling worden geblokkeerd door een tombstone) en rapporteren bij de
125 server van de auteur, rechtstreeks vanuit de thread. Werkt ook voor
126 privéreacties, die niet via de fediverse-interactieflow te behandelen zijn.
127
128### Opgelost
129- **Een geboostte videopost houdt zijn video in de Cirkel.** Een video-only post
130 (Loops.video) boosten sloeg hem op zonder media, waardoor de Cirkel een kale
131 teksttegel toonde in plaats van een videothumbnail; opnieuw boosten kon de
132 video zelfs wissen uit een al-gecachte kopie. Boosts dragen nu de volledige
133 getypeerde media mee, en een refresh wist gecachte media nooit meer.
134- **De titel van de interactiepagina volgt je taal.** "Interacteer via de
135 fediverse" stond hardcoded in het Nederlands in het browsertabblad, ook op een
136 Engelstalige site.
137- **Het Apple Music-icoon lijkt weer op het Apple-logo.** Het oude icoon was een
138 verminkte vorm.
139- **Statistiekkolommen verspringen niet meer in de 30- en 90-dagenweergave.**
140 Kolommen zonder datumlabel klapten iets in; elke kolom houdt nu zijn
141 labelregel.
142- **Privéreacties staan niet meer op de publieke postpagina.** Een followers-only
143 of directe (DM-)reactie op je post werd voor iedereen in de publieke thread
144 getoond. Inkomende reacties slaan nu hun fediverse-adressering op; de publieke
145 thread toont alleen publieke en unlisted reacties. Privéreacties bereiken je
146 nog steeds via meldingen, mét de post waar ze bij horen.
147- **Kale video/audio-embeds lopen niet meer buiten de kolom.** Een `.webm` /
148 `.mp4` / `.mp3`-speler past nu netjes in de kolombreedte, net als de
149 iframe-embeds; de breedte-regel gold voorheen alleen voor `iframe`.
150
151## [1.4.0] · 2026-07-14
152
153### Toegevoegd
154- **Volgerslijst met bezorgstatus.** Een nieuw Fediverse-tabblad laat zien wie je
155 volgt en wanneer elk account voor het laatst bereikt is, zodat dode accounts
156 opvallen en je ze na een check kunt verwijderen.
157- **Kale media-links spelen direct af.** Een losse `.webm`, `.mp4` of `.mp3` wordt
158 nu een echte speler in plaats van een dode link.
159- **Hashtags, links en mentions zijn ook op je site klikbaar.** `#tags`, URLs en
160 `@mentions` in een post worden nu links op de site zelf, niet alleen op de
161 gefedereerde kopie. Mentions worden één keer bij opslaan opgezocht, dus pagina's
162 blijven snel.
163
164### Opgelost
165- **Reacties, verwijderde reacties en bewerkte reacties komen altijd aan.** Ze
166 verdwenen als een server even onbereikbaar was; ze gaan nu via de retry-wachtrij,
167 net als posts.
168- **Videothumbnails voor meer video's.** Covers van video's met hun metadata
169 achteraan (Loops.video, telefoon-exports) krijgen nu een thumbnail in plaats van
170 niks.
171- **Een cover die alleen een video is, toont nu een posterbeeld op de postpagina.**
172 Hij blijft niet meer leeg in de Solo-weergave.
173- **De geïnstalleerde app toont geen oude data meer bij een wankele start.** Een
174 koude start op een slechte verbinding ververst nu, in plaats van een verouderde
175 pagina te tonen.
176- **De Updates-pagina volgt jouw branch.** Draai je de stable-branch, dan zie je
177 niet langer de wijzigingen van main als "nieuwste".
178
179## [1.3.5] — 2026-07-04
180
181### Opgelost
182- **Polls behouden hun cover als ze geboost worden.** Een poll met muziek of een
183 embed federeerde zonder cover, waardoor een geboooste poll een leeg vak toonde;
184 de cover reist nu mee.
185- **De Updates-pagina van de Android-app toont wat er écht te installeren valt.**
186 Hij las de nieuwste release-branch, die korte tijd vóór kon lopen op de
187 telefoon-build — bijwerken installeerde dan dezelfde versie opnieuw. Hij leest
188 nu de versie van de telefoonbundel zelf.
189
190## [1.3.4] — 2026-07-04
191
192### Opgelost
193- **Boosts die hun cover kwijt waren krijgen 'm automatisch terug.** Posts die
194 je vóór de cover-fix boostte waren zonder artwork opgeslagen; die worden bij
195 de volgende herstart eenmalig ververst. Is de thuis-server van een post op dat
196 moment even onbereikbaar, dan wordt het bij volgende herstarts opnieuw
197 geprobeerd in plaats van voorgoed overgeslagen. Een post opnieuw boosten
198 ververst nu ook de opgeslagen kopie (cover, inhoud) — vanuit de feed én de
199 interact-pagina.
200
201## [1.3.3] — 2026-07-03
202
203### Opgelost
204- **Geboooste muziekposts houden hun cover.** Als je een nummer boostte van
205 iemand die je niet volgt, ontbrak de cover; die verschijnt nu wel, net als bij
206 mensen die je wél volgt.
207
208## [1.3.2] — 2026-07-02
209
210### Opgelost
211- **De Updates-pagina werkt nu in de Android-app.** Hij toont voortaan de
212 nieuwste beschikbare versie, en de bijwerk-knop downloadt en installeert die
213 direct op je telefoon (je posts en instellingen blijven staan).
214
215## [1.3.1] — 2026-07-02
216
217### Opgelost
218- **Muziek blijft op Android doorspelen in de achtergrond.** Als een nummer
219 afliep terwijl je telefoon op slot zat of de app in de achtergrond stond,
220 startte het volgende nummer en stopte het na een seconde weer. De speler
221 voert de wachtrij nu als één doorlopende stream aan, waardoor het doorgaan
222 naar het volgende nummer niet meer telt als "nieuw" afspelen dat de browser
223 mag pauzeren.
224
225## [1.3.0] — 2026-07-02
226
227### Toegevoegd
228- **Kies een lichte of donkere deel-kaart.** De automatisch gemaakte deel-afbeelding volgt je
229 site-thema; onder Beheer → SEO kun je 'm nu geforceerd licht of donker zetten.
230- **Een vermelding is nu een melding.** Als iemand op de fediverse je noemt in een post — ook
231 eentje die geen reactie op jou is — verschijnt dat in je fediverse-meldingen met een link naar
232 het origineel.
233- **Cover-art op openbaar gedeelde audio.** Een track die je openbaar op de fediverse deelt draagt
234 nu z'n cover-art mee (of de post-cover), zodat audiospelers die artwork ondersteunen die tonen in
235 plaats van een leeg vlak.
236- **Rapporteer een post op de fediverse.** Vanaf een fediverse-post kun je die nu melden bij de
237 moderators van de eigen server van die post, met een optionele reden — en meldt iemand jouw site,
238 dan verschijnt die melding in je fediverse-meldingen.
239- **Stel de taal van een post in.** Kies in welke taal je een post schreef — op de fediverse
240 werkt daarmee het taalfilter van de tijdlijn en de vertaal-knop.
241- **Alt-tekst voor afbeeldingen.** Geef je cover een beschrijving (en inline-afbeeldingen behouden
242 hun eigen alt-tekst) — die federeert mee naar de fediverse en laat schermlezers de afbeelding beschrijven.
243- **Noem mensen in een post.** `@gebruiker@server` in een post linkt nu naar hun profiel en stuurt
244 ze een melding op de fediverse — ook als ze je niet volgen — net als een vermelding in een reactie.
245- **Korte video's in de feed spelen automatisch af en loopen.** Een geanimeerde cover of een korte
246 (≤30s) clip in de News-feed speelt nu automatisch geluidloos in een lus, als een GIF; langere
247 video's houden hun bediening.
248- **Stem op fediverse-polls.** Een poll van een account dat je volgt verschijnt nu in de News-feed
249 met opties en de huidige resultaten, en je kunt je stem uitbrengen — die federeert terug zoals een
250 gewone Mastodon-stem.
251- **Maak je eigen polls.** Een post kan nu een poll bevatten (enkel- of meerkeuze, met een looptijd).
252 Die federeert als een echte fediverse-poll, dus je Mastodon-volgers kunnen stemmen vanuit hun eigen
253 app; de live-resultaten staan op de post en de poll sluit zichzelf zodra de tijd om is.
254
255### Gewijzigd
256- **Audio openbaar delen is nu onomkeerbaar.** Zodra een track openbaar op de fediverse is gedeeld,
257 is het bestand verspreid — weer "sluiten" zou schijnveiligheid zijn. De editor vergrendelt de keuze
258 na het openen en waarschuwt je voordat je 'm aanvinkt.
259
260### Opgelost
261- **Remote video's tonen een preview-frame.** Een video in de News-feed of op een Cirkel-tegel
262 (bv. van Loops of PeerTube) verscheen als zwart vlak tot je op afspelen drukte; er staat nu een
263 echt poster-frame. (Langere video's houden bewust hun bediening — alleen clips onder de 30
264 seconden spelen automatisch als een GIF.)
265- **Vermeldingen, hashtags en links tussen haakjes werken nu.** Een vermelding als
266 `(@gebruiker@server)`, een `(#hashtag)` of een URL tussen haakjes federeerde als platte tekst —
267 en de genoemde persoon kreeg nooit een melding. Ze linken (en melden) nu net als zonder haakjes.
268- **Kale webadressen worden links op de fediverse.** Een losse URL in een post of reactie federeert
269 nu als klikbare link in plaats van platte tekst.
270
271## [1.2.0] — 2026-07-01
272
273### Toegevoegd
274- **PeerTube-video's in de feed.** Een PeerTube-link in een post toont nu een ingesloten speler in de
275 News-feed, net zoals YouTube, Spotify en SoundCloud al deden.
276- **Lichte deel-afbeeldingen.** Sites met een licht standaardthema krijgen nu een bijpassende lichte
277 Open Graph-kaart bij het delen van een pagina, in plaats van altijd een donkere.
278- **Je eigen bezoeken buiten de statistieken laten.** Als beheerder kun je nu je eigen IP-adres
279 uitsluiten van je sitestatistieken, voor een eerlijker beeld van echte bezoekers.
280- **Rechtsklik "Opslaan" is uitgeschakeld op covers, afbeeldingen en video's** — een lichte drempel
281 zodat de artwork niet met één klik op te slaan is (frictie, geen bescherming).
282
283### Opgelost
284- **Geanimeerde video-covers tonen nu overal correct.** In de Cirkel en het raster konden ze
285 verschijnen als een kapotte afbeelding of een leeg vak; ze tonen nu als een echte doorlopende video
286 die het vierkant vult, gecentreerd. Rechtsklikken op een cover geeft het normale link-menu in plaats
287 van de video-bediening van de browser.
288- **Iemand volgen blijft niet meer hangen.** Een volg-verzoek waarvan de eerste bezorging faalt (de
289 andere server even onbereikbaar) wordt nu automatisch opnieuw geprobeerd, in plaats van eeuwig op
290 "in behandeling" te blijven staan.
291- **Geboooste posts tonen hun echte tekst** in de Cirkel, in plaats van een "RE: <link>"-prefix.
292- **Steviger fediverse-afhandeling** — strengere handtekening-controles op inkomende activiteit,
293 blokkades dekken nu ook een boost van een geblokkeerde auteur, en het synchroniseren van gepinde
294 posts racet niet meer als je snel achter elkaar opslaat.
295
296## [1.1.0] — 2026-06-30
297
298### Toegevoegd
299- **Geanimeerde covers spelen overal soepel.** Upload een geanimeerde WebP als cover en Klonkt maakt
300 er ook een geluidloze, doorlopende video van. iOS Safari — waar geanimeerde WebP hapert — krijgt de
301 soepele video, elke andere browser houdt de scherpe WebP, en op de fediverse federeert de cover als
302 een video die in Mastodon en z'n apps speelt. Te zien op de post, het grid, de feed en gerelateerde posts.
303- **Mediabibliotheek (Beheer → Media).** Zie elke geüploade afbeelding, waar elke wordt gebruikt,
304 kopieer de URL, en ruim ongebruikte bestanden in één klik op — inclusief de overgebleven video/poster
305 van een geanimeerde cover. Afbeeldingen, Audio en Playlists delen nu één tab-balk.
306- **Deel-knop** onderaan elke post (native deelmenu, of link kopiëren).
307- **Vervang het audiobestand van een track** zonder de track opnieuw aan te maken.
308- **Muziek op de fediverse (eerste stap).** Audio-posts dragen nu schema.org *MusicRecording* /
309 *MusicAlbum*-data, en een per-post-schakelaar kan een gehoste track delen als een echte
310 fediverse-audiobijlage die in de feeds van volgers speelt.
311
312### Gewijzigd
313- **Nettere embeds op Mastodon.** Een post met een YouTube/Spotify/SoundCloud-link laat Mastodon nu
314 z'n player-kaart tonen; link-only tracks delen hun streaming-links. De cover blijft zichtbaar in
315 andere Klonkt-feeds. (Op je eigen site verandert niets — de speler en cover renderen zoals voorheen.)
316- **Cirkels blijven gesynct op de fediverse-manier** — bewerkingen en gemiste posts lopen automatisch
317 bij via standaard ActivityPub, zodat een Cirkel niet meer uit sync raakt.
318- **Alles wat Klonkt federeert is nu valide AS2 / JSON-LD**, bewaakt door een test, zodat striktere
319 servers het accepteren.
320- De tracklijst staat **nieuwste eerst**.
321
322### Opgelost
323- **Geanimeerde WebP-covers worden niet meer tot één frame bevroren** (de crop-editor en de
324 thumbnailer maakten ze statisch).
325- **Link-only tracks** (Spotify/YouTube, geen geüpload bestand) zijn weer in een post in te voegen.
326- **Link-previews** (og:image / Twitter-kaart) gebruiken nu absolute afbeeldings-URL's, zodat ze op
327 Signal, WhatsApp en andere scrapers verschijnen.
328- Diverse **fediverse-bezorgings-fixes**: covers/links worden geen zwarte tegel meer op Mastodon, rauwe
329 audiobestanden vervuilen geen post die al een speler heeft, en dode links van een hernoemde remote
330 post helen zichzelf.
331- De **mobiele feed** laadt covers op volledige resolutie; lange titels breken af i.p.v. over te lopen.
332- **Self-host-updates** zijn betrouwbaarder: de installer opnieuw draaien behoudt je kanaal, en de
333 updater herstart niet meer (of claimt geen update) als je al up-to-date bent.
334
335## [1.0.0] — 2026-06-30
336
337### Toegevoegd
338- **Klonkt zit nu op de fediverse (ActivityPub).** Je site is een echt
339 fediverse-account: mensen op **Mastodon** — of een andere **Klonkt** — kunnen je
340 volgen, en je berichten komen in hun feed. Je kunt zelf accounts volgen en hun
341 berichten lezen in een **News**-feed, **notificaties** krijgen, en berichten **liken,
342 boosten en erop reageren**. Inkomende activiteit wordt geverifieerd, dus nep-reacties,
343 -likes en -volgers worden geweigerd.
344- **Iedereen kan vanaf de fediverse op je berichten reageren, ze liken of boosten** —
345 bezoekers reageren vanuit hun eigen account (ze vullen alleen hun server in); een
346 account op jouw site is niet nodig.
347- **Circles**: volg andere Klonkt-sites en toon elkaars openbare berichten in je
348 Circle — decentraal, zonder centraal platform.
349- **Gevoelige (NSFW) berichten** met je eigen waarschuwingstekst: vervaagd met
350 klik-om-te-tonen op de hele site, en getoond als inhoudswaarschuwing op de fediverse.
351- **Blokkeer** een account of een heel domein waar je liever niets van hoort.
352- Zoeken vindt nu ook **tracks** (op titel, artiest en album), direct af te spelen vanuit
353 de resultaten met een link naar het bericht waarin ze voorkomen — en bij berichten zoek
354 je al terwijl je typt.
355- **Live thema-voorbeeld** in Beheer → site-instellingen: accent, thema en palet worden
356 direct bijgewerkt, nog vóór je opslaat.
357- Geüploade afbeeldingen worden automatisch geoptimaliseerd naar **WebP** voor snellere
358 pagina's.
359- Een ruimere **schrijfervaring op mobiel**: tik om een afleidingsvrije, schermvullende
360 editor te openen, met de opmaakbalk die boven het toetsenbord in beeld blijft.
361
362### Gewijzigd
363- **Paletten teruggebracht naar 8**: het neutrale **Klonkt** (goud accent) is de nieuwe
364 standaard, plus zeven volkleurige thema's — **Forest**, **Ocean**, **Teal**, **Lilac**,
365 **Sunset**, **Candy** en **Amber**.
366
367### Verwijderd
368- **Hub-modus** — Klonkt is nu **solo of Circles**; je bouwt een collectief of label
369 via **Circles** (gefedereerde, zelfstandige sites).
370- **Eigen reacties en Google-login** — reageren, liken en boosten loopt nu volledig
371 via de fediverse.
372- **Lokale favorieten (♥)** — vervangen door de ⭐ fediverse-like.
373
374### Opgelost
375- De mini-speler springt en scrollt naar de track die speelt — ook vanuit een album of
376 afspeellijst — en houdt die gemarkeerd.
377- Lege album-/afspeellijst-covers vallen nu terug op de cover van de eerste track.
378- Een profielfoto die na de overstap naar **WebP** kapotging in de koptekst, herstelt
379 zichzelf nu.
380- Veel verbeteringen aan de **mobiele berichten-editor**: betrouwbaar scrollen, een
381 opmaakbalk die op z'n plek blijft, geen pagina-sprongen als je op een knop tikt, en een
382 Opslaan-balk die net boven het toetsenbord zit.
383
384## [1.0.0-beta.2] — 2026-06-19
385
386Eerste release waarbij we de versie actief bijhouden (te zien in de footer — klik erop voor
387deze pagina).
388
389### Toegevoegd
390- Releasetracking: het versienummer in de footer linkt naar deze wijzigingenpagina.
391- Acht premiumfuncties (achter **Patreon**): nieuwsbrief/mailinglijst, download-voor-e-mail,
392 release-planning + previews alleen voor fans, **EPK**/perskit, pro-statistieken,
393 link-in-bio + klikstatistieken, insluitbare speler, en showagenda + houd-me-op-de-hoogte.
394- Nieuwsbrief-aanmeldveld in de footer (aan/uit in Beheer → Instellingen).
395- **SMTP**-instellingen in te stellen in Beheer → Instellingen (geen aanpassing van een
396 configuratiebestand meer nodig), met een testmail-knop.
397
398### Gewijzigd
399- Nettere instellingenformulieren (gestapelde labels, volledig brede invoervelden).
400- **EPK**/perskit toont de top 10 meest beluisterde tracks.
401- Mooiere 404-pagina (mobielvriendelijk) en duidelijkere inlogfoutmeldingen.
402
403### Opgelost
404- De sitebrede audiospeler laadde geen enkele track.
405- Knoptekst werd onleesbaar bij hover.
406- Datumkiezers volgen nu het thema.
407- Vooruit/terug-navigatie toont geen dubbele koptekst meer.
Note: See TracBrowser for help on using the repository browser.