Ignore:
Timestamp:
08/10/2026 07:33:52 AM (4 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
aae5881
Parents:
0db3c72
Message:

Het dialect eruit waar de standaard het al draagt

shaer-nmw, tweede helft. shaer:author, shaer:booster, shaer:quote en
shaer:embed gaan van alle C2S-legs af: outbox-vriendenleg, tijdlijn,
berichten, antwoorden, eigen verzonden notes, de composer-kaart en de thread.
De standaardvormen uit de vorige commit dragen ze nu alleen.

De thread-leg had de standaardvorm nog niet en kreeg hem hier: de byline van
een antwoord zit in de ingesloten attributedTo, en de emoji-poort knipt in de
tag van die actor in plaats van in een eigen emoji-kaart ernaast.

Twee dingen die stil hadden kunnen breken:

  • filterThreadToCircle vergeleek n.attributedTo als string. Nu dat een object is zou hij ALLES wegfilteren: een ward met een lege thread en nergens een foutmelding. Loopt nu door actorUriOf.
  • de composer-kaart las op beide clients alleen de oude velden; die had ik in ronde een gemist. De preview zou leeg zijn gebleven.

Wat blijft: shaer:liked en shaer:boosted (per-lezer-interactiestatus, AS2 heeft
er niets voor) en de FEP-633c-termen, die bewust van ons zijn.

Nieuwe wachten: de C2S-leg door de echte route op afwezig dialect -- op de
SLEUTEL, want 'shaer:quote' zit ook in shaer:quoteCards en dat is een poort die
blijft -- en de thread-route, die tot nu toe geen route-dekking had.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/services/ActivityPubService.js

    r0db3c72 r75f2897  
    37513751    id: o.id,
    37523752    type: 'Note',
    3753     attributedTo: actorUri,
     3753    // De ingesloten actor (shaer-nmw): de byline hoort in attributedTo, waar
     3754    // elke AP-lezer hem zoekt, en niet in een eigen property ernaast.
     3755    attributedTo: actorObject(actorUri, actorInfo(authors.get(actorUri), actorUri)),
    37543756    inReplyTo: (typeof o.inReplyTo === 'string' ? o.inReplyTo : (o.inReplyTo && o.inReplyTo.id)) || objectUri,
    37553757    content: HtmlSanitizerService.sanitize(String(o.content || '').slice(0, 50_000)),
     
    37773779      return out.length ? out : undefined;
    37783780    })(),
    3779     'shaer:author': actorInfo(authors.get(actorUri), actorUri),
    37803781  })).sort((a, b) => String(a.published || '').localeCompare(String(b.published || '')));
    37813782
     
    38023803  const kept = [], out = { hidden: 0 };
    38033804  for (const n of notes) {
    3804     if (circle.has(n.attributedTo)) kept.push(n);
     3805    // actorUriOf, niet n.attributedTo: sinds de byline ingesloten meegaat is
     3806    // dat een OBJECT en zou een kale vergelijking hier stil alles wegfilteren
     3807    // -- een ward met een lege thread en nergens een foutmelding.
     3808    if (circle.has(actorUriOf(n.attributedTo))) kept.push(n);
    38053809    else out.hidden += 1;
    38063810  }
Note: See TracChangeset for help on using the changeset viewer.