source: Klonkt/CHANGELOG.nl.md@ 0403187

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

feat(fediverse): host your own polls (federate as AS2 Question)

A post can carry a poll that federates as an AS2 Question so remote (Mastodon)
followers vote from their own app; votes are tallied server-side and the fresh
counts are pushed back as Update(Question). Voting is fediverse-only; the site
shows live, read-only results. Complements the existing inbound poll support.

  • src/config/database.js — posts.poll_json (our poll definition) + poll_votes table (post_id, actor_uri, choice; UNIQUE) backing the tally + per-actor dedupe.
  • src/services/ActivityPubService.js — parseOwnPoll/pollTally/ownPollView helpers; buildNote emits a Question (oneOf/anyOf + replies.totalItems + endTime/closed + votersCount) for a poll post; handleInbox records a ballot (Note with name + inReplyTo our poll) before the reply path, deduped per actor; a debounced Update(Question) pushes fresh counts to followers; votersCount added to AP_CONTEXT.
  • src/services/Scheduler.js — closeExpiredPolls() marks a poll closed once its endTime passes and pushes the final tally; runs on the existing 60s tick.
  • src/routes/posts.js — parsePollForm() turns the editor fields into poll_json on create/save (a poll with votes is frozen), passes poll_json to the federation hooks, and hands the post page a render-ready ownPollView.
  • src/views/pages/post-edit.ejs — poll section (options, multiple-choice, duration); disabled once the poll has votes.
  • src/views/pages/post.ejs — display-only poll with result bars + voter/close meta.
  • src/services/i18n.js — poll.* + pedit.poll_* strings (nl/en/de).
  • test/polls.test.js — Question shape, tally, percentages, closed state, AS2 term.
  • CHANGELOG(.nl/.de).md — "Create your own polls" under Unreleased.

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

  • Property mode set to 100644
File size: 9.2 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- **Korte video's in de feed spelen automatisch af en loopen.** Een geanimeerde cover of een korte
10 (≤30s) clip in de News-feed speelt nu automatisch geluidloos in een lus, als een GIF; langere
11 video's houden hun bediening.
12- **Stem op fediverse-polls.** Een poll van een account dat je volgt verschijnt nu in de News-feed
13 met opties en de huidige resultaten, en je kunt je stem uitbrengen — die federeert terug zoals een
14 gewone Mastodon-stem.
15- **Maak je eigen polls.** Een post kan nu een poll bevatten (enkel- of meerkeuze, met een looptijd).
16 Die federeert als een echte fediverse-poll, dus je Mastodon-volgers kunnen stemmen vanuit hun eigen
17 app; de live-resultaten staan op de post en de poll sluit zichzelf zodra de tijd om is.
18
19## [1.2.0] — 2026-07-01
20
21### Toegevoegd
22- **PeerTube-video's in de feed.** Een PeerTube-link in een post toont nu een ingesloten speler in de
23 News-feed, net zoals YouTube, Spotify en SoundCloud al deden.
24- **Lichte deel-afbeeldingen.** Sites met een licht standaardthema krijgen nu een bijpassende lichte
25 Open Graph-kaart bij het delen van een pagina, in plaats van altijd een donkere.
26- **Je eigen bezoeken buiten de statistieken laten.** Als beheerder kun je nu je eigen IP-adres
27 uitsluiten van je sitestatistieken, voor een eerlijker beeld van echte bezoekers.
28- **Rechtsklik "Opslaan" is uitgeschakeld op covers, afbeeldingen en video's** — een lichte drempel
29 zodat de artwork niet met één klik op te slaan is (frictie, geen bescherming).
30
31### Opgelost
32- **Geanimeerde video-covers tonen nu overal correct.** In de Cirkel en het raster konden ze
33 verschijnen als een kapotte afbeelding of een leeg vak; ze tonen nu als een echte doorlopende video
34 die het vierkant vult, gecentreerd. Rechtsklikken op een cover geeft het normale link-menu in plaats
35 van de video-bediening van de browser.
36- **Iemand volgen blijft niet meer hangen.** Een volg-verzoek waarvan de eerste bezorging faalt (de
37 andere server even onbereikbaar) wordt nu automatisch opnieuw geprobeerd, in plaats van eeuwig op
38 "in behandeling" te blijven staan.
39- **Geboooste posts tonen hun echte tekst** in de Cirkel, in plaats van een "RE: <link>"-prefix.
40- **Steviger fediverse-afhandeling** — strengere handtekening-controles op inkomende activiteit,
41 blokkades dekken nu ook een boost van een geblokkeerde auteur, en het synchroniseren van gepinde
42 posts racet niet meer als je snel achter elkaar opslaat.
43
44## [1.1.0] — 2026-06-30
45
46### Toegevoegd
47- **Geanimeerde covers spelen overal soepel.** Upload een geanimeerde WebP als cover en Klonkt maakt
48 er ook een geluidloze, doorlopende video van. iOS Safari — waar geanimeerde WebP hapert — krijgt de
49 soepele video, elke andere browser houdt de scherpe WebP, en op de fediverse federeert de cover als
50 een video die in Mastodon en z'n apps speelt. Te zien op de post, het grid, de feed en gerelateerde posts.
51- **Mediabibliotheek (Beheer → Media).** Zie elke geüploade afbeelding, waar elke wordt gebruikt,
52 kopieer de URL, en ruim ongebruikte bestanden in één klik op — inclusief de overgebleven video/poster
53 van een geanimeerde cover. Afbeeldingen, Audio en Playlists delen nu één tab-balk.
54- **Deel-knop** onderaan elke post (native deelmenu, of link kopiëren).
55- **Vervang het audiobestand van een track** zonder de track opnieuw aan te maken.
56- **Muziek op de fediverse (eerste stap).** Audio-posts dragen nu schema.org *MusicRecording* /
57 *MusicAlbum*-data, en een per-post-schakelaar kan een gehoste track delen als een echte
58 fediverse-audiobijlage die in de feeds van volgers speelt.
59
60### Gewijzigd
61- **Nettere embeds op Mastodon.** Een post met een YouTube/Spotify/SoundCloud-link laat Mastodon nu
62 z'n player-kaart tonen; link-only tracks delen hun streaming-links. De cover blijft zichtbaar in
63 andere Klonkt-feeds. (Op je eigen site verandert niets — de speler en cover renderen zoals voorheen.)
64- **Cirkels blijven gesynct op de fediverse-manier** — bewerkingen en gemiste posts lopen automatisch
65 bij via standaard ActivityPub, zodat een Cirkel niet meer uit sync raakt.
66- **Alles wat Klonkt federeert is nu valide AS2 / JSON-LD**, bewaakt door een test, zodat striktere
67 servers het accepteren.
68- De tracklijst staat **nieuwste eerst**.
69
70### Opgelost
71- **Geanimeerde WebP-covers worden niet meer tot één frame bevroren** (de crop-editor en de
72 thumbnailer maakten ze statisch).
73- **Link-only tracks** (Spotify/YouTube, geen geüpload bestand) zijn weer in een post in te voegen.
74- **Link-previews** (og:image / Twitter-kaart) gebruiken nu absolute afbeeldings-URL's, zodat ze op
75 Signal, WhatsApp en andere scrapers verschijnen.
76- Diverse **fediverse-bezorgings-fixes**: covers/links worden geen zwarte tegel meer op Mastodon, rauwe
77 audiobestanden vervuilen geen post die al een speler heeft, en dode links van een hernoemde remote
78 post helen zichzelf.
79- De **mobiele feed** laadt covers op volledige resolutie; lange titels breken af i.p.v. over te lopen.
80- **Self-host-updates** zijn betrouwbaarder: de installer opnieuw draaien behoudt je kanaal, en de
81 updater herstart niet meer (of claimt geen update) als je al up-to-date bent.
82
83## [1.0.0] — 2026-06-30
84
85### Toegevoegd
86- **Klonkt zit nu op de fediverse (ActivityPub).** Je site is een echt
87 fediverse-account: mensen op **Mastodon** — of een andere **Klonkt** — kunnen je
88 volgen, en je berichten komen in hun feed. Je kunt zelf accounts volgen en hun
89 berichten lezen in een **News**-feed, **notificaties** krijgen, en berichten **liken,
90 boosten en erop reageren**. Inkomende activiteit wordt geverifieerd, dus nep-reacties,
91 -likes en -volgers worden geweigerd.
92- **Iedereen kan vanaf de fediverse op je berichten reageren, ze liken of boosten** —
93 bezoekers reageren vanuit hun eigen account (ze vullen alleen hun server in); een
94 account op jouw site is niet nodig.
95- **Circles**: volg andere Klonkt-sites en toon elkaars openbare berichten in je
96 Circle — decentraal, zonder centraal platform.
97- **Gevoelige (NSFW) berichten** met je eigen waarschuwingstekst: vervaagd met
98 klik-om-te-tonen op de hele site, en getoond als inhoudswaarschuwing op de fediverse.
99- **Blokkeer** een account of een heel domein waar je liever niets van hoort.
100- Zoeken vindt nu ook **tracks** (op titel, artiest en album), direct af te spelen vanuit
101 de resultaten met een link naar het bericht waarin ze voorkomen — en bij berichten zoek
102 je al terwijl je typt.
103- **Live thema-voorbeeld** in Beheer → site-instellingen: accent, thema en palet worden
104 direct bijgewerkt, nog vóór je opslaat.
105- Geüploade afbeeldingen worden automatisch geoptimaliseerd naar **WebP** voor snellere
106 pagina's.
107- Een ruimere **schrijfervaring op mobiel**: tik om een afleidingsvrije, schermvullende
108 editor te openen, met de opmaakbalk die boven het toetsenbord in beeld blijft.
109
110### Gewijzigd
111- **Paletten teruggebracht naar 8**: het neutrale **Klonkt** (goud accent) is de nieuwe
112 standaard, plus zeven volkleurige thema's — **Forest**, **Ocean**, **Teal**, **Lilac**,
113 **Sunset**, **Candy** en **Amber**.
114
115### Verwijderd
116- **Hub-modus** — Klonkt is nu **solo of Circles**; je bouwt een collectief of label
117 via **Circles** (gefedereerde, zelfstandige sites).
118- **Eigen reacties en Google-login** — reageren, liken en boosten loopt nu volledig
119 via de fediverse.
120- **Lokale favorieten (♥)** — vervangen door de ⭐ fediverse-like.
121
122### Opgelost
123- De mini-speler springt en scrollt naar de track die speelt — ook vanuit een album of
124 afspeellijst — en houdt die gemarkeerd.
125- Lege album-/afspeellijst-covers vallen nu terug op de cover van de eerste track.
126- Een profielfoto die na de overstap naar **WebP** kapotging in de koptekst, herstelt
127 zichzelf nu.
128- Veel verbeteringen aan de **mobiele berichten-editor**: betrouwbaar scrollen, een
129 opmaakbalk die op z'n plek blijft, geen pagina-sprongen als je op een knop tikt, en een
130 Opslaan-balk die net boven het toetsenbord zit.
131
132## [1.0.0-beta.2] — 2026-06-19
133
134Eerste release waarbij we de versie actief bijhouden (te zien in de footer — klik erop voor
135deze pagina).
136
137### Toegevoegd
138- Releasetracking: het versienummer in de footer linkt naar deze wijzigingenpagina.
139- Acht premiumfuncties (achter **Patreon**): nieuwsbrief/mailinglijst, download-voor-e-mail,
140 release-planning + previews alleen voor fans, **EPK**/perskit, pro-statistieken,
141 link-in-bio + klikstatistieken, insluitbare speler, en showagenda + houd-me-op-de-hoogte.
142- Nieuwsbrief-aanmeldveld in de footer (aan/uit in Beheer → Instellingen).
143- **SMTP**-instellingen in te stellen in Beheer → Instellingen (geen aanpassing van een
144 configuratiebestand meer nodig), met een testmail-knop.
145
146### Gewijzigd
147- Nettere instellingenformulieren (gestapelde labels, volledig brede invoervelden).
148- **EPK**/perskit toont de top 10 meest beluisterde tracks.
149- Mooiere 404-pagina (mobielvriendelijk) en duidelijkere inlogfoutmeldingen.
150
151### Opgelost
152- De sitebrede audiospeler laadde geen enkele track.
153- Knoptekst werd onleesbaar bij hover.
154- Datumkiezers volgen nu het thema.
155- Vooruit/terug-navigatie toont geen dubbele koptekst meer.
Note: See TracBrowser for help on using the repository browser.