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

Recently, there was a discussion about generic #ActivityPub servers.

Moved Technical Discussion
30 6 35

Gli ultimi otto messaggi ricevuti dalla Federazione
  • @silverpill @steve so we might need to recommend that these "side effect" activities in as:result SHOULD have fragment identifiers, to be able to refer to them later? or do we intend to never refer to them later? we could say they're transient activities so don't need to be referred to later (only processed in-order).

    lastly as:result itself maybe doesn't have these semantics defined, so should a subproperty or different property be used, or do we skip non-CRUD results?

    read more

  • @silverpill @steve also the server's main responsibility being publishing and therefore needing to mint an identifier for the top level activity, we should ask if the server is expected to assign any inner ids as well? assigning ids changes the graph so it's not clear cut. <how does the server know *which* ids to assign and which ones not to?> is an open question (and maybe blank node identifiers are actually in practice required to avoid ambiguity?)

    read more

  • @silverpill @steve regarding as:result itself there are some other ideas that have come up in past years so good to discuss those in a more focused thread:

    - either marking activities as the "result of" (maybe "in response to"?) another activity could update the other activity to refer to the later activities, or the "result of" property is defined as a @\reverse property of as:result
    - quote stamps currently use result for the stamp itself, not a Create activity for it

    read more

  • @silverpill @steve the type information is largely unnecessary and shouldn't factor into handling CRUD, especially if the objects are managed by the client. the authorization/trust model for which activities are allowed to CRUD which objects is important but can be something other than fe34 (such as an explicit access control policy or authorization resource). also multiple CRUD mechanisms may be in use.

    read more

  • @steve @trwnh

    I am not sure if generic server is even possible without FEP-2277 and FEP-fe34. Maybe duck typing (FEP-2277) could be replaced with hierarchical types, but that would require JSON-LD processing, and I don't want to make it mandatory.

    If you're certain that a different flavor of generic server is possible, I can publish the side effects part as a separate FEP. This way we can focus on areas where we are in agreement.

    read more

  • @steve @silverpill now if only AP had officially defined conformance profiles to this effect... (the "activity publishing profile" and the "notification delivery profile", to be clear)

    read more

  • @steve @silverpill in theory POST to outbox should publish the activity, and should trigger the delivery algorithm based on audience (which is another thing handled poorly compared to even smtp which it tried to copy...)

    imo that should be part of the protocol contract, and the idea of "side effects" unfortunately muddles that. the guarantee should be built into the outbox delivery algorithm and an outbox should signal this algorithm is in effect.

    read more

  • @steve @silverpill it's why mastodon went with the concept of "stamps" as http resources that could be fetched to retrieve latest state (200 / 404). you no longer need a complete ordered history of activities and you don't need to calculate the current state from those activities.

    subscription records would work the same way and could be extended to allow subscribing only to certain activities instead of an unfiltered everything

    read more
Post suggeriti
  • 0 Votes
    7 Posts
    35 Views
    @julian Yes, very likely.When I built the core software for a bank more than a decade ago, I did the same.
  • 2 Votes
    6 Posts
    36 Views
    Hi @silverpill@mitra.social right; Move and Remove are explicit actions concerning membership of a context in an audience. Update is overly broad and receivers would have to infer audience change based on what the updated object contains (e.g. Audience Y is suddenly missing, and Z is new, was this always the case?) It is likely that sending audience as an array will not be correctly interpreted by existing software, so this property is an unreliable indicator of context audience membership at best Existing threadiverse apps check addresses, and audience may not be used at all in some. There is no conflict with Move(Person), and I have not heard a convincing reason to adopt a new activity type when these two AS activities work quite well to describe what we want to accomplish.
  • 0 Votes
    5 Posts
    8 Views
    @julian possibly, but I was trying to answer to what I thought was Çağan's argument. It feels to me like there was no confusion about ActivityPub being able to update a preferredUsername, name or any other property of an Actor outside of it's ID.I was hoping he didn't confuse Mastodon for ActivityPub but maybe I'm wrong. :D
  • 0 Votes
    1 Posts
    8 Views
    First 100: BadgeFed Explorer The verified Badge was issued to @MIchael S. Manley You ventured into uncharted territory and helped shape the BadgeFed project from the start. As one of the first 100 testers, your curiosity, feedback, and bug-finding instincts helped stabilize the platform. The fediverse will always remember your role in getting us off the ground—one crash, typo, and glorious bug report at a time. Earning Criteria: Awarded to the first 100 individuals who actively participated in the early testing phase of BadgeFed. This includes exploring the platform, submitting feedback or bug reports, and generally poking around where things probably weren’t ready yet. These badges are limited—no retroactive claims, no reruns, no exceptions. You were here. You mattered.. Issued on: 04/11/2025 20:45:42 Accepted On: 04/11/2025 22:32:22 Verify the Badge here. #badgefed #fediverse #activitypub #mastodon #IssuedByBadgeFed #_BadgeDrop