@panos brought up something interesting recently, which is that Lemmy communities don't boost everything (at least when viewed from Mastodon), but just the original post.
I wasn't sure whether this was intentional (because 1b12 definitely specifies that everything is boosted, replies and all). The only explanation I can think of is that 1b12 boosts activities, and Mastodon doesn't understand that, so it's actually an implementation quirk that causes Mastodon to not actually see the entire conversation.
NodeBB used to Announce(Note)andAnnounce(Create(Note)), and it meant that Mastodon was seeing everything. This was desirable from a synchronization standpoint, but it meant everything was going into Mastodon user feeds, which was @panos' concern.
I think Guppe (which is kind of like 1b12? Not sure) boosts everything, but again, am not 100% sure.
Guppe Announces the original post, and the replies to it, but doesn't Announce anything else. For the replies, it also does what PeerTube does and sends out them unsigned, for instances to verify using the LD signature in the activity, or to fetch from the source. If you want to meaningfully vote on something that came from a.gup.pe, you have to send it to the original author, not to a.gup.pe like you would if you were voting from something from Lemmy, because a.gup.pe will just silently drop it.
Lemmy's communities Announce everything, but Mastodon only comprehends Announce as a Boost, so it just rejects the Announce of anything that's not a Page or a Note. There are other platforms though (e.g. Friendica) who will see the Announce of a Like, and go fetch it from it's source (most non-Lemmy platforms don't trust Lemmy-style Announces, because whilst it's against the spec for Announce contents not to be an exact copy of the original activity, there's nothing stopping a rogue community from misrepresenting users or undoing their intentions).
I have been following a Lemmy community from Firefish and I only get original posts, you can see this behaviour here: https://electricrequiem.com/@comradeship@lemmygrad.ml
However Firefish has had problems with following Lemmy communities so this may not be the default behaviour from Mastodon.
Still, I do think that boosting all replies is not ideal, especially for busy forums. If a topic gets say 50 replies, it can really flood your timeline. Also personally I have set up my Firefish account to only show me original posts (and boosts), to have a cleaner and more compact timeline. With a forum account that boosts everything, you can't filter replies, they all end up in your timeline.
So my suggestion was to perhaps create two accounts for following a forum, one than boosts everything and one that boosts only original posts. This way users would get a choice, and if they find that following everything makes their timeline too busy, they can choose to get only original posts, instead of unfollowing the forum completely.
I recently switched the Discourse plugin back to only Announcing the first Create(Note) in a topic (Collection), but not replies, or updates, as announcing everything was causing issues with Mastodon.
I would gently suggest that sending both Announce(Object) and Announce(Create(Object)) to all followers for the same content is not a good solution to the problem. Yes, other implementors can come up with ways to handle that (I just deployed the Discourse solution to this duplication to SoicalHub), but it’s hardly ideal.
@angus@socialhub.activitypub.rocks the other side of the coin is that Mastodon simply doesn't get the replies to a conversation, which decreases the utility of following a category, no?
Rock and a hard place.
Ironically this helps my case that Mastodon should implement conversational context and backfill 😏
@angus@socialhub.activitypub.rocks I would hold off on that in favour of a PR to introduce context serving and consumption (a la 7888). There are still some issues to work through, but I intend to have it upstreamed (via @frequency@frequency.app) once we settle on a semi-final implementation.
I would advise not to outright open a PR to Mastodon, but reach out to us first and discuss what can be done, and what the plan for action should be.
We want to solve this problem of replies, but it has many complex impacts (how do we represent a conversation in Mastodon ? What about backward compat ? What is required on upgrading ?)
I am not an ActivityPub expert and not the best person to discuss this, but we can have a call together and see what needs to be done to improve the situation in Mastodon.
Hello @renchap, thanks for following up. I think the way to tackle this is a version of the following:
We agree on a normative approach to the use of context. <— Discourse, NodeBB, Wordpress and others essentially agree on this already, but it would be helpful to clarify and include folks from Mastodon.
We develop a generalised implementation agenda. Generalised, but with the needs of different platforms in mind.
Individual implementers adapted the generalised implementation agenda to their specific circumstances. However that works with their individual development cycles / practices.
I suggest we start work on 1 and 2 now and discuss them both further in person at the next Threadiverse Working Group meeting at the start of March. The group was set up to address these questions.
@devnull@trwnh@pfefferle If you’re on board with this, let’s seize this rare opportunity of having the relevant players involved and finally settle this question so we can move forward. If so, could one of you please start a new topic in ActivityPub > Threadiverse Working Group addressing where we’re currently at with 1 as you’re both better across this currently than I am.
Doesn’t this mean Mastodon users et al will no longer get boost notifications when their posts are reshared into a topic? If you’re never actually resharing the post itself, this prevents cleanly tracking all shares.
Thread creation in the threadiverse category would have to be @devnull as I don’t have permissions. But I want to quickly note that, while a lot of activity has happened very recently regarding this issue, there are outstanding concerns for what context resolves to and how to make use of various properties. This matters for future considerations on e.g. following a thread, locking a thread, and so on. I can go into more detail after @devnull makes that thread, and it will certainly come up on the agenda for March.
Silverpill, thanks for sharing that it works. It's odd because it doesn't work with NodeBB (I woke up this morning missing 4 replies); pulling one should've gotten all of them but I had to pull them one by one (and one of @trwnh@socialhub.activitypub.rocks's still can't make it in).
Sounds like an issue with me, but I'll take a closer look this morning.
@angus@socialhub.activitypub.rocks will do. There has been some movement on this recently and I'd love to keep it going (and keep Mastodon in the loop).
@renchap@oisaur.com, not to worry, I don't plan on making a PR without running it by your team first. I know these things take discussion 😅
I have my own thoughts on Jonny's reply collection backfill, although I will put those thoughts to paper later on.