diff --git a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs
index b99a5550..1de7f492 100644
--- a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs
+++ b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs
@@ -248,6 +248,7 @@ namespace v2rayN.Handler
{
_coreHandler.CoreStopPid(pid);
}
+ UpdateFunc("", ResUI.SpeedtestingCompleted);
}
private async Task RunMixedtestAsync()
{
diff --git a/v2rayN/v2rayN/Resx/ResUI.Designer.cs b/v2rayN/v2rayN/Resx/ResUI.Designer.cs
index 7c38a0e3..367b776e 100644
--- a/v2rayN/v2rayN/Resx/ResUI.Designer.cs
+++ b/v2rayN/v2rayN/Resx/ResUI.Designer.cs
@@ -1761,6 +1761,15 @@ namespace v2rayN.Resx {
}
}
+ ///
+ /// 查找类似 Test completed 的本地化字符串。
+ ///
+ public static string SpeedtestingCompleted {
+ get {
+ return ResourceManager.GetString("SpeedtestingCompleted", resourceCulture);
+ }
+ }
+
///
/// 查找类似 Skip test 的本地化字符串。
///
diff --git a/v2rayN/v2rayN/Resx/ResUI.resx b/v2rayN/v2rayN/Resx/ResUI.resx
index d10ca625..84fdb0b9 100644
--- a/v2rayN/v2rayN/Resx/ResUI.resx
+++ b/v2rayN/v2rayN/Resx/ResUI.resx
@@ -1081,4 +1081,7 @@
Double-click server make active
+
+ Test completed
+
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx
index 02ff3a5b..c7ebfca1 100644
--- a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx
+++ b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx
@@ -1081,4 +1081,7 @@
主界面双击设为活动服务器
+
+ 测试完成
+
\ No newline at end of file
diff --git a/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs b/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs
index 6f7a6430..74f14556 100644
--- a/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs
+++ b/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs
@@ -591,7 +591,8 @@ namespace v2rayN.ViewModels
{
if (Utils.IsNullOrEmpty(indexId))
{
- _noticeHandler?.SendMessage(delay);
+ _noticeHandler?.SendMessage(delay, true);
+ _noticeHandler?.Enqueue(delay);
return;
}
var item = _profileItems.Where(it => it.indexId == indexId).FirstOrDefault();
@@ -1034,7 +1035,7 @@ namespace v2rayN.ViewModels
}
(new UpdateHandle()).RunAvailabilityCheck((bool success, string msg) =>
{
- _noticeHandler?.SendMessage(msg);
+ _noticeHandler?.SendMessage(msg, true);
Application.Current.Dispatcher.Invoke((Action)(() =>
{
if (!Global.ShowInTaskbar)