Skip to content

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone

Expanding collections on delivery

Technical Discussion
11 2 2

Gli ultimi otto messaggi ricevuti dalla Federazione
  • @julian well, sure, with a monolithic implementation, the client and the outbox and the delivery agent are all the same app. but they don't have to be. the model is that the client submits to the outbox, and the outbox could also talk to a separate delivery agent internally. it's all opaque from outside the outbox. your internal "outbox" is the code that serializes activities and sends them to the delivery workers.

    read more

  • @trwnh@mastodon.social said in Expanding collections on delivery:
    > say you are an outbox and you get an activity to: some id. you deref the id and get some info. what do you do?

    Simple. My outboxes send a "not supported" HTTP tag 🤣

    But I'm being facetious.

    From a C2S standpoint I suppose that makes sense. Thanks.

    read more

  • @julian now remove the requirement. what do you do instead?

    - if it has ldp:inbox, send an LDN

    ...and that's it. at no point were you ever told or required to do anything else, so your followers/audience/members/etc will never get the activity even if addressed, because the collection was never expanded.

    read more

  • @julian i don't think it's "inferred", and leaving ambiguous cases up to inference in specification is typically called "unspecified behavior" ;)

    say you are an outbox and you get an activity to: some id. you deref the id and get some info. what do you do?

    - in all cases, if it has an `inbox`, you send an LDN to that id if you can.
    - in case it's an as:Collection, you iterate over its items in theory and repeat step 1 recursively. (this is also problematic because it can be both paged+unpaged)

    read more

  • @trwnh@mastodon.social so collection expansion is mainly for when I am sending an activity to collections that I control?

    Then I'm wondering why this needs to be explicitly spelled out and required because it seems to be inferred already from a UX perspective.

    read more

  • @julian there's probably a bunch of open issues on the https://github.com/w3c/activitypub/issues tracker regarding the problems with outbox delivery. those problems might be addressable all together, but it might instead make more sense to conceive of a sort of "LDN proxy" which handles deliveries instead (and holds your keys as an HTTP agent sending signed messages)

    read more

  • @julian

    i would be fine with removing this collection expansion behavior from outbox delivery if it was decided that outbox delivery itself is problematic and should be removed -- probably in favor of the client being responsible for sending notifications, where the client can apply whatever logic it wants.

    this is kinda what mastodon does right now as a monolith -- it is both the activitypub client (submitting to its internal outbox) and also the http agent for linked data notifications.

    read more

  • @julian

    > 7.1.2

    wrt inbox forwarding, this only helps when addressing collections of *someone else*, where the contents are private. for your own collections, unless you plan to deliver all such activities to yourself with the expectation that you will forward them (why didn't the outbox do it for you?^1), it doesn't help you.

    ^1: if the outbox doesn't have your credentials, then it can't do this. in this case, you or your client is responsible for deliveries, and the outbox only publishes.

    read more
Post suggeriti
  • @robertwrighter

    General Discussion activitypub algomedia
    1
    0 Votes
    1 Posts
    10 Views
    @robertwrighter we do need to enable boosting of a podcast.stuff can go viral for two different reasons. actual humans sharing it or an algorithm deciding to put it in front of people. the second is what we mostly have to rely on for anything except a social media post (imo we can eventually fix that with #ActivityPub). it's why making your podcast into a YouTube video makes sense. but #AlgoMedia generally selects stuff that's exactly the opposite of what makes non zero great :(
  • 0 Votes
    7 Posts
    28 Views
    @julian Nice workaround. They should describe it in the FEP
  • 0 Votes
    1 Posts
    21 Views
    Week in Fediverse 2025-09-19Servers- Gush! v0.0.22- ActivityPub for WordPress v7.4.0- Mastodon v4.4.4- Mitra v4.10.0- Hollo v0.6.11- Manyfold v0.123.0- Ktistec v2.4.13- Smithereen v0.11- snac v2.83- PieFed v1.2- tootik v0.19.2- kmyblue v20.0- Wanderer v0.18.3Clients- Pachli v2.16.1- Fedilab v3.35.0- IceCubesApp v2.0.4- Aria v1.3.10- NeoDB You v1.0.2- PeerTube Mobile v1.1.0- Blorp v1.9.23- Phanpy changelogTools and Plugins- Poduptime v5.5.1For developers- fediverse-pasture-inputs v0.3.3- Granary v9.0- roboherd v0.1.9Protocol- FEP-8967: Generating link previews for attached linksArticles- How to Build a Simple ActivityPub Reminder Bot in Python- Fediverse Report – #134-----#WeekInFediverse #Fediverse #ActivityPubPrevious edition: https://mitra.social/objects/01993fe3-2dac-3533-6a81-9e653c9d94e0
  • 0 Votes
    1 Posts
    15 Views
    :botkit: Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots! Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API. Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify@hollo.social foundation. https://botkit.fedify.dev/