Een C2S-post draagt zijn media, en een foto mag het hele bericht zijn
De composer-uitbreiding van de apps (Robins opdracht, 30-7) liep meteen op een
servergat: c2sCreatePost las alleen de content, dus een top-level post met
attachments kwam naakt aan, terwijl dezelfde attachments op replies en DM's
gewoon werkten.
Nu: de media wordt gevalideerd zoals bij deliverReply (alleen eigen
/media-uploads, image/audio/video, max 4), in de post-HTML gevouwen zodat het
web hem toont en afspeelt, en opgeslagen in posts.c2s_attachments zodat
buildNote hem federeert met zijn ECHTE mediaType: de extensiemap kent geen
audio en noemde een m4a anders een Image. Beelden staan ook inline in de
content; de dedup op URL houdt ze enkel.
En een media-only note is voortaan een post in plaats van een
empty_note-fout: een foto kan het hele bericht zijn.
Changed files:
src/services/ActivityPubService.js
- c2sCreatePost: attachments valideren, in de HTML vouwen, opslaan
- buildNote: c2s_attachments mee-federeren, opgeslagen mediaType wint
- de empty-note-poort laat media-only door
src/config/database.js
- kolom posts.c2s_attachments
New file:
test/c2s-compose.test.js
- media in de web-content en als AS2-attachments, met dedup en het
juiste type; een vreemde URL komt er niet in; media-only mag
remarks: 336 tests groen. De app-kant (panel-composer met pickers) volgt in
de app-repos.
-robo
Co-Authored-By: Claude Opus 5 <noreply@…>