You made me curious, so I checked the source code for both comments and posts. This information isn’t available to anybody without direct database access, but your admins in theory could check in the database what you’ve voted on.
Presumably this is necessary for debug reasons and to avoid double-voting, or even worse spam-voting. Reddit has this info in their databases too, I’m pretty sure, for similar reasons.
I’m pretty confident that only vote totals are federated, not who voted for what, so this is restricted to your own instance admin
I haven’t seen a database yet (Thinking of spinning up my own…) but I’d imagine it’s actually that your vote history is saved on the instance of the thing you voted on. So if you are from shitjustworks and upvote a post in a community in LemmyWorld, I’d imagine LemmyWorld’s database says upvote from user xyz@shitjustworks on post/comment abc.
This is my educated guess on how it works. I could be wrong, but keeping a users upvotes saved on the users local instance would be pretty impractical. I think it’s more aptly that an admin can see who upvoted things on their instance but can’t see everything their user’s have upvoted and everything that visitors have upvoted in their lifetime. Just their interaction with their particular communities. I imagine (Again, if I’m right) that’s why there’s no total karma for a user because keeping track of that would be a pain in the ass.
The way federation works is that when you subscribe, that community gets “pulled in” to your local instance. So when you go to https://myinstance.com/c/community@someotherinstance.com, what’s actually happening is that you’re interacting with a local cached copy of that community. Your instance then federates your interactions back out regularly, along with any other users from your instance that have interacted.
So, TL;DR: it actually makes perfect sense that the user - vote connection remains local
You made me curious, so I checked the source code for both comments and posts. This information isn’t available to anybody without direct database access, but your admins in theory could check in the database what you’ve voted on.
Presumably this is necessary for debug reasons and to avoid double-voting, or even worse spam-voting. Reddit has this info in their databases too, I’m pretty sure, for similar reasons.
I’m pretty confident that only vote totals are federated, not who voted for what, so this is restricted to your own instance admin
I haven’t seen a database yet (Thinking of spinning up my own…) but I’d imagine it’s actually that your vote history is saved on the instance of the thing you voted on. So if you are from shitjustworks and upvote a post in a community in LemmyWorld, I’d imagine LemmyWorld’s database says upvote from user xyz@shitjustworks on post/comment abc.
This is my educated guess on how it works. I could be wrong, but keeping a users upvotes saved on the users local instance would be pretty impractical. I think it’s more aptly that an admin can see who upvoted things on their instance but can’t see everything their user’s have upvoted and everything that visitors have upvoted in their lifetime. Just their interaction with their particular communities. I imagine (Again, if I’m right) that’s why there’s no total karma for a user because keeping track of that would be a pain in the ass.
The way federation works is that when you subscribe, that community gets “pulled in” to your local instance. So when you go to https://myinstance.com/c/community@someotherinstance.com, what’s actually happening is that you’re interacting with a local cached copy of that community. Your instance then federates your interactions back out regularly, along with any other users from your instance that have interacted.
So, TL;DR: it actually makes perfect sense that the user - vote connection remains local