What would cross-posting between instances look like in ActivityPub?
-
@julian @rimu @andrew_s @melroy @BentiGorlich @nutomic @angusmcleod say I make a video and post it somewhere I can set comments subject to approval. A forum or link aggregator whose moderation I trust posts a link to my video. I think I would like to approve a whole discussion that I am confident is moderated appropriately, but not all discussions, and also treat my reactions to individual comments as approvals for display at the publication site.
So I think I would want granularity, deciding whether my content is linked or cross posted, and whether I want to treat the remote discussion as a cross post to my comments section. But I would definitely want it to be the same object. In as far as I would have any duplication the cross post would be best thought of as nested under the post object.
-
@julian @kirkmoodey Mastodon is currently working on a spec for their groups implementation. Maybe get everybody together to hash out a common spec, including those who already have a group implementation like Friendica/Hubzilla, Misskey/IceShrimp/Sharkey, Pleroma/Akkoma?
-
IMO The simplest way would be to garnish a bit of extra data onto the normal FEP 1b12 process. Create a new post (Create -> Page to the instance that hosts the community, which in turn does Announce -> Create -> Page to followers) and add an extra field to the `Page` which is the URL of the original post. That will establish the association. To reject the cross-post, return HTTP 400 (403?) to the POST to the inbox on the initial Create -> Page ? Or send a Reject activity, either way is fine but the 400 seems easiest. Lemmy returns 400 for a lot of things, PieFed just blindly accepts everything.
-
@julian @kirkmoodey Mastodon is currently working on a spec for their groups implementation. Maybe get everybody together to hash out a common spec, including those who already have a group implementation like Friendica/Hubzilla, Misskey/IceShrimp/Sharkey, Pleroma/Akkoma?
-
>Duplicating the object would mean the discussion is split between objects. The ideal implementation would be the **same** object present in multiple categories/communities. Is there desire for this in the threadiverse? If the link goes to a controversial news article and it's get posted into pro- and against- community/group the comments will spiral out of control and it won't be a pleasant place. Maybe it could be implemented as a toggle per group/instance within one fedi software. It shouldn't be in Activity Pub protocol.
-
gunchleoc:
Mastodon is currently working on a spec for their groups implementation.
Any links to this and/or discussion of how it relates to other FEPs?
Add groups support by ClearlyClaire · Pull Request #19059 · mastodon/mastodon
⚠️ Do not merge ⚠️ This PR is not intended to be merged outside of purely development environments until it's finished. While it has reached a pretty stable state, groups are a complicated topic, ...
GitHub (github.com)
-
Add groups support by ClearlyClaire · Pull Request #19059 · mastodon/mastodon
⚠️ Do not merge ⚠️ This PR is not intended to be merged outside of purely development environments until it's finished. While it has reached a pretty stable state, groups are a complicated topic, ...
GitHub (github.com)
THanks ... turns out I knew about that: the implementation for the NLNet grant, but never released. My impression is that it's been on hold since then, and there's so much other discussions of group-releated FEPs that I certainly hope they'll incorporate newer thinking if and when it moves forward.
-
THanks ... turns out I knew about that: the implementation for the NLNet grant, but never released. My impression is that it's been on hold since then, and there's so much other discussions of group-releated FEPs that I certainly hope they'll incorporate newer thinking if and when it moves forward.
I haven't looked into the differences between their implementation and how groups are implemented using 1b12, but what I have discovered is that the 1b12 community is much larger than I gave it credit for. -
How would this work on the NodeBB side? Multiple categories associated with one topic?
-
[projectmoon@forum.agnos.is](https://community.nodebb.org/user/projectmoon%40forum.agnos.is) basically, yes. It would be a little too involved to upend the entire system to support **multiple cids per topic** — a lot of our existing code relies on `cid` being a single value. This would be an add-on logic of sorts, where each topic has a _canonical category_, but can also be cross-posted to other communities/categories.
-
IMO The simplest way would be to garnish a bit of extra data onto the normal FEP 1b12 process. Create a new post (Create -> Page to the instance that hosts the community, which in turn does Announce -> Create -> Page to followers) and add an extra field to the `Page` which is the URL of the original post. That will establish the association. To reject the cross-post, return HTTP 400 (403?) to the POST to the inbox on the initial Create -> Page ? Or send a Reject activity, either way is fine but the 400 seems easiest. Lemmy returns 400 for a lot of things, PieFed just blindly accepts everything.Hey [rimu@piefed.social](https://community.nodebb.org/user/rimu%40piefed.social) thanks for responding (and sorry for the late reply!) I am not married to the `Announce([Article|Note|Page])` approach, so I am definitely open to `Create([Article|Note|Page])` with a back-reference. I think I went the former direction because there is a known fallback mechanism — the `Announce` is treated as a share/boost/repost as normal. However, sending the `Create` also is fine I think. 1. However, **do we need a backreference**? In my limited research, it seems that Piefed, et al. picks the first `Group` actor and associates the post with that community. If I sent over a `Create(Article)` with two `Group` actors addressed, could Piefed associate the post with the first, and initiate a cross-post with the remaining `Group` actors? 2. Secondly, is how to handle sync. 1b12 relies on communities having reciprocal followers in order for two-way synchronization to be established. On my end since I know it is cross-posted I will now send `1b12` activities to cross-posted communities, but can Piefed, et al. send 1b12 activities back as well, _in the absence of followers_? cc [andrew_s@piefed.social](https://community.nodebb.org/user/andrew_s%40piefed.social) [nutomic@lemmy.ml](https://community.nodebb.org/user/nutomic%40lemmy.ml) [melroy@kbin.melroy.org](https://community.nodebb.org/user/melroy%40kbin.melroy.org) [bentigorlich@gehirneimer.de](https://community.nodebb.org/user/bentigorlich%40gehirneimer.de)