hrefna,
@hrefna@hachyderm.io avatar

From the standpoint of the principle of least surprise, what would you expect—not in terms of mastodon's implementation, but in general—the difference would be between:

  • to: as:Public
  • cc:as:Public
  • audience:as:Public

Are they identical, would you expect these to manifest different behaviors? Which would you view as correct?

#ActivityPub

mariusor,
@mariusor@metalhead.club avatar

@hrefna first two I treated as "this activity needs to go in all the local inboxes that the server knows about". I never used (or seen used) the third.

On another note I also use the presence of the public namespace in the recipients list as a way to allow public access to objects in collections, which could be said that can be better served by this third option.

jenniferplusplus,
@jenniferplusplus@hachyderm.io avatar

@hrefna Audience is correct, the rest don't make sense. as:public is a special pseudo collection. It's not real and it doesn't have an inbox, so delivering objects to it is not a thing that can happen.

mariusor,
@mariusor@metalhead.club avatar

@jenniferplusplus @hrefna I mean, the spec specifically invents this usage for the public namespace:

https://www.w3.org/TR/activitypub/#public-addressing

Note "addressing" in the verbiage, which to me implies the To/CC/Bto/BCC properties not "audience".

jenniferplusplus,
@jenniferplusplus@hachyderm.io avatar

@mariusor @hrefna Ok, but even if you try to "deliver" an object to the public collection (which the spec says you cannot do, in the same paragraph), it has no contents.

The per-spec behavior when delivering to collections is to unwrap the collection (not recursively) and deliver to every object within the collection that has an inbox.

So it still doesn't mean anything.

jenniferplusplus,
@jenniferplusplus@hachyderm.io avatar

@mariusor @hrefna Also, AP defers what "addressing" means to AS, which calls it "audience targeting" and also has no additional information that would help an implementer.

jenniferplusplus,
@jenniferplusplus@hachyderm.io avatar

@mariusor @hrefna Anyway, I'm operating under the assumption that words mean things. Moreover, that different words mean different things. Especially in an ostensibly technical context, like a protocol specification.

If audience means the same as cc, that's kind of useless. It's much more useful if audience is informative about the intended scope of visibility.

And I think the examples bear that out.

hrefna,
@hrefna@hachyderm.io avatar

@jenniferplusplus

As a note on this, it's technically the original definition of the audience field.

It was meant for exactly this sort of scoping, but that got lost over time, becoming basically identical to cc in the spec but more inconsistently handled in practice.

@mariusor

  • All
  • Subscribed
  • Moderated
  • Favorites
  • fediverse
  • DreamBathrooms
  • mdbf
  • ngwrru68w68
  • magazineikmin
  • thenastyranch
  • rosin
  • khanakhh
  • osvaldo12
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • InstantRegret
  • tacticalgear
  • provamag3
  • ethstaker
  • cisconetworking
  • modclub
  • tester
  • GTA5RPClips
  • cubers
  • everett
  • normalnudes
  • megavids
  • Leos
  • anitta
  • JUstTest
  • lostlight
  • All magazines