<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[FEP-49eb: Batched Inbox Delivery]]></title><description><![CDATA[<p class="quote-inline">RE: <a href="https://aus.social/@maddyunderstars/117127750677454333" rel="nofollow noopener"><span>https://</span><span>aus.social/@maddyunderstars/11</span><span>7127750677454333</span></a></p><p>FEP-49eb: Batched Inbox Delivery</p><p>I've wanted batched inboxes for a while, and so here's a FEP for how you might do that.</p><p>My big problems with this currently are:<br />- The `object` of the `Add` is a `Collection`, which would usually mean to add the collection obviously, but here we add the collection's items. It's like this because we need to add some metadata such as start time and ordering, and we can't edit the activities themselves because then the proofs fail when those extra properties are removed when forwarding to other servers. Further, editing the activities might lead to conflicts, and using a prefixed prop like 'fep-49eb:ordering` just leaks that batching was used if forwarding was to happen without removal<br />- The capability discovery here is annoying I think. I didn't want to add a new `batched` inbox property on actors because then it's completely incompatible with multibox, and I want multibox to remain optional here too.</p><p><a href="https://codeberg.org/MaddyUnderStars/fep/src/branch/feat/fep-49eb/fep/49eb/fep-49eb.md" rel="nofollow noopener"><span>https://</span><span>codeberg.org/MaddyUnderStars/f</span><span>ep/src/branch/feat/fep-49eb/fep/49eb/fep-49eb.md</span></a></p><p><a href="https://aus.social/tags/fedidev" rel="tag">#<span>fedidev</span></a> <a href="https://aus.social/tags/fep" rel="tag">#<span>fep</span></a> <a href="https://aus.social/tags/activitypub" rel="tag">#<span>activitypub</span></a> <a href="https://aus.social/tags/fep49eb" rel="tag">#<span>fep49eb</span></a></p>]]></description><link>https://bb.devnull.land/topic/4d8c8347-3b87-46d1-95d0-3f9271588979/fep-49eb-batched-inbox-delivery</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 23:04:33 GMT</lastBuildDate><atom:link href="https://bb.devnull.land/topic/4d8c8347-3b87-46d1-95d0-3f9271588979.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 22 Aug 2026 04:46:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to FEP-49eb: Batched Inbox Delivery on Sat, 22 Aug 2026 14:55:22 GMT]]></title><description><![CDATA[<p><span><a href="/user/maddyunderstars%40aus.social" rel="noopener">@maddyunderstars</a></span> An activity without <code>id</code> and <code>actor</code> can't be authenticated:</p><p>- The receiving server can't use the HTTP signature because it can't check <code>Key.owner == Activity.actor</code> when there is no <code>actor</code>.<br />- The receiving server can't verify activity by fetching it from the origin, because there is no <code>id</code></p><p>Maybe this batch-<code>Add</code> activity is a special activity that differs from all other activities and should be unwrapped without authentication? In my opinion, the case for such "special activity" is not sufficiently strong.</p><p><span><a href="https://activitypub.space/category/5/technical-discussion" rel="noopener">@technical-discussion</a></span></p>]]></description><link>https://bb.devnull.land/post/https://mitra.social/objects/01a029f8-21df-7e60-a878-b21f72484fdc</link><guid isPermaLink="true">https://bb.devnull.land/post/https://mitra.social/objects/01a029f8-21df-7e60-a878-b21f72484fdc</guid><dc:creator><![CDATA[silverpill@mitra.social]]></dc:creator><pubDate>Sat, 22 Aug 2026 14:55:22 GMT</pubDate></item><item><title><![CDATA[Reply to FEP-49eb: Batched Inbox Delivery on Sat, 22 Aug 2026 13:02:50 GMT]]></title><description><![CDATA[<p><span><a href="/user/silverpill%40mitra.social">@<span>silverpill</span></a></span> <span><a href="https://activitypub.space/category/5/technical-discussion">@<span>technical-discussion</span></a></span> I would like a new activity type, but I wanted it to be compatible with multibox which uses Add. Although it doesn't allow for collections as their objects, so maybe a custom type is fine...?</p><p>I left `id`, `actor`, and `to` out because multibox also omits them. Additionally, batches don't have much use outside their POST request, so giving them a resolvable ID isn't super useful, and deduplication can be done per activity instead. Since the activities could be addressed to anyone and be created by anyone, `to` and `actor` dont have singular values either. Although I do realise now that omitting `actor` makes it incompatible with FEP-2277...</p><p>Good point on startTime/endTime. I'll clarify that tomorrow.</p><p>No, receiving servers should not add `Add` activities to their inboxes.</p>]]></description><link>https://bb.devnull.land/post/https://aus.social/users/maddyunderstars/statuses/117139293472644559</link><guid isPermaLink="true">https://bb.devnull.land/post/https://aus.social/users/maddyunderstars/statuses/117139293472644559</guid><dc:creator><![CDATA[maddyunderstars@aus.social]]></dc:creator><pubDate>Sat, 22 Aug 2026 13:02:50 GMT</pubDate></item><item><title><![CDATA[Reply to FEP-49eb: Batched Inbox Delivery on Sat, 22 Aug 2026 11:51:18 GMT]]></title><description><![CDATA[<p><span><a href="/user/maddyunderstars%40aus.social" rel="noopener">@maddyunderstars</a></span></p><blockquote><p>The <code>object</code> of the <code>Add</code> is a <code>Collection</code>, which would usually mean to add the collection obviously</p></blockquote><p>You can introduce a new activity type, which will have different semantics.</p><p>e.g. <code>DeliverBatch</code></p><p>-----</p><blockquote><p>startTime: The creation time of the chronologically first activity in this batch.</p></blockquote><p>I suggest clarifying what "creation time" means. Is it the value of the <code>published</code> property of an activity?</p><blockquote><p>Delivery</p></blockquote><p>The <code>Add</code> activity in the example does not have the <code>id</code>, <code>actor</code> and <code>to</code> properties, which are usually required.</p><blockquote><p>Processing</p></blockquote><p>Should receiving servers add <code>Add</code> activities to inbox collections?</p><p><span><a href="https://activitypub.space/category/5/technical-discussion" rel="noopener">@technical-discussion</a></span></p>]]></description><link>https://bb.devnull.land/post/https://mitra.social/objects/01a0294f-9c82-7690-8dca-528b2b6810bc</link><guid isPermaLink="true">https://bb.devnull.land/post/https://mitra.social/objects/01a0294f-9c82-7690-8dca-528b2b6810bc</guid><dc:creator><![CDATA[silverpill@mitra.social]]></dc:creator><pubDate>Sat, 22 Aug 2026 11:51:18 GMT</pubDate></item><item><title><![CDATA[Reply to FEP-49eb: Batched Inbox Delivery on Sat, 22 Aug 2026 05:49:15 GMT]]></title><description><![CDATA[<p dir="auto">Cool. Yep.</p>
]]></description><link>https://bb.devnull.land/post/https://piefed.social/comment/12598310</link><guid isPermaLink="true">https://bb.devnull.land/post/https://piefed.social/comment/12598310</guid><dc:creator><![CDATA[rimu@piefed.social]]></dc:creator><pubDate>Sat, 22 Aug 2026 05:49:15 GMT</pubDate></item><item><title><![CDATA[Reply to FEP-49eb: Batched Inbox Delivery on Sat, 22 Aug 2026 04:53:04 GMT]]></title><description><![CDATA[<p><span><a href="/user/rimu%40piefed.social">@<span>rimu</span></a></span> Thanks. Since FEP-1a11 documents PieFed behaviour and only addresses Likes/Dislikes/Undo in FEP-1b12 Groups, I figured a new FEP would be useful. This one is for any activity to any actor(s)</p>]]></description><link>https://bb.devnull.land/post/https://aus.social/users/maddyunderstars/statuses/117137367651140114</link><guid isPermaLink="true">https://bb.devnull.land/post/https://aus.social/users/maddyunderstars/statuses/117137367651140114</guid><dc:creator><![CDATA[maddyunderstars@aus.social]]></dc:creator><pubDate>Sat, 22 Aug 2026 04:53:04 GMT</pubDate></item><item><title><![CDATA[Reply to FEP-49eb: Batched Inbox Delivery on Sat, 22 Aug 2026 04:49:41 GMT]]></title><description><![CDATA[<p dir="auto">See also <a href="https://codeberg.org/fediverse/fep/src/branch/main/fep/1a11/fep-1a11.md" rel="nofollow ugc">https://codeberg.org/fediverse/fep/src/branch/main/fep/1a11/fep-1a11.md</a></p>
]]></description><link>https://bb.devnull.land/post/https://piefed.social/comment/12597562</link><guid isPermaLink="true">https://bb.devnull.land/post/https://piefed.social/comment/12597562</guid><dc:creator><![CDATA[rimu@piefed.social]]></dc:creator><pubDate>Sat, 22 Aug 2026 04:49:41 GMT</pubDate></item></channel></rss>