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@…>