Server locations: no user threshold
The public projection of a server's place showed only the country for servers reporting fewer than 10 users. The owner never decided that threshold: every located server now shows its city, coordinates (0.1°) and network, and a CDN-fronted one still shows only its CDN, since the address reached is the CDN's edge. Statistics:PublicCityMinUsers is gone; the ROADMAP decision on server locations, CLAUDE.md and the /stargazing explainer are corrected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
1 parent
31d1d21d1e
commit
eb7552e8f3
9 files changed
+56
-57
No files matched your search
@@ -6,18 +6,17 @@ namespace PrivaPub.Domain.Statistics
|
||||
|
||||
public static class PublicGeo
|
||||
{
|
||||
//owner decision: a CDN-fronted server shows only its CDN (the address is an edge), a server reporting at least
|
||||
//minUsers users its city, coordinates and network, any other only its country
|
||||
public static PublicLocation Project(RemoteInstance instance, int minUsers)
|
||||
//a server's place as it is shown publicly: where it was located (country, city, coordinates to 0.1°, network),
|
||||
//except that a CDN-fronted server shows only its CDN, because the address we reached is the CDN's edge
|
||||
public static PublicLocation Project(InstanceGeo geo)
|
||||
{
|
||||
var geo = instance?.Geo;
|
||||
if (geo == default)
|
||||
return default;
|
||||
if (geo.Cdn != default)
|
||||
return new PublicLocation(default, default, default, default, default, geo.Cdn);
|
||||
if (instance.UsersTotal >= minUsers)
|
||||
return new PublicLocation(geo.Country, geo.City, geo.Latitude, geo.Longitude, geo.AsnOrg, default);
|
||||
return geo.Country == default ? default : new PublicLocation(geo.Country, default, default, default, default, default);
|
||||
if (geo.Country == default && geo.Latitude == default)
|
||||
return default;
|
||||
return new PublicLocation(geo.Country, geo.City, geo.Latitude, geo.Longitude, geo.AsnOrg, default);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user