diff options
author | 2025-01-31 19:27:18 +0100 | |
---|---|---|
committer | 2025-01-31 19:27:18 +0100 | |
commit | a55bd6d2bd7b11aed653f4614836caed4103bec3 (patch) | |
tree | 40ddcac7b495307d3c08c482455f88e3598952b6 /internal/processing | |
parent | [chore] Add "object" uri to outgoing Accept + Reject messages (#3717) (diff) | |
download | gotosocial-a55bd6d2bd7b11aed653f4614836caed4103bec3.tar.xz |
[feature] Add `instance-stats-randomize` config option (#3718)
* [feature] Add `instance-stats-randomize` config option
* don't use cache (overkill)
Diffstat (limited to 'internal/processing')
-rw-r--r-- | internal/processing/fedi/wellknown.go | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/internal/processing/fedi/wellknown.go b/internal/processing/fedi/wellknown.go index 4784b4bf7..ac92370c8 100644 --- a/internal/processing/fedi/wellknown.go +++ b/internal/processing/fedi/wellknown.go @@ -65,16 +65,30 @@ func (p *Processor) NodeInfoRelGet(ctx context.Context) (*apimodel.WellKnownResp // NodeInfoGet returns a node info struct in response to a node info request. func (p *Processor) NodeInfoGet(ctx context.Context) (*apimodel.Nodeinfo, gtserror.WithCode) { - host := config.GetHost() + var ( + userCount int + postCount int + err error + ) - userCount, err := p.state.DB.CountInstanceUsers(ctx, host) - if err != nil { - return nil, gtserror.NewErrorInternalError(err) - } + if config.GetInstanceStatsRandomize() { + // Use randomized stats. + stats := p.converter.RandomStats() + userCount = int(stats.TotalUsers) + postCount = int(stats.Statuses) + } else { + // Count actual stats. + host := config.GetHost() - postCount, err := p.state.DB.CountInstanceStatuses(ctx, host) - if err != nil { - return nil, gtserror.NewErrorInternalError(err) + userCount, err = p.state.DB.CountInstanceUsers(ctx, host) + if err != nil { + return nil, gtserror.NewErrorInternalError(err) + } + + postCount, err = p.state.DB.CountInstanceStatuses(ctx, host) + if err != nil { + return nil, gtserror.NewErrorInternalError(err) + } } return &apimodel.Nodeinfo{ |