source: Klonkt/src/services/ActivityPubService.js@ 6bc5ebd

main
Last change on this file since 6bc5ebd was 6bc5ebd, checked in by Claude (agent) <aiclaude@…>, 5 weeks ago

Interact-pagina toonde geen reactie: twee sleutelruimtes samengetrokken

Robins melding: sound-fabrics.com/effortlesseffect is geliket EN geboost, maar
de knoppen op de interact-pagina lichtten niet op.

Een post heeft twee URI's. Zijn AP-object-id (.../ap/notes/<uuid>), die de Krant
en het C2S-pad spreken, en zijn leesbare permalink (.../effortlesseffect), waar
de interact-pagina mee binnenkomt. De tussentabel stond vol object-URI's -- alle
zestien rijen -- en de interact-pagina zocht op de permalink. De reactie bestond
dus wel; we keken op de verkeerde sleutel.

Dit is de naad die ik in fase 1 bewust open liet met de opmerking dat
samentrekken werk voor fase 2 was. Dat uitstel was fout: zodra het leespad de
tussentabel volgde, werd een bestaande reactie onzichtbaar in plaats van
inconsistent. canonicalReactionUri vertaalt nu bij zowel lezen als schrijven naar
de object-URI, met de permalink als ingang. Kennen we de post niet, dan blijft de
invoer de sleutel, zodat een reactie op iets buiten je tijdlijn blijft werken.

setReaction gebruikt daarmee EEN sleutel voor beide bronnen in plaats van de
gestuurde voor de tussentabel en de opgeloste voor de vlag.

Drie tests erbij, waaronder Robins geval bij naam: liken via de object-URI en
uitlezen via de permalink, en andersom.

LET OP BIJ UITROL ELDERS: op dev staan alle tussentabel-rijen al op de
object-URI, dus daar viel niets te migreren. Op een instance waar de
interact-pagina eerder is gebruikt kunnen rijen op de permalink staan; die worden
na deze wijziging niet meer gevonden. Meet dat vóór de uitrol:

SELECT COUNT(*) FROM ap_my_reactions r

WHERE NOT EXISTS (SELECT 1 FROM ap_timeline t

WHERE t.slug=r.site_slug AND t.id=r.target_uri);

Suite 434/434.

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

  • Property mode set to 100644
File size: 279.6 KB

HTML preview not available, since the file size exceeds 256.0 KB.Try downloading the file instead.

Note: See TracBrowser for help on using the repository browser.