source: Klonkt/CHANGELOG.nl.md@ 14f54a7

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

fix(ap): self-heal retries until a clean pass; feed re-boost also refreshes

Scale fix (think 1M instances, not this one row): the previous remedies
still had two gaps that only showed up per-user.

  • selfHealTimeline consumed its version even when some origins were unreachable at that exact moment - phone-hosted instances are offline routinely, so their notes stayed stale forever with no retry. The version is now only persisted after a CLEAN pass (0 unreachable); otherwise it retries on the next boots and gives up after 5 attempts (dead origins answer 404/410 and are pruned, so no infinite loop). SELFHEAL_VERSION 6 -> 7 so already-healed instances rerun with the new semantics.
  • The /news feed boost only did markBoosted, so "boost again to heal a stale copy" silently worked from the interact page but not the feed. Boosting from the feed now also re-resolves the note (fire-and-forget) and refreshes the cached row via upsertBoostedNote.

Retry state machine verified in isolation (offline-then-reachable ->
heals; permanently dead -> gives up after 5 passes, then skips). Suite
45/45.

  • src/services/ActivityPubService.js - clean-pass gating + attempts counter (app_settings, no schema change); SELFHEAL_VERSION 7
  • src/routes/posts.js - /news/boost refreshes the cached row on boost
  • CHANGELOG(.nl/.de).md - extended the Unreleased bullet (3 languages)

Co-Authored-By: Claude <noreply@…>

  • Property mode set to 100644
File size: 13.0 KB
RevLine 
[eb5f978]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
[236e11b]8### Opgelost
9- **Boosts die hun cover kwijt waren krijgen 'm automatisch terug.** Posts die
10 je vóór de cover-fix boostte waren zonder artwork opgeslagen; die worden bij
[14f54a7]11 de volgende herstart eenmalig ververst. Is de thuis-server van een post op dat
12 moment even onbereikbaar, dan wordt het bij volgende herstarts opnieuw
13 geprobeerd in plaats van voorgoed overgeslagen. Een post opnieuw boosten
14 ververst nu ook de opgeslagen kopie (cover, inhoud) — vanuit de feed én de
15 interact-pagina.
[236e11b]16
[b7e382f]17## [1.3.3] — 2026-07-03
18
[006a3be]19### Opgelost
20- **Geboooste muziekposts houden hun cover.** Als je een nummer boostte van
21 iemand die je niet volgt, ontbrak de cover; die verschijnt nu wel, net als bij
22 mensen die je wél volgt.
23
[8b5c076]24## [1.3.2] — 2026-07-02
25
[422b20d]26### Opgelost
27- **De Updates-pagina werkt nu in de Android-app.** Hij toont voortaan de
28 nieuwste beschikbare versie, en de bijwerk-knop downloadt en installeert die
29 direct op je telefoon (je posts en instellingen blijven staan).
30
[7d61ab8]31## [1.3.1] — 2026-07-02
32
[421046c]33### Opgelost
34- **Muziek blijft op Android doorspelen in de achtergrond.** Als een nummer
35 afliep terwijl je telefoon op slot zat of de app in de achtergrond stond,
36 startte het volgende nummer en stopte het na een seconde weer. De speler
37 voert de wachtrij nu als één doorlopende stream aan, waardoor het doorgaan
38 naar het volgende nummer niet meer telt als "nieuw" afspelen dat de browser
39 mag pauzeren.
40
[a369029]41## [1.3.0] — 2026-07-02
42
[1bc0886]43### Toegevoegd
[3b4095f]44- **Kies een lichte of donkere deel-kaart.** De automatisch gemaakte deel-afbeelding volgt je
45 site-thema; onder Beheer → SEO kun je 'm nu geforceerd licht of donker zetten.
[fe97cc3]46- **Een vermelding is nu een melding.** Als iemand op de fediverse je noemt in een post — ook
47 eentje die geen reactie op jou is — verschijnt dat in je fediverse-meldingen met een link naar
48 het origineel.
[8cf8b5f]49- **Cover-art op openbaar gedeelde audio.** Een track die je openbaar op de fediverse deelt draagt
50 nu z'n cover-art mee (of de post-cover), zodat audiospelers die artwork ondersteunen die tonen in
51 plaats van een leeg vlak.
[1c2dcba]52- **Rapporteer een post op de fediverse.** Vanaf een fediverse-post kun je die nu melden bij de
[737ea05]53 moderators van de eigen server van die post, met een optionele reden — en meldt iemand jouw site,
54 dan verschijnt die melding in je fediverse-meldingen.
[0688b5f]55- **Stel de taal van een post in.** Kies in welke taal je een post schreef — op de fediverse
56 werkt daarmee het taalfilter van de tijdlijn en de vertaal-knop.
[d18c60e]57- **Alt-tekst voor afbeeldingen.** Geef je cover een beschrijving (en inline-afbeeldingen behouden
58 hun eigen alt-tekst) — die federeert mee naar de fediverse en laat schermlezers de afbeelding beschrijven.
[f1956d7]59- **Noem mensen in een post.** `@gebruiker@server` in een post linkt nu naar hun profiel en stuurt
60 ze een melding op de fediverse — ook als ze je niet volgen — net als een vermelding in een reactie.
[1bc0886]61- **Korte video's in de feed spelen automatisch af en loopen.** Een geanimeerde cover of een korte
62 (≤30s) clip in de News-feed speelt nu automatisch geluidloos in een lus, als een GIF; langere
63 video's houden hun bediening.
[55a73f0]64- **Stem op fediverse-polls.** Een poll van een account dat je volgt verschijnt nu in de News-feed
65 met opties en de huidige resultaten, en je kunt je stem uitbrengen — die federeert terug zoals een
66 gewone Mastodon-stem.
[0403187]67- **Maak je eigen polls.** Een post kan nu een poll bevatten (enkel- of meerkeuze, met een looptijd).
68 Die federeert als een echte fediverse-poll, dus je Mastodon-volgers kunnen stemmen vanuit hun eigen
69 app; de live-resultaten staan op de post en de poll sluit zichzelf zodra de tijd om is.
[1bc0886]70
[c06816e]71### Gewijzigd
72- **Audio openbaar delen is nu onomkeerbaar.** Zodra een track openbaar op de fediverse is gedeeld,
73 is het bestand verspreid — weer "sluiten" zou schijnveiligheid zijn. De editor vergrendelt de keuze
74 na het openen en waarschuwt je voordat je 'm aanvinkt.
75
[e00c0e9]76### Opgelost
[e67828e]77- **Remote video's tonen een preview-frame.** Een video in de News-feed of op een Cirkel-tegel
78 (bv. van Loops of PeerTube) verscheen als zwart vlak tot je op afspelen drukte; er staat nu een
79 echt poster-frame. (Langere video's houden bewust hun bediening — alleen clips onder de 30
80 seconden spelen automatisch als een GIF.)
[fc229f5]81- **Vermeldingen, hashtags en links tussen haakjes werken nu.** Een vermelding als
82 `(@gebruiker@server)`, een `(#hashtag)` of een URL tussen haakjes federeerde als platte tekst —
83 en de genoemde persoon kreeg nooit een melding. Ze linken (en melden) nu net als zonder haakjes.
[e00c0e9]84- **Kale webadressen worden links op de fediverse.** Een losse URL in een post of reactie federeert
85 nu als klikbare link in plaats van platte tekst.
86
[131e266]87## [1.2.0] — 2026-07-01
88
89### Toegevoegd
90- **PeerTube-video's in de feed.** Een PeerTube-link in een post toont nu een ingesloten speler in de
91 News-feed, net zoals YouTube, Spotify en SoundCloud al deden.
92- **Lichte deel-afbeeldingen.** Sites met een licht standaardthema krijgen nu een bijpassende lichte
93 Open Graph-kaart bij het delen van een pagina, in plaats van altijd een donkere.
94- **Je eigen bezoeken buiten de statistieken laten.** Als beheerder kun je nu je eigen IP-adres
95 uitsluiten van je sitestatistieken, voor een eerlijker beeld van echte bezoekers.
96- **Rechtsklik "Opslaan" is uitgeschakeld op covers, afbeeldingen en video's** — een lichte drempel
97 zodat de artwork niet met één klik op te slaan is (frictie, geen bescherming).
98
[1b1cc89]99### Opgelost
[131e266]100- **Geanimeerde video-covers tonen nu overal correct.** In de Cirkel en het raster konden ze
101 verschijnen als een kapotte afbeelding of een leeg vak; ze tonen nu als een echte doorlopende video
102 die het vierkant vult, gecentreerd. Rechtsklikken op een cover geeft het normale link-menu in plaats
103 van de video-bediening van de browser.
[1b1cc89]104- **Iemand volgen blijft niet meer hangen.** Een volg-verzoek waarvan de eerste bezorging faalt (de
105 andere server even onbereikbaar) wordt nu automatisch opnieuw geprobeerd, in plaats van eeuwig op
106 "in behandeling" te blijven staan.
107- **Geboooste posts tonen hun echte tekst** in de Cirkel, in plaats van een "RE: <link>"-prefix.
[131e266]108- **Steviger fediverse-afhandeling** — strengere handtekening-controles op inkomende activiteit,
109 blokkades dekken nu ook een boost van een geblokkeerde auteur, en het synchroniseren van gepinde
110 posts racet niet meer als je snel achter elkaar opslaat.
[1b1cc89]111
[01e3678]112## [1.1.0] — 2026-06-30
113
114### Toegevoegd
115- **Geanimeerde covers spelen overal soepel.** Upload een geanimeerde WebP als cover en Klonkt maakt
116 er ook een geluidloze, doorlopende video van. iOS Safari — waar geanimeerde WebP hapert — krijgt de
117 soepele video, elke andere browser houdt de scherpe WebP, en op de fediverse federeert de cover als
118 een video die in Mastodon en z'n apps speelt. Te zien op de post, het grid, de feed en gerelateerde posts.
119- **Mediabibliotheek (Beheer → Media).** Zie elke geüploade afbeelding, waar elke wordt gebruikt,
120 kopieer de URL, en ruim ongebruikte bestanden in één klik op — inclusief de overgebleven video/poster
121 van een geanimeerde cover. Afbeeldingen, Audio en Playlists delen nu één tab-balk.
122- **Deel-knop** onderaan elke post (native deelmenu, of link kopiëren).
123- **Vervang het audiobestand van een track** zonder de track opnieuw aan te maken.
124- **Muziek op de fediverse (eerste stap).** Audio-posts dragen nu schema.org *MusicRecording* /
125 *MusicAlbum*-data, en een per-post-schakelaar kan een gehoste track delen als een echte
126 fediverse-audiobijlage die in de feeds van volgers speelt.
127
128### Gewijzigd
129- **Nettere embeds op Mastodon.** Een post met een YouTube/Spotify/SoundCloud-link laat Mastodon nu
130 z'n player-kaart tonen; link-only tracks delen hun streaming-links. De cover blijft zichtbaar in
131 andere Klonkt-feeds. (Op je eigen site verandert niets — de speler en cover renderen zoals voorheen.)
132- **Cirkels blijven gesynct op de fediverse-manier** — bewerkingen en gemiste posts lopen automatisch
133 bij via standaard ActivityPub, zodat een Cirkel niet meer uit sync raakt.
134- **Alles wat Klonkt federeert is nu valide AS2 / JSON-LD**, bewaakt door een test, zodat striktere
135 servers het accepteren.
136- De tracklijst staat **nieuwste eerst**.
137
138### Opgelost
139- **Geanimeerde WebP-covers worden niet meer tot één frame bevroren** (de crop-editor en de
140 thumbnailer maakten ze statisch).
141- **Link-only tracks** (Spotify/YouTube, geen geüpload bestand) zijn weer in een post in te voegen.
142- **Link-previews** (og:image / Twitter-kaart) gebruiken nu absolute afbeeldings-URL's, zodat ze op
143 Signal, WhatsApp en andere scrapers verschijnen.
144- Diverse **fediverse-bezorgings-fixes**: covers/links worden geen zwarte tegel meer op Mastodon, rauwe
145 audiobestanden vervuilen geen post die al een speler heeft, en dode links van een hernoemde remote
146 post helen zichzelf.
147- De **mobiele feed** laadt covers op volledige resolutie; lange titels breken af i.p.v. over te lopen.
148- **Self-host-updates** zijn betrouwbaarder: de installer opnieuw draaien behoudt je kanaal, en de
149 updater herstart niet meer (of claimt geen update) als je al up-to-date bent.
150
151## [1.0.0] — 2026-06-30
152
[eb5f978]153### Toegevoegd
[98fe58a]154- **Klonkt zit nu op de fediverse (ActivityPub).** Je site is een echt
155 fediverse-account: mensen op **Mastodon** — of een andere **Klonkt** — kunnen je
156 volgen, en je berichten komen in hun feed. Je kunt zelf accounts volgen en hun
157 berichten lezen in een **News**-feed, **notificaties** krijgen, en berichten **liken,
158 boosten en erop reageren**. Inkomende activiteit wordt geverifieerd, dus nep-reacties,
159 -likes en -volgers worden geweigerd.
160- **Iedereen kan vanaf de fediverse op je berichten reageren, ze liken of boosten** —
161 bezoekers reageren vanuit hun eigen account (ze vullen alleen hun server in); een
162 account op jouw site is niet nodig.
163- **Circles**: volg andere Klonkt-sites en toon elkaars openbare berichten in je
164 Circle — decentraal, zonder centraal platform.
165- **Gevoelige (NSFW) berichten** met je eigen waarschuwingstekst: vervaagd met
166 klik-om-te-tonen op de hele site, en getoond als inhoudswaarschuwing op de fediverse.
167- **Blokkeer** een account of een heel domein waar je liever niets van hoort.
168- Zoeken vindt nu ook **tracks** (op titel, artiest en album), direct af te spelen vanuit
169 de resultaten met een link naar het bericht waarin ze voorkomen — en bij berichten zoek
170 je al terwijl je typt.
171- **Live thema-voorbeeld** in Beheer → site-instellingen: accent, thema en palet worden
172 direct bijgewerkt, nog vóór je opslaat.
173- Geüploade afbeeldingen worden automatisch geoptimaliseerd naar **WebP** voor snellere
174 pagina's.
175- Een ruimere **schrijfervaring op mobiel**: tik om een afleidingsvrije, schermvullende
176 editor te openen, met de opmaakbalk die boven het toetsenbord in beeld blijft.
[eb5f978]177
178### Gewijzigd
[98fe58a]179- **Paletten teruggebracht naar 8**: het neutrale **Klonkt** (goud accent) is de nieuwe
180 standaard, plus zeven volkleurige thema's — **Forest**, **Ocean**, **Teal**, **Lilac**,
181 **Sunset**, **Candy** en **Amber**.
[eb5f978]182
183### Verwijderd
[98fe58a]184- **Hub-modus** — Klonkt is nu **solo of Circles**; je bouwt een collectief of label
185 via **Circles** (gefedereerde, zelfstandige sites).
186- **Eigen reacties en Google-login** — reageren, liken en boosten loopt nu volledig
187 via de fediverse.
188- **Lokale favorieten (♥)** — vervangen door de ⭐ fediverse-like.
[eb5f978]189
190### Opgelost
[98fe58a]191- De mini-speler springt en scrollt naar de track die speelt — ook vanuit een album of
192 afspeellijst — en houdt die gemarkeerd.
193- Lege album-/afspeellijst-covers vallen nu terug op de cover van de eerste track.
194- Een profielfoto die na de overstap naar **WebP** kapotging in de koptekst, herstelt
195 zichzelf nu.
196- Veel verbeteringen aan de **mobiele berichten-editor**: betrouwbaar scrollen, een
197 opmaakbalk die op z'n plek blijft, geen pagina-sprongen als je op een knop tikt, en een
198 Opslaan-balk die net boven het toetsenbord zit.
[eb5f978]199
200## [1.0.0-beta.2] — 2026-06-19
201
[98fe58a]202Eerste release waarbij we de versie actief bijhouden (te zien in de footer — klik erop voor
203deze pagina).
[eb5f978]204
205### Toegevoegd
[98fe58a]206- Releasetracking: het versienummer in de footer linkt naar deze wijzigingenpagina.
207- Acht premiumfuncties (achter **Patreon**): nieuwsbrief/mailinglijst, download-voor-e-mail,
208 release-planning + previews alleen voor fans, **EPK**/perskit, pro-statistieken,
209 link-in-bio + klikstatistieken, insluitbare speler, en showagenda + houd-me-op-de-hoogte.
[eb5f978]210- Nieuwsbrief-aanmeldveld in de footer (aan/uit in Beheer → Instellingen).
[98fe58a]211- **SMTP**-instellingen in te stellen in Beheer → Instellingen (geen aanpassing van een
212 configuratiebestand meer nodig), met een testmail-knop.
[eb5f978]213
214### Gewijzigd
[98fe58a]215- Nettere instellingenformulieren (gestapelde labels, volledig brede invoervelden).
216- **EPK**/perskit toont de top 10 meest beluisterde tracks.
217- Mooiere 404-pagina (mobielvriendelijk) en duidelijkere inlogfoutmeldingen.
[eb5f978]218
219### Opgelost
[98fe58a]220- De sitebrede audiospeler laadde geen enkele track.
221- Knoptekst werd onleesbaar bij hover.
[eb5f978]222- Datumkiezers volgen nu het thema.
[98fe58a]223- Vooruit/terug-navigatie toont geen dubbele koptekst meer.
Note: See TracBrowser for help on using the repository browser.