Changeset bfa3ba3 in Klonkt for src/services/ActivityPubService.js
- Timestamp:
- 10/26/2026 01:35:31 PM (26 hours ago)
- Branches:
- main
- Children:
- 7ccdced
- Parents:
- 31288dc
- File:
-
- 1 edited
-
src/services/ActivityPubService.js (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/services/ActivityPubService.js
r31288dc rbfa3ba3 34 34 import { 35 35 safeFetch, getOrCreateKeys, deliver, fetchActor, 36 enqueueDelivery, deliverWithRetry, processDeliveryQueue, startDeliveryWorker,36 enqueueDelivery, deliverWithRetry, deliverNowOrQueue, processDeliveryQueue, startDeliveryWorker, 37 37 anySigningSlug, verifyRequest, signedGetHeaders, signedGetJson, apGetJson, 38 38 } from './ap-transport.js'; 39 39 export { 40 40 safeFetch, getOrCreateKeys, deliver, fetchActor, 41 enqueueDelivery, deliverWithRetry, processDeliveryQueue, startDeliveryWorker,41 enqueueDelivery, deliverWithRetry, deliverNowOrQueue, processDeliveryQueue, startDeliveryWorker, 42 42 verifyRequest, signedGetHeaders, signedGetJson, 43 43 }; … … 2416 2416 let delivered = 0; 2417 2417 for (const inbox of [...inboxes].filter(Boolean)) { 2418 let ok = false; 2419 try { const st = await deliver(inbox, create, keyId, keys.private_pem); ok = st >= 200 && st < 300; } catch { ok = false; } 2420 if (ok) delivered++; 2421 else enqueueDelivery(site.slug, inbox, create); // durable: retry a briefly-offline recipient (was silently dropped) 2418 // Langs de volgorde per inbox (shaer-xzab.3); wat niet meteen kan, gaat 2419 // in de rij en wordt later opnieuw geprobeerd. 2420 if ((await deliverNowOrQueue(site.slug, inbox, create, keyId, keys.private_pem)) === 'sent') delivered++; 2422 2421 } 2423 2422 console.log('[AP] outreply', site.slug, '→', parent.actor_uri, 'delivered', delivered); … … 2789 2788 if (row.to_actor) { const a = await fetchActor(row.to_actor).catch(() => null); if (a) inboxes.add((a.endpoints && a.endpoints.sharedInbox) || a.inbox); } 2790 2789 for (const f of fStmts().list.all(site.slug)) inboxes.add(f.shared_inbox || f.inbox); 2791 for (const inbox of [...inboxes].filter(Boolean)) {2792 try { const st = await deliver(inbox, del, `${me}#main-key`, keys.private_pem); if (st >= 200 && st < 300) continue; } catch { /* queue below */ }2793 enqueueDelivery(site.slug, inbox, del); // durable: a failed comment-delete now retries (was silently dropped)2794 }2790 // Langs de volgorde per inbox (shaer-xzab.3): deze Delete mag niet vóór 2791 // de Create van dezelfde reactie aankomen als die nog in de rij wacht -- 2792 // dan stond de reactie daarna weer op die server. 2793 for (const inbox of [...inboxes].filter(Boolean)) await deliverNowOrQueue(site.slug, inbox, del, `${me}#main-key`, keys.private_pem); 2795 2794 } 2796 2795 db.prepare('DELETE FROM ap_outbox WHERE id = ?').run(outboxId); … … 4164 4163 actorId, fetchActor, localActor, deliverTo: deliverToActor, deriveHandle, escHtml, linkUrls, linkHashtags, 4165 4164 getOutboxRow: (id) => iStmts().getO.get(id), 4166 buildReplyNote, AP_CONTEXT, getOrCreateKeys, deliver , enqueueDelivery,4165 buildReplyNote, AP_CONTEXT, getOrCreateKeys, deliverNowOrQueue, 4167 4166 // Rijke directe berichten: dezelfde sanitizer als deliverReply gebruikt, zodat 4168 4167 // een antwoord uit Berichten door precies één poort gaat.
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)