What would cross-posting between instances look like in ActivityPub?

julian @julian@community.nodebb.org

<p>Following up on <a href="https://community.nodebb.org/topic/18735/how-do-piefed-lemmy-mbin-handle-cross-posting">this question I asked back in late March</a>, I wanted to continue thinking about how one would handle cross-posting between categories/communities, given that there isn't current consensus on it, and <em>especially</em> given that NodeBB—as of v4.3.0—<a href="https://community.nodebb.org/topic/18788/nodebb-v4.3.0-remote-categories-are-a-go">can now see and browse remote categories</a>.</p> <p>From that original topic, we can distil the following:</p> <ol> <li>Both PieFed and Mbin do not natively handle cross-posts, a new entity is made with the crucial bits (link, text, possibly title) copied over and changed if needed, sometimes a <em>"cross-posted from..."</em> helper text is prepended.</li> <li>There are legitimate concerns that a cross-post might not succeed depending on privilege settings on the receiving end, so a pre-flight check (or explicit rejection) of some kind might be required.</li> <li>Cross-posting can be done by the original author, or another user.</li> </ol> <p>So were an FEP to be written, we'd center it around the following assumptions:</p> <ul> <li>"A user (which may or may not be the object author) is sharing an object to additional audiences"</li> <li>We would use the existing <code>Announce(Object)</code> model</li> <li>We would not use <code>Announce(Activity)</code> because it is not the original object <em>creation</em> that is being announced, but the object itself, to a new audience.</li> <li>Some form of <code>Reject</code> handling would be required for cases where the cross-post is not allowed</li> <li>How the receiver handles the activity is out-of-scope of the FEP. It could be that the original object is contained within multiple categories/communities, or a duplicate object could be created — implementor's choice.</li> </ul> <p>This is <strong>very similar</strong> to an existing announce/boost/reshare, except that instead of addressing the activity to followers list you are addressing it to a group actor's inbox.</p> <p>Some additional questions:</p> <ol> <li>Is there desire from PieFed/Lemmy/Mbin for supporting incoming (and possibly outgoing) federation of cross-posting?</li> <li>What exactly happens currently if a Group actor receives an <code>Announce(Object)</code>? My guess is nothing, currently, but let me know otherwise :smile:</li> <li>Would this allow you to accept cross-posts from other AP applications without needing to refactor any existing code?</li> <li>Duplicating the object would mean the discussion is split between objects. The ideal implementation would be the <strong>same</strong> object present in multiple categories/communities. Is there desire for this in the threadiverse?</li> </ol> <p><a href="https://piefed.social/u/rimu">@<bdi>rimu@piefed.social</bdi></a> <a href="https://piefed.social/u/andrew_s">@<bdi>andrew_s@piefed.social</bdi></a> <a href="https://kbin.melroy.org/u/melroy">@<bdi>melroy@kbin.melroy.org</bdi></a> <a href="https://gehirneimer.de/u/BentiGorlich">@<bdi>bentigorlich@gehirneimer.de</bdi></a> <a href="https://lemmy.ml/u/nutomic">@<bdi>nutomic@lemmy.ml</bdi></a> <a href="https://mastodon.social/@angusmcleod">@<bdi>angusmcleod@mastodon.social</bdi></a></p>

Read more →
0
0

If you have a fediverse account, you can quote this note from your own instance. Search https://community.nodebb.org/post/104428 on your instance and quote it. (Note that quoting is not supported in Mastodon.)