You Should Know
YSK - for all the things that can make your life easier!
The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:
Rules (interactive)
Rule 1- All posts must begin with YSK.
All posts must begin with YSK. If you're a Mastodon user, then include YSK after @youshouldknow. This is a community to share tips and tricks that will help you improve your life.
Rule 2- Your post body text must include the reason "Why" YSK:
**In your post's text body, you must include the reason "Why" YSK: It’s helpful for readability, and informs readers about the importance of the content. **
Rule 3- Do not seek mental, medical and professional help here.
Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.
Rule 4- No self promotion or upvote-farming of any kind.
That's it.
Rule 5- No baiting or sealioning or promoting an agenda.
Posts and comments which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.
Rule 6- Regarding non-YSK posts.
Provided it is about the community itself, you may post non-YSK posts using the [META] tag on your post title.
Rule 7- You can't harass or disturb other members.
If you harass or discriminate against any individual member, you will be removed.
If you are a member, sympathizer or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people and you were provably vocal about your hate, then you will be banned on sight.
For further explanation, clarification and feedback about this rule, you may follow this link.
Rule 8- All comments should try to stay relevant to their parent content.
Rule 9- Reposts from other platforms are not allowed.
Let everyone have their own content.
Rule 10- The majority of bots aren't allowed to participate here.
Unless included in our Whitelist for Bots, your bot will not be allowed to participate in this community. To have your bot whitelisted, please contact the moderators for a short review.
Partnered Communities:
You can view our partnered communities list by following this link. To partner with our community and be included, you are free to message the moderators or comment on a pinned post.
Community Moderation
For inquiry on becoming a moderator of this community, you may comment on the pinned post of the time, or simply shoot a message to the current moderators.
Credits
Our icon(masterpiece) was made by @clen15!
view the rest of the comments
I'm not convinced it's a federation issue, it seems more like it's by design. After all, it does show you the active user counts. Presumably you could get the total subscribers count just by having an API call to the home community to ask for it.
I'm going to share a sentence my father blew my mind with when I was 16:
"Unreliability is the internet's biggest, best feature."
By this, he meant that the internet is extremely fail tolerant; one server, one site, one component goes down, the rest of it keeps working.
I think that's at play here. An instance can keep up with its own local members and subscribers, I imagine that's just a database operation, MySQL or something. But when trying to total up total number of subscribers from other instances, very realistic problems start to pop up.
A member from Instance A subscribes to a community on Instance B. How does Instance B keep up with that subscription? A sends B a message that someone has subscribed, so it adds an entry to a "foreign subscribers" list? Cool. And I suppose an "unsubscribe" message would also be sent to remove that entry, right?
What if that user deletes their account or it's banned? What if Instance A just...shuts down one day and never boots back up? You'll end up with these ghost entries inflating numbers. It's not an easy problem to work around.
At a high level you've pretty much nailed what is happening.
Lemmy federates these to let other instances know. Check the mod log (link at bottom of every lemmy instance website) to see the record of this.
This is already an issue, but a solvable one. Currently some instances are blocking hundreds of other instances that used to exist but no longer do, because Lemmy keeps trying to contact them and when it fails it retries. It's causing instances big performance issues.
But the solution probably isn't that hard. Someone smarter than me can work it out but I imagine it working something like retry every 5 mins for an hour, every hour for a week, then don't retry until you get a new request from that instance (e.g. for one of their users to subscribe to a community on your instance).
In fact, Mastodon is a lot more mature than Lemmy and I expect would have the same problem, so we can probably copy whatever their solution is.
I imagine the simplest solution would be to add up the subscriber count of each instance you're federated with and show a 'federated subscribers' count per community.
The instance that the community is on has the total list, and since the active user count is accurate I presume it's already sending that information in some way. Easiest would be to include it with that data, I'd think.