Federated private groups (Announce vs Add)

@sk@utsukta.org mentioned in another thread that the way Hubzilla and threadiverse software handle group discussions is incompatible.

It got me thinking about whether that is true. At its core both FEPs (171b and 1b12, respectively) rely on a central "distributor" node to send activities to recipients.

@silverpill@mitra.social did further comparisons in thr text of 171b itself:

> Announce activity is used instead of Add. Conversation and related activities are synchronized between participants, but conversation backfilling mechanism is not specified.

The questions here are:

  1. If threadiverse software federated out an Add in addition to Announce, would that satisfy basic synchronization (not backfill) requirements laid out by 171b?
  2. Is there any reason why Announce could not be used to facilitate private federated group discussions as well? Assuming visibility maintains scoped to addresses, I don't see any immediate reason why not...
0 points · 10 comments · view on lemmy.world

10 Comments

nutomic@lemmy.ml · 2 pts · 183d (1 reply)

Is there any reason why Announce could not be used to facilitate private federated group discussions as well? Assuming visibility maintains scoped to addresses, I don’t see any immediate reason why not…

Private communities are already implemented in Lemmy 1.0 using Announce. Here is the RFC with details, and you can test it on voyager.lemmy.ml.

julian@activitypub.space · 1 pts · 183d

Thanks @nutomic@lemmy.ml! I was wondering about that, so good to know it's possible.

silverpill@mitra.social · 0 pts · 190d (7 replies)

@julian @sk

I wouldn't want to send two activities because that doubles the number of delivery requests. But I think implementations can easily accept both types of activities (mitra already does that).

Also, I don't mind replacing Add with Announce in FEP-171b. It is nice that Add has a Remove counterpart, but Remove is not used in practice. Of course, this can only happen if Hubzilla and Forte devs agree, since these are reference implementations

cc @mario @highlander

mario@hub.somaton.com · 0 pts · 190d (6 replies)

@silverpill imo using Announce instead of Add does not make any sense for conversation containers. You add/remove items to a collection right?

@julian @Mike Macgirvin

silverpill@mitra.social · 0 pts · 190d (5 replies)

@mario Yes, activities are supposed to be added to Add.target. Announce with target is kind of weird, but will be compatible with other federated forums.

Alternatively, they can start using Add instead of Announce, like we do. @julian Does that sound feasible? Your personal inbox still 404s but maybe the group inbox will work.

@mike @sk

julian@activitypub.space · 0 pts · 184d (4 replies)

> @silverpill@mitra.social said: > > Alternatively, they can start using Add instead of Announce, like we do. @julian Does that sound feasible?

I personally have no problem with it (after all, I advocated in OP to just send both activities)

But I know @nutomic@lemmy.ml will absolutely veto the discussion because it is a breaking change for the entire threadiverse, and he is not wrong.

There is a third option... and that is to send a single multi-typed activity 🤣 maybe this is the turning point for adoption of multi type activities! (Of course I'm only half joking because I'm sure that'll be ruled breaking and unfeasible too.)

cc @mario@hub.somaton.com

silverpill@mitra.social · 1 pts · 183d (3 replies)

@julian I think Lemmy can keep sending Announce, but accept Add(Activity) as equivalent. FEP-171b implementers can do the reverse. That's easy and doesn't require any breaking changes. @nutomic @mario

Please don't use multi-typing :]

nutomic@lemmy.ml · 2 pts · 183d

Yes that would be doable, feel free to open an issue.

julian@activitypub.space · 1 pts · 183d (1 reply)

Is this what Mitra does now for 171b/1b12 cross-compatibility?

silverpill@mitra.social · 2 pts · 183d

@julian @mario Yes, it supports both Add and Announce. However, wrapped activities are simply added to a conversation, there is no concept of "group" yet.