* Feature: Add ResolvedExternalIPAddress to API and Master Communication
This commit introduces the `ResolvedExternalIPAddress` property to enhance IP address reporting.
1. **Server API (`WebfrontCore/Controllers/API/Server.cs`):**
The `ResolvedExternalIPAddress` property has been added to the JSON
responses for the `/api/server` endpoints. This property is nullable
and contains the IPv4 string value of the manager's external IP address
if the server's resolved IP endpoint is an internal address. Otherwise,
it is null.
2. **Master Server Communication (`MasterCommunication.cs` and `ApiServer.cs`):**
- The `ApiServer` DTO (in `Application/API/Master/ApiServer.cs`) now
includes the `ResolvedExternalIPAddress` property (serialized as
`resolved_external_ip_address`).
- The `UploadStatus` method in `Application/Misc/MasterCommunication.cs`
now populates this property for each server being reported to the
master server, using the same logic (external IP if server's own
resolved IP is internal).
This provides more comprehensive IP address information both through the
web API and to the master server.
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
exit properly whoops
add all linked accounts to drop down
consolidate linked admin accounts to the most recently seen one
limited some waits to 5s to hopefully prevent a rare thread lock