[Alts] Server-side search controls, IP counts, adjustable window

Plumbs the match-type chips through to the server: include_email/include_clientid/include_ip skip disabled identifier types in both matching and frontier expansion, so excluded types (e.g. throwaway domains) never enter the graph at any depth. Session lookback becomes adjustable (session_months, clamped 1-24, default 6). Each alt row carries ip_count, the distinct recent session IP count shown in a new IPs column. All proto additions are optional with old defaults, so old clients/servers interoperate.
This commit is contained in:
Lukas Brübach 2026-10-13 22:31:50 +02:00 • committed by Lukas Brübach
parent b715e18dfc
commit 7824acbd09
7 changed files with 142 additions and 45 deletions

View file

@ -2596,7 +2596,9 @@ Response::ResponseCode AbstractServerSocketInterface::cmdGetUserAlts(const Comma
Response_UserAlts *re = new Response_UserAlts;
const int depth = cmd.has_depth() ? static_cast<int>(cmd.depth()) : 1;
const QList<ServerInfo_UserAlt> alts = sqlInterface->getUserAlts(userName, depth);
const int sessionMonths = cmd.has_session_months() ? static_cast<int>(cmd.session_months()) : 6;
const QList<ServerInfo_UserAlt> alts = sqlInterface->getUserAlts(
userName, depth, cmd.include_email(), cmd.include_clientid(), cmd.include_ip(), sessionMonths);
for (const ServerInfo_UserAlt &alt : alts) {
re->add_alts()->CopyFrom(alt);
}