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

Deleting a post vs deleting an entire comment tree

Technical Discussion
24 12 0

Gli ultimi otto messaggi ricevuti dalla Federazione
  • @julian This sounds like an implementation detail to me. Some fedi platforms delete a child object when its parent is deleted, others don't.

    If you want to make the removal of a subtree explicit, I'd recommend a Remove where object is an array (similar to what @mariusor suggested):

    Remove(object: Note[], target: Context)

    This also helps with migrating away from Announce(Delete). I saw your FEP draft, will provide more feedback once I read it in full.

    @rimu @nutomic @melroy @BentiGorlich

    read more

  • I fail to see what the fundamental difference is. If you are unsure about the target with Delete/Object, you can also resolve the context of Object to figure that out. Anyway the instance where the Group is hosted is always the authority, so the state there is the correct one.

    Actually I would rather think of this from a different perspective, namely from the perspective of the mod who clicks the remove button. That would happen when a post is offtopic or violates the rules, and then the intent clearly is to remove all replies as they are not useful. It wouldnt make sense to leave up a single reply two levels deep just because it wasnt included in the context for some reason.

    read more

  • I'm sure that approach works as well. This would have been worth discussing 4 or 5 years ago when I was just implementing federation in Lemmy for the first time. By now FEP-1b12 is already an established standard which is used by various platforms, and it would be completely unfeasible to replace it with something else.

    read more

  • I do agree that with_replies, or similar, would be the easiest approach, but I don't think it is the most specific.

    The bool suggests that all replies to a given object are deleted. However, you do not know whether your idea of what the reply tree is matches that of the originating server (which replies are included, etc.?)

    Remove(Context), on the other hand does imply both that the container is deleted, and all of its replies, which are dereferenceable by resolving the context directly. It also has the benefit of being able to provide a pointer to where it was removed from, which is useful.

    So to me it's not just a matter of preference, but that there are additional benefits to Remove

    I will of course concede that it is more work to deliver Remove.

    cc thisismissem

    read more

  • @julian @jdp23 well, a Delete can be operated on an array of objects. :D

    Send one with all the objects that are affected from the local instance (and probably you must keep in mind that not all replies might be).

    read more

  • thisismissem seems I misspoke, as Nutomic's reply above clarifies: the tree stays but is effectively orphaned. Lemmy v1.0 will allow the reply tree to be accessed post-deletion.

    The original query does still remain the same: what would be the best way forward to explicitly signal the deletion (or technically, the removal) of an entire reply tree?

    cc jdp23@neuromatch.social mariusor@metalhead.club

    read more

  • mariusor@metalhead.club that works too!

    read more

  • Thanks! I will do just that... mostly since I don't feel like hosting my own context just for this one property.

    This feature is now implemented and should ship with the next minor version of NodeBB — v4.8.0.

    read more
Post suggeriti
  • 0 Votes
    12 Posts
    48 Views
    @laura@laurahargreaves.com @laura@blog.laurahargreaves.com 🙌✨🏆
  • 0 Votes
    1 Posts
    4 Views
    No one has replied
  • 0 Votes
    1 Posts
    14 Views
    RE: https://colours.bots.edent.tel/posts/68db167a-0f16-f630-b7bd-f9aaad3beb7c.jsonHey you! Would you like to learn how #ActivityPub works?I have a *single-file* ActivityPub server which can be used to run bots.It supports quotes, mentions, hashtags, and most features of the modern #Fediverse. You can play around by uploading one PHP file and one .htaccess file to your website.Get started at:https://gitlab.com/edent/activity-bot/
  • 0 Votes
    1 Posts
    15 Views
    Apologies in advance if I misrepresented anybody or missed any crucial bits of information. Jesse Karmani (jesseplusplus@mastodon.social), Ted Thibodeau Jr. (tallted@mastodon.social, and Julian Lam (julian@activitypub.space) in attendance Julian provided an update on adoption of FEP 7888 Both Piefed and Lemmy have adopted 7888, and will begin publishing resolvable context collections in their next release Jesse opened a PR to Mastodon, which received preliminary approval from Gargron@mastodon.social (ed. it was later merged, rolled back, updated, a new PR opened, which was then merged) This PR is the first of two planned pull requests. The first generates the outgoing context (the same as what Lemmy/Piefed have done recently) The seconds handles incoming contexts and backfills Jesse was asked whether it would conflict with existing reply-tree crawling methods, but the two are complementary. She expects additional discussion before the PR is opened. Julian noted that it would be helpful if statistics/analytics were gathered by the Mastodon team to see how conversation contexts and backfill works at scale; admits that existing implementations and testing has been small scale and may not reflect real-world usage. Julian noted that Lemmy's implementation (nutomic@lemmy.ml) does not paginate their resolvable context implementation. All objects are listed in one OrderedCollection Jesse noted that she followed Mastodon's pagination convention for collections. Context inheritance Julian asked for opinions on whether contexts were inherited in existing implementations. Notes that NodeBB inherits parent context, but checks further up the known parent chain for further contexts Julian admits that not everybody can and should do this, is also not sure anymore whether NodeBB actually does this. Julian notes the ideal implementation would be every object referencing their immediate parent, which would lead to the entire collection referring to the same context collection. Jesse: Decodon inherits immediate parent context only Ted: notes that this is a reinvention of inReplyTo Julian and Jesse note that there are marked differences between crawling the reply chain. A short discussion about how netnews and usenet handled reply chains was had. Julian notes that Lemmy will not inherit context. Every object will point back to its own server's context collection. This was a conscious decision by Nutomic as each instance is meant to consider its own representation of remote content as the canonical representation ActivityPub.Space Julian made a short shout-out to a new site called ActivityPub.Space, meant to be a hub for AP development discussions ("A federated space for ActivityPub discussions so that they don’t just get lost in ephemeral replies") A short double-back to NNTP and how they approach "eventual consistency" Ted: “Cloud of NNTP servers are all hosts of articles and replies.” Strictly speaking it’s not a reply tree as replies can be inReplyTo multiple parents