Changeset abcf51a in Klonkt for test/activitypub-as2.test.js


Ignore:
Timestamp:
08/08/2026 04:55:00 PM (4 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
4838760
Parents:
0261730
git-author:
Robin <roboburr@…> (08/08/2026 04:54:56 PM)
git-committer:
Robin <roboburr@…> (08/08/2026 04:55:00 PM)
Message:

Een track wijst naar de post die hem uitbrengt

Robins waarneming: Shaer toont sinds fb22f78 losse, niet-werkende
track-kaarten. Dat is mijn regressie -- ik zette Create(Audio) in de outbox
voor Funkwhale, en Shaer bouwt zijn HomeBase-feed uit precies die outbox.
noteFrom() daar kijkt niet naar type, dus een Audio wordt een C2SNote met lege
content, en onze url is een Link-array die as? String niet vangt.

Robins voorstel was beter dan wegfilteren: koppel ze aan de hostende post en
filter DAAROP. Die relatie bestond al, maar alleen in posts.content --
[[track:id]], [[playlist:id]], [[album:naam]] -- en nergens op de draad.

Nu wel, met twee velden die allebei al bestonden:

context AS2-KERN, "de context waarbinnen dit object bestaat". Wijst naar

de Note van de post. Funkwhale kijkt er niet naar, dus puur
additief.

url[0] de text/html-link naar de postpagina, vooraan zoals Funkwhale zijn

trackpagina zet. Dit veld lieten we bewust leeg omdat Klonkt geen
trackpagina heeft -- maar de post IS waar je het kunt horen.

Daarmee wordt de filterregel in Shaer principieel in plaats van bot: verberg
een Audio waarvan de context al in je feed staat. Een track die in GEEN post
zit houdt geen context en blijft zichtbaar -- dat is de enige plek waar je hem
zou zien.

Rangorde als een track op meerdere manieren is ingesloten: rechtstreeks boven
playlist boven albumnaam, en bij gelijke rang de nieuwste post. Specifieker
gaat dus voor recenter; daar staat een test op. Een concept telt niet als host.

EEN ZOEKOPDRACHT VOOR ALLES, niet per track: drie LIKE-scans maal
tweehonderd nummers is zeshonderd scans, en de collectie loopt over elke open
track. trackHostPosts levert een map, en die gaat als optie mee door de
collectie, de playlist en de outbox.

8 tests. context erbij in de AS2-allowlist -- het is een kernterm.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • test/activitypub-as2.test.js

    r0261730 rabcf51a  
    2626  'content', 'name', 'summary', 'url', 'href', 'mediaType',
    2727  'published', 'updated', 'attributedTo', 'inReplyTo', 'replies',
     28  // AS2-kern: de context waarbinnen een object bestaat. Een track wijst ermee
     29  // naar de post die hem uitbrengt (shaer-0nh).
     30  'context',
    2831  'attachment', 'tag', 'icon', 'image', 'duration',
    2932  'contentMap', 'nameMap', 'summaryMap', // AS2 @language-map counterparts of content/name/summary
Note: See TracChangeset for help on using the changeset viewer.