Ignore:
Timestamp:
08/09/2026 08:20:24 AM (4 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
0677bac
Parents:
b2adc20
Message:

De post is de uitgave: losse tracks worden een collectie (shaer-38y)

Losse tracks gingen tot nu toe los de deur uit -- Audio-objecten die een lezer
nergens kon plaatsen. Ze horen bij elkaar omdat ze in dezelfde post staan, en
dat is wat /ap/users/<slug>/posts/<id>/tracks nu zegt. De post wijst er langs
dezelfde weg naartoe als naar een playlist: een Link-tag in de Note, want zonder
die link bestaat de collectie wel maar vindt niemand hem.

PUNT 1, DE VOLGORDE. De tracks staan in de volgorde van de POST en niet die van
de tabel. Zoals iemand ze heeft neergezet is de volgorde waarin ze bedoeld zijn.

PUNT 3, DE METADATA. Een playlist heeft een titel en soms een hoes; een post
heeft een titel, een tekst, een hoes, tags en een datum. Voor audio-gebaseerde
inhoud is de post de uitgave -- dat is waar iemand hem heeft uitgebracht en waar
het verhaal erbij staat. Zowel de collectie van losse tracks als een
playlist-collectie leent nu van de post die haar uitbrengt.

De posttekst wordt content en niet summary: in AS2 is summary de korte
samenvatting en content het lijf. Artiest en jaar blijven dus in summary staan,
want dat IS een samenvatting en de posttekst is dat niet. De eigen naam van de
playlist gaat niet verloren maar verhuist naar alsoKnownAs.

WIE LEENT ER UIT: alleen een post die er EEN muzikale eenheid van maakt. Staan
er twee collecties in, dan is de post niet meer de drager van een identiteit en
houdt de playlist de zijne. Dezelfde regel als in de afleiding, hier alleen
toegepast.

Een test die eerder vastlegde dat losse tracks GEEN Link-tag kregen is
omgedraaid, met de reden erbij: dat klopte zolang alleen een playlist een
collectie had.

Punt 2 van de bead (type afleiden) stond al in postMusicType.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/services/ActivityPubService.js

    rb2adc20 ra5d14c7  
    3838  buildTrackAudio, buildTrackCollection, buildTrackCreate,
    3939  buildPlaylistCollection, listPlaylistsAP, playlistLinkTags,
     40  buildPostTrackCollection, uitgavePost,
    4041  licentieUri, channelCategory,
    4142} from './music/index.js';
     
    4445  buildTrackAudio, buildTrackCollection, buildTrackCreate,
    4546  buildPlaylistCollection, listPlaylistsAP, playlistLinkTags, licentieUri,
     47  buildPostTrackCollection, uitgavePost,
    4648};
    4749
     
    697699      ...((post.fan_only || post.ap_visibility === 'quiet') ? [] : [`${aId}/followers`]),
    698700      ..._mentionCc])],
    699     tag: [...buildHashtagList(base, post.tags, body), ..._mentionTags, ...playlistLinkTags(base, site, post.content)],
     701    tag: [...buildHashtagList(base, post.tags, body), ..._mentionTags, ...playlistLinkTags(base, site, post.content, post)],
    700702    replies: `${id}/replies`,
    701703    // NSFW → Mastodon-style content warning: sensitive (blurs media) + a summary/spoiler
     
    61086110  siteOpenTracks, openTrack, buildTrackAudio, buildTrackCollection, buildTrackCreate, trackHostPosts,
    61096111  buildPlaylistCollection, playlistOpenTracks, listPlaylistsAP, playlistLinkTags,
     6112  buildPostTrackCollection, uitgavePost,
    61106113  followerCount, deliver, fetchActor, verifyRequest, handleInbox, deliverCreate, deliverDelete, deliverUpdate, deliverActorUpdate, resyncFeaturedPins,
    61116114  feedCursor, feedChangesSince, waitForFeedChange,
Note: See TracChangeset for help on using the changeset viewer.