Do GenSocksDialogs on known outdated OSes.
MODIFY
WalletWasabi.Gui/Dialogs/GenSocksServFailDialogView.xaml
WalletWasabi.Gui/Dialogs/GenSocksServFailDialogView.xaml
<controls:GroupBox Title="Tor: General SOCKS Server Failure" Background="{DynamicResource ThemeControlBackgroundBrush}" TextBlock.FontSize="30" BorderThickness="0" Margin="0 80">
<Grid Classes="content">
<Panel Margin="10">
- <TextBlock FontSize="15" Text="The Tor daemon you are running responded with General SOCKS Server Failure. This can happen for many reasons, but Wasabi will attempt to autocorrect Tor, so this dialog will disappear within a few minutes. If that doesn't happen your Tor may be out of date. Please upgrade your Tor version to at least v0.3.2.2, or shut down your Tor process and restart Wasabi. This will make sure Wasabi is using its built-in Tor." TextWrapping="Wrap" />
+ <TextBlock FontSize="15" Text="The Tor daemon you are running responded with General SOCKS Server Failure. This can happen for many reasons, but Wasabi will attempt to autocorrect Tor, so this dialog should disappear within a few minutes. If that doesn't happen your Tor may be out of date. Please upgrade your Tor version to at least v0.3.2.2, or shut down your Tor process and restart Wasabi. This will make sure Wasabi is using its built-in Tor." TextWrapping="Wrap" />
</Panel>
</Grid>
</controls:GroupBox>

MODIFY
WalletWasabi.Gui/ViewModels/StatusBarViewModel.cs
WalletWasabi.Gui/ViewModels/StatusBarViewModel.cs
@@ -16,6 +16,7 @@ using AvalonStudio.Shell;
using WalletWasabi.Gui.Tabs;
using System.Reactive.Linq;
using WalletWasabi.Gui.Dialogs;
+using System.Runtime.InteropServices;
namespace WalletWasabi.Gui.ViewModels
{
@@ -235,10 +236,15 @@ namespace WalletWasabi.Gui.ViewModels
}
else
{
- // Show GenSocksServFail dialog.
+ // Show GenSocksServFail dialog on OS-es we suspect Tor is outdated.
+ var osDesc = RuntimeInformation.OSDescription;
+ if (osDesc.Contains("16.04.1-Ubuntu", StringComparison.InvariantCultureIgnoreCase)
+ || osDesc.Contains("16.04.0-Ubuntu", StringComparison.InvariantCultureIgnoreCase))
+ {
MainWindowViewModel.Instance.ShowDialogAsync(new GenSocksServFailDialogViewModel()).GetAwaiter();
}
}
+ }
else
{
// Is close band present?

Do GenSocksDialogs on known outdated OSes.