Changeset ffb371c in Klonkt for src/services/ActivityPubService.js
- Timestamp:
- 08/08/2026 05:25:06 AM (5 weeks ago)
- Branches:
- main
- Children:
- 34e63f0
- Parents:
- 2220c49
- git-author:
- Robin <roboburr@…> (08/08/2026 05:25:04 AM)
- git-committer:
- roboburr <roboburr@…> (08/08/2026 05:25:06 AM)
- File:
-
- 1 edited
-
src/services/ActivityPubService.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/services/ActivityPubService.js
r2220c49 rffb371c 3195 3195 if (!direct && !object.inReplyTo && !Guardianship.wardGateAllowed(site.gate_compose, isWard)) { 3196 3196 return { status: 403, error: 'gated_compose' }; 3197 } 3198 // Meedoen aan een gesprek is ook iets (Bart, 8-8). Hier stond de 3199 // aanname dat een antwoord geen eigen podium is en dus onder compose 3200 // door mocht. Dat is teruggedraaid: antwoorden heeft een EIGEN poort, 3201 // los van compose in beide richtingen -- je kunt willen dat een kind 3202 // meepraat zonder podium, en ook andersom. 3203 // 3204 // Geldt ook voor een DIRECT antwoord, bovenop de messages-poort: een 3205 // privé-antwoord is allebei, en dan mag allebei hem tegenhouden. 3206 if (object.inReplyTo && !Guardianship.wardGateAllowed(site.gate_replies, isWard)) { 3207 return { status: 403, error: 'gated_replies' }; 3197 3208 } 3198 3209 } … … 3482 3493 // A media-only reply (no text) is a valid reply. 3483 3494 if (!base || !site || !site.slug || !parent || (!String(text || '').trim() && !rich && !media.length)) return null; 3495 // DE POORT STAAT HIER en niet alleen in de outbox (shaer-r4c). routes/posts.js 3496 // roept deliverReply op drie plekken rechtstreeks aan -- de eigen webinterface 3497 // van Klonkt gaat dus nooit langs ingestOutboxActivity. Een poort die alleen in 3498 // C2S staat is een poort met een deur ernaast. 3499 // 3500 // Dit is het knooppunt dat beide paden delen. De reddingsboei komt hier niet 3501 // langs: een hulpvraag is altijd direct en loopt via deliverDirectNote, dus de 3502 // boei blijft open zonder dat daar een uitzondering voor nodig is. 3503 { 3504 const isWard = (() => { try { return Guardianship.listGuardians(site.slug).length > 0; } catch { return false; } })(); 3505 if (!Guardianship.wardGateAllowed(site.gate_replies, isWard)) return null; 3506 } 3484 3507 const me = actorId(base, site.slug); 3485 3508 // u02, the mentions bar: `mentions` undefined = legacy behavior (mention the
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)