summaryrefslogtreecommitdiff
path: root/internal/processing
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2025-01-31 19:27:18 +0100
committerLibravatar GitHub <noreply@github.com>2025-01-31 19:27:18 +0100
commita55bd6d2bd7b11aed653f4614836caed4103bec3 (patch)
tree40ddcac7b495307d3c08c482455f88e3598952b6 /internal/processing
parent[chore] Add "object" uri to outgoing Accept + Reject messages (#3717) (diff)
downloadgotosocial-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.go30
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{