Changeset 06bae1e in Klonkt for src/services/ActivityPubService.js
- Timestamp:
- 08/08/2026 04:09:04 AM (5 weeks ago)
- Branches:
- main
- Children:
- 0517013
- Parents:
- 3b43e4c
- git-author:
- Robin <roboburr@…> (08/08/2026 04:08:53 AM)
- git-committer:
- Robin <roboburr@…> (08/08/2026 04:09:04 AM)
- File:
-
- 1 edited
-
src/services/ActivityPubService.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/services/ActivityPubService.js
r3b43e4c r06bae1e 2506 2506 if (type === 'Accept' && act.object) { 2507 2507 const fid = typeof act.object === 'string' ? act.object : (act.object && act.object.id); 2508 if (fid) { try { fwStmts().acc.run(fid); } catch { /* ignore */ } } 2509 console.log('[AP] follow accepted', actorUri); 2508 let raak = 0; 2509 if (fid) { try { raak = fwStmts().acc.run(fid).changes; } catch { /* ignore */ } } 2510 // TERUGVAL, en die is nodig gebleken tegen Funkwhale. Een Accept hoort de 2511 // Follow terug te geven die hij beantwoordt, maar Funkwhale verzint er een 2512 // EIGEN id voor, in ONZE namespace: 2513 // 2514 // wij stuurden .../ap/users/dev#follow-1786161977286-bb2de32f 2515 // Funkwhale zegt .../ap/users/dev#follows/19fd8b00-8f66-... 2516 // 2517 // Matchen op follow_id raakt dan niets, en de volgrelatie bleef eeuwig op 2518 // 'pending' staan terwijl de logregel 'accepted' riep -- een stille no-op 2519 // die pas opviel toen er nooit iets binnenkwam. 2520 // 2521 // Het paar dat we WEL zeker weten is (deze site, deze actor): de Accept is 2522 // handtekening-geverifieerd, en actorUri is de ondertekenaar. Alleen een 2523 // rij die nog op pending staat wordt geraakt, dus dit kan niets anders 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 */ } 2527 } 2528 // Eerlijk loggen: zonder treffer is er niets geaccepteerd, en dat hoort te 2529 // zien te zijn in plaats van als succes voorbij te komen. 2530 console.log('[AP] follow', raak ? 'accepted' : 'accept UNMATCHED', actorUri, fid ? '(' + fid + ')' : ''); 2510 2531 // The moment a friendship exists is the moment the history comes along 2511 2532 // (Robins besluit, 30-7): delivery cannot reach into the past, so the … … 3725 3746 } 3726 3747 3727 let _insFw, _delFw, _listFw, _accFw, _ oneFw, _setAB;3748 let _insFw, _delFw, _listFw, _accFw, _accFwByActor, _oneFw, _setAB; 3728 3749 function fwStmts() { 3729 3750 if (!_insFw) { … … 3732 3753 _listFw = db.prepare('SELECT * FROM ap_following WHERE slug = ? ORDER BY created_at DESC'); 3733 3754 _accFw = db.prepare("UPDATE ap_following SET status = 'accepted' WHERE follow_id = ?"); 3755 // Terugval als de Accept ons follow-id niet teruggeeft (zie de Accept-tak 3756 // in handleInbox): dan is het paar dat we WEL zeker weten (deze site, deze 3757 // actor) genoeg, mits de rij nog op pending staat. 3758 _accFwByActor = db.prepare("UPDATE ap_following SET status = 'accepted' WHERE slug = ? AND actor_uri = ? AND status = 'pending'"); 3734 3759 _oneFw = db.prepare('SELECT * FROM ap_following WHERE slug = ? AND actor_uri = ?'); 3735 3760 _setAB = db.prepare('UPDATE ap_following SET auto_boost = ? WHERE slug = ? AND actor_uri = ?'); 3736 3761 } 3737 return { ins: _insFw, del: _delFw, list: _listFw, acc: _accFw, one: _oneFw, setAB: _setAB };3762 return { ins: _insFw, del: _delFw, list: _listFw, acc: _accFw, accByActor: _accFwByActor, one: _oneFw, setAB: _setAB }; 3738 3763 } 3739 3764 export function listFollowing(slug) { return fwStmts().list.all(slug); }
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)