Changeset 0517013 in Klonkt
- Timestamp:
- 08/08/2026 04:15:57 AM (5 weeks ago)
- Branches:
- main
- Children:
- 553bd70
- Parents:
- 06bae1e
- git-author:
- Robin <roboburr@…> (08/08/2026 04:15:44 AM)
- git-committer:
- Robin <roboburr@…> (08/08/2026 04:15:57 AM)
- Files:
-
- 2 edited
-
src/services/ActivityPubService.js (modified) (1 diff)
-
test/follow-accept-match.test.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/services/ActivityPubService.js
r06bae1e r0517013 2523 2523 // rij die nog op pending staat wordt geraakt, dus dit kan niets anders 2524 2524 // openzetten dan een follow die wij zelf hebben verstuurd. 2525 if (!raak && slugParam && actorUri) { 2526 try { raak = fwStmts().accByActor.run(slugParam, actorUri).changes; } catch { /* ignore */ } 2525 // 2526 // En de slug mag NIET van slugParam afhangen: Funkwhale bezorgt op de 2527 // GEDEELDE inbox, en dan is die leeg. Wie wij zijn staat in de ingesloten 2528 // Follow -- die hebben wij immers zelf verstuurd, dus `object.actor` is 2529 // onze eigen actor-URI. 2530 let mij = slugParam; 2531 if (!mij && act.object && typeof act.object === 'object') mij = slugFromActorUrl(act.object.actor); 2532 if (!raak && mij && actorUri) { 2533 try { raak = fwStmts().accByActor.run(mij, actorUri).changes; } catch { /* ignore */ } 2527 2534 } 2528 2535 // Eerlijk loggen: zonder treffer is er niets geaccepteerd, en dat hoort te -
test/follow-accept-match.test.js
r06bae1e r0517013 64 64 }); 65 65 66 test('bezorgd op de GEDEELDE inbox: de slug komt uit de ingesloten Follow', async () => { 67 // Funkwhale levert af op /ap/inbox, niet op /ap/users/<slug>/inbox. Dan is 68 // slugParam null en moeten we uit `object.actor` afleiden wie wij zijn -- 69 // die Follow hebben wij immers zelf verstuurd. 70 zetPending(); 71 await AP.handleInbox({ 72 body: { 73 type: 'Accept', actor: REMOTE, 74 object: { 75 id: 'https://test.example/ap/users/dev#follows/389cf422-7e38-4bad-858e-35def4c3e2e9', 76 type: 'Follow', actor: 'https://test.example/ap/users/dev', object: REMOTE, 77 }, 78 }, 79 headers: {}, get: () => undefined, socket: {}, 80 }, null, { id: REMOTE }); 81 assert.equal(status(), 'accepted'); 82 }); 83 84 test('op de gedeelde inbox zonder bruikbare Follow blijft het pending', async () => { 85 zetPending(); 86 await AP.handleInbox({ 87 body: { type: 'Accept', actor: REMOTE, object: { id: 'https://elders.example/x', type: 'Follow' } }, 88 headers: {}, get: () => undefined, socket: {}, 89 }, null, { id: REMOTE }); 90 assert.equal(status(), 'pending', 'zonder te weten wie wij zijn, raden we niet'); 91 }); 92 66 93 test('een Accept van een ANDERE actor raakt onze rij niet', async () => { 67 94 zetPending();
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)