lemmy icon indicating copy to clipboard operation
lemmy copied to clipboard

[Bug]: Nodeinfo misreports user count

Open ThatOneCalculator opened this issue 1 year ago • 3 comments

Requirements

  • [X] Is this a bug report? For questions or discussions use https://lemmy.ml/c/lemmy_support
  • [X] Did you check to see if this issue already exists?
  • [X] Is this only a single bug? Do not put multiple bugs in one issue.
  • [X] Is this a backend issue? Use the lemmy-ui repo for UI / frontend issues.

Summary

Lemmy's Nodeinfo (used by Fediverse trackers and whatnot) reports usage.users.total as (what I assume to be) the number of discovered users, not the number of local users. This makes many sites like FediDB believe that every single Lemmy instance has tens or hundreds of thousands of users.

For example, let's look at https://cubing.social/nodeinfo/2.0.json :

{
  "version": "2.0",
  "software": {
    "name": "lemmy",
    "version": "0.17.3"
  },
  "protocols": [
    "activitypub"
  ],
  "usage": {
    "users": {
      "total": 74234,
      "activeHalfyear": 5,
      "activeMonth": 5
    },
    "localPosts": 2,
    "localComments": 5
  },
  "openRegistrations": true
}

That total section under usage > users is supposed to be for how many users signed up for that Lemmy instance. Instead, we see reports like this on FediDB:

image

Steps to Reproduce

  1. Access nodeinfo (2.0)
  2. Observe

Technical Details

N/A

Version

0.17.3, although observed on dead 0.18x servers as well.

Lemmy Instance URL

Seemingly all. Used https://cubing.social/ as example.

ThatOneCalculator avatar Jun 30 '23 04:06 ThatOneCalculator

Hey 👋

The data is correct. There are currently a lot of spam-bot infested instances. Look at active user counts instead of total user counts to get a more realistic idea of how many people are on Lemmy.

You can check this post for more info: https://lemm.ee/post/177673

sunaurus avatar Jun 30 '23 06:06 sunaurus

Ah, gotcha. I'll close this as invalid then.

ThatOneCalculator avatar Jun 30 '23 07:06 ThatOneCalculator

reports usage.users.total as (what I assume to be) the number of discovered users, not the number of local users.

My server is doing as described, reporting the size of the persons table for federated instances, not the number of local users with passwords. So I think this bug is legit? What am I missing?

If this were an email system, the number reflects the size of the address book... not the number of users with logins and passwords on that Instance.

RocketDerp avatar Jun 30 '23 10:06 RocketDerp

@RocketDerp I don't believe this is typical, I have not seen it on any other server. Can you link your nodeinfo/2.0.json, as well as share the output of the following queries:

SELECT COUNT(*) FROM site_aggregates WHERE site_id = 1; SELECT COUNT(*) FROM local_user;

sunaurus avatar Jul 06 '23 13:07 sunaurus

In the week that has passed, I've updated my server, and now it is correctly reporting the local number (9). {"version":"2.0","software":{"name":"lemmy","version":"0.18.1-rc.9-10-g45b1a0d4f"},"protocols":["activitypub"],"usage":{"users":{"total":9,"activeHalfyear":3,"activeMonth":3},"localPosts":15,"localComments":36},"openRegistrations":false}

RocketDerp avatar Jul 06 '23 13:07 RocketDerp

Cool, closing this again! If anybody can reproduce wrong counts on latest versions of Lemmy, please open a new issue.

sunaurus avatar Jul 06 '23 13:07 sunaurus