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

Context deletion vs. Removal brainstorming

Technical Discussion
30 3 83
  • @julian in "technical terms" the reason no one has to worry about this issue is because no one implements activitypub, and when they deliver, they generally disallow delivering to any collections except your own followers collection.

    imagine addressing someone else's followers collection, or your own following collection, or a group's members collection, or a public collection. those are all possible in activitypub and would behave according to the specified delivery algorithm for any AP outbox

    @julian i mean, if i sent nodebb an activity addressed to collection.example right now, what would you do with it? mastodon would use that as a signal to upgrade any "direct" or "followers" post to a "limited" post. this was implemented as part of their early support for "circles", which i think are so far only a thing on fedibird and bonfire maybe? i'm not sure how audience would be inherited in further interactions but mastodon would probably default to followers-only as overridden by API

  • @julian in "technical terms" the reason no one has to worry about this issue is because no one implements activitypub, and when they deliver, they generally disallow delivering to any collections except your own followers collection.

    imagine addressing someone else's followers collection, or your own following collection, or a group's members collection, or a public collection. those are all possible in activitypub and would behave according to the specified delivery algorithm for any AP outbox

    trwnh@mastodon.social but that's exactly it, nobody does it.

    That's perhaps not a compelling reason to remove it from the spec, but if it's already on the chopping block then I don't feel as strongly about sticking to that part of it.

  • @julian i mean, if i sent nodebb an activity addressed to collection.example right now, what would you do with it? mastodon would use that as a signal to upgrade any "direct" or "followers" post to a "limited" post. this was implemented as part of their early support for "circles", which i think are so far only a thing on fedibird and bonfire maybe? i'm not sure how audience would be inherited in further interactions but mastodon would probably default to followers-only as overridden by API

    trwnh@mastodon.social I can't speak for how Mastodon would handle it, but if an arbitrary collection were addressed, I don't see why it would change visibility of the object.

    Public and unlisted are containing as:Public in to and cc respectively. Followers-only is sender's follower collection addressed, and otherwise it's mentioned-only post.

    Would Mastodon try to resolve the collection for actors? Good question. If it did it would likely resolve it, see that it isn't an Actor, and give up. However I'm venturing into conjecture now.

  • @julian in theory there shouldn't be anything wrong with saying a Collection is also something else, but activitypub's delivery algorithm will have unintended consequences if you address a Collection that has its own inbox

    also Remove is defined with respect to object+target, not object+origin. yes, this is somewhat confusing because in english we remove "from" rather than remove "to", but that's far from the only slip-up. (currently AS2 also defines you Invite an Event to a Person...)

    trwnh@mastodon.social said in Context deletion vs. Removal brainstorming:
    > also Remove is defined with respect to object+target, not object+origin.

    That's fine, I'll make the corresponding change.

    I was basing it off this line in the AS spec:

    > If specified, the origin indicates the context from which the object is being removed. [[source](https://www.w3.org/TR/activitystreams-vocabulary/#dfn-remove)]

  • @julian if "no one POSTs to outbox" is an argument for axing the outbox, then i don't know what we'd be discussing, because what would be left? i mean, maybe we can say "addressing collections no longer expands delivery to items", but then we presumably need an alternative that doesn't involve addressing actors one-by-one.

  • @julian that's pretty much exactly what happens iirc, except instead of "it isn't an actor", the check mastodon does is "it isn't a Person/Group/Organization/Application/Service".

    multityping [OrderedCollection, Service] as you propose would cause mastodon to try to process it as an actor, but likely fail when it doesn't pass the webfinger assertion and therefore can't be converted to an Account entity.

  • @julian yes, this is an area where AP actually contradicts AS2 for no good reason. semantically it should be origin, but the side effects of AP are defined wrt target.

  • @julian that's pretty much exactly what happens iirc, except instead of "it isn't an actor", the check mastodon does is "it isn't a Person/Group/Organization/Application/Service".

    multityping [OrderedCollection, Service] as you propose would cause mastodon to try to process it as an actor, but likely fail when it doesn't pass the webfinger assertion and therefore can't be converted to an Account entity.

    @julian mastodon has a level between "followers-only" and "mentioned-only", which represents exactly this case -- "limited". this means that there are addressees who are not are not accounts, and who are not your followers. to mastodon, these are basically "unknown recipients", and it records the fact that they were addressed but not who they are (its database model doesn't support this)

    but activitypub only has actors and collections (while overlooking that the same thing might be both)

  • it feels like an unnecessary abstraction for the purposes of skirting around a limitation in the ActivityPub specification.

    What limitation?

    The problem is not that ActivityPub has a limitation, the problem is that it doesn't have enough. It can't be used to build a real application because it doesn't specify what is valid and what is not. it doesn't even specify what an "actor" is.

    Fortunately, the answers to these questions were found and documented in FEP-fe34 and FEP-2277. Object observers are likely compatible with both FEP-fe34 and FEP-2277. Other ideas are not compatible.

    In your proposed structure (feel free to correct if wrong), a resolvable context would declare an observer property pointing to an Actor, who would be federating actions out on its behalf.

    Yes. I think some property can also be added to posts to simplify discovery e.g. Note.contextObserver.

    However, it has the same technical hurdle — lack of existing implementation — than the alternative, which is to multi-type the collection into ["OrderedCollection", "Service"] or similar.

    So ["OrderedCollection", "Service"] is supposed to be an actor that is also a dynamic container? That doesn't make any sense, and I don't know how to implement that in C2S setting. It also conflicts with FEP-fe34 and FEP-2277.

  • it feels like an unnecessary abstraction for the purposes of skirting around a limitation in the ActivityPub specification.

    What limitation?

    The problem is not that ActivityPub has a limitation, the problem is that it doesn't have enough. It can't be used to build a real application because it doesn't specify what is valid and what is not. it doesn't even specify what an "actor" is.

    Fortunately, the answers to these questions were found and documented in FEP-fe34 and FEP-2277. Object observers are likely compatible with both FEP-fe34 and FEP-2277. Other ideas are not compatible.

    In your proposed structure (feel free to correct if wrong), a resolvable context would declare an observer property pointing to an Actor, who would be federating actions out on its behalf.

    Yes. I think some property can also be added to posts to simplify discovery e.g. Note.contextObserver.

    However, it has the same technical hurdle — lack of existing implementation — than the alternative, which is to multi-type the collection into ["OrderedCollection", "Service"] or similar.

    So ["OrderedCollection", "Service"] is supposed to be an actor that is also a dynamic container? That doesn't make any sense, and I don't know how to implement that in C2S setting. It also conflicts with FEP-fe34 and FEP-2277.

    If I used an object observer for a topic/context, and proceeded to delete that context, the object observer would go away too.

    That is, unless you're inferring that I take steps to preserve the object observer for some period of time (if not forever?)


Gli ultimi otto messaggi ricevuti dalla Federazione
  • @reiver i think the disjunction between Object and Link was actually unnecessary. https://github.com/w3c/activitystreams/issues/666

    i also think there's too much emphasis on types when there really shouldn't be -- it's the *properties* that you end up using almost all of the time. pretty much the only types that actually matter are the Activity types (because you can't infer those).

    read more

  • @haitchfive

    I don't think it was me, but — it seems interesting.

    https://github.com/ha1tch/quertfy

    .

    read more

  • @reiver Did you and I discuss queryfy a while ago, or was it one of my other projects?

    Just wondering whether I owe you a heads up since queryfy has been bumped up to v0.3.0

    read more

  • With ActivityPub / ActivityStreams...

    To me, it feels like there should have been something that is a common parent of both 'Object' and 'Link'.

    That just had the "name", "nameMap", and "preview" fields (along with "id" and "type, of course) — since that is what 'Object' and 'Link' share in common.

    I'll just call this common parent: 'Entity'.

    ...

    It could have even been an opportunity to talk about how to handle unknown types.

    read more

  • @soapdog@toot.cafe hmm... just thinking aloud here.

    You posit in another post that the network effects inflate exponentially:

    > Push models are resource hogs that approach exponential growth in a large network like the fediverse

    That's not true. If you post a message then it sends a copy to each follower. That's linear growth. If you collapse recipients via shared inboxes you can reduce that further.

    If you're referring to the torrent of requests that happen if your post is shared (the "thundering herd" problem) then that's actually a PULL happening from those requesting instances!

    Secondly, in a pull model of AP, you would need to continually poll servers of all your followers so as to approach a real-time effect. You'd be polling servers over and over again, and many of them would have nothing new, with so much wasted traffic.

    If your expectations include semi real-time updates, the push model is much more performant, in my humble opinion.

    read more

  • @evan @mariusor @silverpill i think we probably need to revisit the user story of creating multiple objects at once, or more accurately, the user story of minting and binding multiple identifiers at once.

    read more

  • read more

  • @evan @mariusor @silverpill re: ids though the RDF ecosystem (and jsonld) doesn't use "null", it uses blank node identifiers (those prefixed with _: are special cased by the prefix expansion algorithm). this can allow for "transient" activities or "anonymous" objects (and the graph data model auto assigns _:b1, _:b2 and so on when "id" is missing; the canonicalization algorithm assigns _:c14n0 and _:c14n1 and so on)

    this is maybe not the best way to create replies collections though...

    read more
Post suggeriti
  • 0 Votes
    2 Posts
    6 Views
    @silverpill@mitra.social Thanks for sharing these links. I sometimes miss the articles... the one by @mapache@hachyderm.io is interesting, and deserves a response 🤔
  • 0 Votes
    1 Posts
    7 Views
    Wäre es nicht super, wenn man sich mit sei­nem Mast­o­don-Account ein­fach für eine Ver­an­stal­tung anmel­den könn­te – so wie das frü­her bei Face­book mög­lich war? Der­zeit geht das noch nicht. Aber es gibt ein paar hoff­nungs­vol­le Anzei­chen, dass sich das ändern könnte.Ich habe es im letz­ten Arti­kel ange­teasert: In der Sprech­stun­de hat André Men­rath (@linos) ein paar inter­es­san­te Din­ge erzählt und wir haben uns über die gene­rel­le Situa­ti­on von Ver­an­stal­tun­gen bei Word­Press und im Fedi­ver­se unterhalten. Bei Plug­ins für Ver­an­stal­tungs-Kalen­der bin ich wirk­lich kri­tisch. Ich habe damals das Ein­ga­be­for­mu­lar für den Ver­an­stal­tungs­ka­len­der bei kiel4kiel.de ent­wi­ckelt. Wenn man jeden Monat 1000 Ter­mi­ne ein­ge­ben will, sieht man zu, dass man da kei­nen ein­zi­gen Klick zu viel macht, weil das immer x1000 geht.Ich habe noch kein For­mu­lar für Ver­an­stal­tun­gen gese­hen, das so prak­tisch war, wie unser User-Inter­face damals. Das fängt damit an, dass Ver­an­stal­tun­gen NIE um 00:00 Uhr anfan­gen. Die Zeit­aus­wahl steht aber bei jeder Soft­ware auf 00:00 und die­ser Stan­dard­wert lässt sich nicht konfigurieren.Events bei WordPressIch bin der Mei­nung, dass es kein ein­zi­ges gutes Event-Plug­in für Word­Press gibt. Auch kein kom­mer­zi­el­les. Ich ken­ne kei­nes. Die meis­ten sind mit Fea­tures total über­la­den, die dafür auch noch schlecht zu bedie­nen sind. Dazu kommt, dass alle Kalen­der schei­ße aus­se­hen und man sie nicht anpas­sen kann – selbst wenn sie sich ein eige­nes Tem­p­la­te-Sys­tem über­legt haben.Beim Web­Mon­tag brau­che ich ein ein­fa­ches Plug­in bei dem man Datum und Uhr­zeit und eine Adres­se ein­gibt. Außer­dem soll man sich an- und abmel­den kön­nen. Ich habe das vor lan­ger Zeit über einen Cus­tom-Post-Type erle­digt, den ich um Datum und Loca­ti­on erwei­tert habe. Außer­dem habe ich die Kom­men­tar­funk­ti­on dort so „gehackt“, dass das Text­feld aus­ge­blen­det wird. So mel­det man sich an, indem man einen Kom­men­tar ohne Text abgibt. Des­we­gen bekommt man auch kei­ne Benach­rich­ti­gung und man kann sich auch dar­über nicht abmelden. Das funk­tio­niert. Aber ich hät­te trotz­dem eine etwas kom­for­ta­ble­re Lösung. Bei Gather­Press arbei­ten wohl gera­de eini­ge moti­vier­te Ent­wick­ler an einem neu­en Plug­in für Events. Das sieht auf den ers­ten Blick sehr auf­ge­räumt aus und scheint sich an den moder­nen Para­dig­men der Word­Press-Ent­wick­lung zu orientieren.Events im FediverseAuch im Fedi­ver­se gibt es Ver­an­stal­tun­gen. Mobi­li­zon ist eine Lösung dafür. Auf so einer Instanz gibt es dann nur Ver­an­stal­tun­gen. Ich ken­ne mich damit nicht so gut aus. Aber super wäre es natür­lich, wenn ich einem Account bei Mobi­li­zon bspw. von Mast­o­don aus fol­gen könn­te und wenn mir dann eine Ver­an­stal­tung durch die Time­line läuft, kli­cke ich auf „teil­neh­men“ und bin ange­mel­det. Das geht aber noch nicht. Es gibt aber wohl Über­le­gun­gen bei Mast­o­don, Ver­an­stal­tun­gen bes­ser zu unter­stüt­zen. Fri­en­di­ca, Hub­zil­la und Ple­ro­ma kön­nen das schon – zumin­dest teilweise.Auf der Sei­te von Word­Press arbei­ten And­re Men­rath und Mat­thi­as Pfef­fer­le (@pfefferle) an einer Bridge für die bestehen­den Event-Plug­ins ins Fediverse.Die­se The­ma ist lei­der noch nicht ganz so kon­kret wie die grund­sätz­li­che Unter­stüt­zung für Arti­kel von Word­Press in Mast­o­don. Es sind eini­ge Puz­zle­tei­le, die ein inter­es­san­tes Bild ver­spre­chen, wenn sie jemand klug zusammensetzt. Ich fänd es cool, wenn ich eine Lösung hät­te bei der Men­schen den Ver­an­stal­tun­gen des Web­Mon­tags bspw. auf Mast­o­don fol­gen und sich anmel­den könn­ten. Zusätz­lich wäre es aber natür­lich nötig, dass man sich auch wei­ter­hin unkom­pli­ziert ohne Account anmel­den könn­te. Ein Ter­min-Plug­in, bei dem ich eine Stan­dard-Start­zeit ein­stel­len kann, weil der Web­Mon­tag immer ab 19 Uhr sei­ne Tür öff­net; einen Stan­dard-Ver­an­stal­tungs­ort, weil wir meis­tens in der Star­ter­kit­chen sind. Eine öffent­lich ein­seh­ba­re Teil­nah­me­lis­te, aus der sich Leu­te auch auf Wunsch aus­blen­den kön­nen und die sich nach ein paar Mona­ten von allei­ne löscht und nur die zusam­men gerech­ne­te Zahl der Anmel­dun­gen behält.Dar­auf muss ich wohl noch ein wenig war­ten. Aber Vor­freu­de ist ja auch etwas Schönes.
  • 0 Votes
    1 Posts
    14 Views
    Es wäre etwas anderes, wenn ich keine Beweise hätte. Wenn ich nur eine zufällige Person wäre, die wilde Behauptungen ohne jegliche Dokumentation aufstellt, wäre das natürlich Unsinn.Aber ich habe Beweise. Ich habe das aus erster Hand gesehen und sogar das Risiko auf mich genommen, Dinge von der Arbeit zu teilen, um es zu untermauern.Dieser Ort soll doch besser sein als Blue Sky, Twitter, Facebook und Reddit – richtig?Wenn dem so ist, warum werden dann Betrüger geschützt und behandelt, als gehörten sie zu einer besonders geschützten Personengruppe?#Betrug #Täuschung #Fediverse #ActivityPub #Twitter #Reddit #Facebook #BlueSky
  • 0 Votes
    47 Posts
    4k Views
    @wjmaggos @evan @chris @blaine @anewsocial Huge difference between screenshotting vs always being a part of another network and another organization's infrastructure by default.To be clear, I don't agree with Fediverse platforms depending on a blocklists, I much prefer approve-lists, but I don't think that's a popular opinion either.