Ignore:
Timestamp:
08/11/2026 04:20:01 PM (4 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
26b1848
Parents:
8b83cba
Message:

De markering bereikte de mede-guardian nooit (shaer-lgo)

Gevonden door met de ECHTE relatie te kijken in plaats van met een test.
dev.klonkt.com is guardian van @mee@…, en zij heeft er
nog een: boiert.eu. In ap_help_state staan vier afgehandelde hulpvragen van haar
-- en elke markering is van dev zelf. Nooit een van boiert, en dev heeft er ook
nooit een naartoe gestuurd.

De oorzaak stond in de markeerroute:

listGuardians(wardUri.replace(/.*\/ap\/users\, ))

De staart van de URI als slug. listGuardians kent alleen relaties van LOKALE
sites, dus voor een ward elders was dat altijd een lege lijst. Nagemeten op dev:
de regex geeft "mee", er is geen site "mee", de lijst is leeg. De markering ging
dus alleen naar het kind.

En juist die ward is het hele punt: een ward op je eigen instance heeft geen
federatie nodig. Dit is precies de faalstand waar deze bead voor bestaat --
iedereen denkt dat de ander het oppakt -- en hij was stil, want er komt geen
fout uit een lege lijst.

Erger nog: had er toevallig een lokale site met die naam bestaan, dan waren het
DIENS guardians geweest.

existingGuardiansOf in handshake.js kende de goede weg al: lokaal opzoeken, en
anders shaer:guardians uit de actor van de ward. Die stond alleen niet aan deze
route vast. Nu geexporteerd en aangesloten -- geen tweede afleiding erbij, de
bestaande gebruikt.

Drie tests, met de oude fout als eerste erin vastgelegd zodat hij niet
terugsluipt. De actor wordt met een nepversie opgehaald: anders test het of de
testmachine internet heeft.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/services/guardianship/index.js

    r8b83cba rabbb72a  
    1818export { helpRequestProps, isHelpRequest, waveProps, isWave, awayProps, hasGuardiansProps, objectHasGuardians, externalEmbedsAllowed, externalPlaybackAllowed, wardGateAllowed } from './notes.js';
    1919export { wireDelivery, c2sVisibility, deliverDirectNote } from './delivery.js';
    20 export { wireHandshake, handleOutbox as handleGuardianshipOutbox, handleInbox as handleGuardianshipInbox, parseRelationship, parseUndoRelationship, endGuardianship } from './handshake.js';
     20export { wireHandshake, handleOutbox as handleGuardianshipOutbox, handleInbox as handleGuardianshipInbox, parseRelationship, parseUndoRelationship, endGuardianship, existingGuardiansOf } from './handshake.js';
    2121export { offersCollection, followsCollection, outgoingFollowsCollection, logCollection, wardsCollection, guardiansCollection, helpCollection } from './queues.js';
    2222export * as availability from './availability.js';
Note: See TracChangeset for help on using the changeset viewer.