1b12 vs Guppe groups
-
@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.
-
@nutomic@lemmy.ml could you provide some clarification/insight please
-
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).
-
@julian FEP-1b12 only works with activities,
but Lemmy also announces Page objects for (micro)blogs.https://socialhub.activitypub.rocks/ap/object/443fb143373ebc5a4df190cddcd2da1f
-
@julian FEP-1b12 only works with activities,
but Lemmy also announces Page objects for (micro)blogs.https://socialhub.activitypub.rocks/ap/object/443fb143373ebc5a4df190cddcd2da1f
@silverpill@mitra.social ah yes, thanks for reminding me of this.
When I refactored my 1b12 implementation, I actually removed the second
Announce(Object)
, but I think I will add it back. -
Lemmy definitely sends
Announce/Create/Note
to all followers (but notAnnounce/Note
). Maybe Mastodon made a change recently to ignore those, because people used to complain a lot about their timeline being full of comments after following a Lemmy community.Edit: Nice to see that federation between NodeBB and Lemmy is working now!
-
@nutomic@lemmy.ml could you provide some clarification/insight please
Thanks I replied above.
-
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. -
julian:
When I refactored my 1b12 implementation, I actually removed the second
Announce(Object)
, but I think I will add it back.I would gently suggest that sending both
Announce(Object)
andAnnounce(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. -
julian:
When I refactored my 1b12 implementation, I actually removed the second
Announce(Object)
, but I think I will add it back.I would gently suggest that sending both
Announce(Object)
andAnnounce(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
-
You're not wrong. I would make a PR to mastodon, but I fear it would languish in review for years. There has to be a better solution to this though.
@julian Say if we were to make a PR to Mastodon to address this issue what is your take on the lightest touch change we could propose?
-
You're not wrong. I would make a PR to mastodon, but I fear it would languish in review for years. There has to be a better solution to this though.
@julian Say if we were to make a PR to Mastodon to address this issue what is your take on the lightest touch change we could propose?
I have updated NodeBB (
develop
, so v4.1 whenever it drops) so that it conforms with 1b12 per spec:- Only activities will be
Announce
'd - The plain object will be
Announce
'd if the activity is of typeCreate
, and it is the top level post
- Only activities will be
-
> a PR to Mastodon
@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.