Changeset 4f15f67 in Klonkt


Ignore:
Timestamp:
07/25/2026 09:35:10 AM (7 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
0a686a0
Parents:
2b4252c
Message:

Ward-actor: manuallyApprovesFollowers true (FEP-633c §5.3)

Robin zag de bug: beta (een ward) adverteerde manuallyApprovesFollowers:false,
dus Mastodon nam aan dat een follow meteen geaccepteerd was terwijl wij 'm intern
gaten en GEEN Accept sturen. Een ward hoort manuallyApprovesFollowers:true te
adverteren zodat de volger 'verzoek verzonden' ziet tot de guardians goedkeuren.
Nu: true zodra de site guardians heeft, anders ongewijzigd (false).

Changed files:
src/services/ActivityPubService.js

  • buildActor: manuallyApprovesFollowers = isWard (heeft guardians)

remarks: npm test groen. Bestaande non-ward-sites ongewijzigd.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/services/ActivityPubService.js

    r2b4252c r4f15f67  
    158158  const id = actorId(base, site.slug);
    159159  const keys = getOrCreateKeys(site.slug);
     160  // FEP-633c §5.3: a ward's follows are gated (guardians approve), so the actor
     161  // MUST advertise manuallyApprovesFollowers:true — otherwise a follower's server
     162  // (Mastodon) assumes auto-accept and shows "Following" while we hold it pending.
     163  const isWard = (() => { try { return Guardianship.listGuardians(site.slug).length > 0; } catch { return false; } })();
    160164  const actor = {
    161165    '@context': AP_CONTEXT,
     
    166170    summary: site.tagline || site.description || '',
    167171    url: `${base}/${site.slug === site.primary_slug ? '' : 'user/' + encodeURIComponent(site.slug)}`,
    168     manuallyApprovesFollowers: false,
     172    manuallyApprovesFollowers: isWard,
    169173    discoverable: true,
    170174    inbox: `${id}/inbox`,
Note: See TracChangeset for help on using the changeset viewer.