Federating downvotes on instances that don't support downvotes - Answered

Ada@lemmy.blahaj.zone to Lemmy@lemmy.ml – 44 points –

Lets say that an instance doesn't allow downvotes called NoDownvotesInstance. That instance hosts a community called NoDownvotesCommunity.

Now, lets say someone on another instance that does allow downvotes places a downvote on a post made to NoDownvotesCommunity. Does NoDownvotesInstance federate that downvote out so that other instance with downvotes can see it, or does it just drop the downvote so that it goes no further?

Edit - @pe1uca@lemmy.pe1uca.dev has answered this, with evidence. Despite the highest upvoted reply suggesting otherwise, it appears as that instances with disabled downvotes do not federate downvotes on.

14

votes are federated. instances that don't support downvotes only display upvotes.

But do they just don’t display them or do they really don’t use them, like could you change the „top“ sorting of any NoDownvotesCommunity just by accessing it from another instance and place downvotes

Downvotes are simply not part of the algorithm on instances that disable them

if you're on an instance that does not support downvotes, it only displays upvotes. if you're on an instance which does support downvotes it displays both. I'm not really sure how I'm being unclear.

They're asking about the total score. The better way to explain it is that there is not a total score, there is just the upvote count listed as the score. Downvotes and the calculated score based on upvote/downvotes are ignored.

You said they don’t display the downvotes, I asked if the algorithm that does the sorting still uses them (since they’re federated so the info is technically there and can be seen by other instances) or if it also ignores them.

But the question has now been answered below so it’s all clear

Right. Which is why I assume that even downvotes get federated by instances that disable downvotes. But I was hoping for something more solid than an assumption :)

I think is the latter.
IIRC in the code when receiving the downvote the instance just rejects it.
So only in the instance where it was generated gets recorded.

Edit: here's the rejection message. I can't see the whole flow since I'm not at my PC, but it's inside a verify function, so I assume it gets called right when the activity is received before being processed.
https://github.com/LemmyNet/lemmy/blob/main/crates/apub/src/activities/voting/vote.rs#L66

Thanks! That's my going to create some interesting variations in viewing across instances. If you're on a mega instance that allows downvotes, you'll presumably still see at least some downvotes

[Meta/off-topic] Thank you for adding "answered" to the thread title. This should be common practice.