feat: update node IP and delay info on connect (#10050)

* feat: update node IP and delay info on connect

* Adjust

---------

Co-authored-by: 2dust <31833384+2dust@users.noreply.github.com>
This commit is contained in:
Loukky
2026-09-02 16:46:15 +08:00
committed by GitHub
co-authored by 2dust
parent f62eaab8c5
commit f03db020fa
4 changed files with 36 additions and 7 deletions
@@ -324,20 +324,32 @@ public partial class StatusBarViewModel : MyReactiveObject
SetDefaultServerRequested.Publish(SelectedServer.ID);
}
public async Task TestServerAvailability()
public async Task<AvailabilityCheckResult?> TestServerAvailability()
{
var item = await ConfigHandler.GetDefaultServer(_config);
if (item == null)
{
return;
return null;
}
await TestServerAvailabilitySub(ResUI.Speedtesting);
var msg = await Task.Run(ConnectionHandler.RunAvailabilityCheck);
var result = await Task.Run(ConnectionHandler.RunAvailabilityCheck);
var msg = string.Format(ResUI.TestMeOutput, result.Time, result.Ip);
var ip = result.GetValidIp();
if (ip.IsNotEmpty())
{
ProfileExManager.Instance.SetTestIpInfo(item.IndexId, ip);
}
if (result.Time > 0)
{
ProfileExManager.Instance.SetTestDelay(item.IndexId, result.Time);
}
NoticeManager.Instance.SendMessageEx(msg);
await TestServerAvailabilitySub(msg);
return result;
}
private async Task TestServerAvailabilitySub(string msg)