Store serialized exception
MODIFY
WalletWasabi.Gui/CrashReport/CrashReporter.cs
WalletWasabi.Gui/CrashReport/CrashReporter.cs
@@ -18,6 +18,8 @@ namespace WalletWasabi.Gui.CrashReport
public string ExceptionString { get; private set; } = null;
public bool IsReport => ExceptionString is { };
+ public SerializedException SerializedException { get; private set; }
+
public void Start()
{
var exceptionString = ExceptionString;
@@ -41,6 +43,7 @@ namespace WalletWasabi.Gui.CrashReport
{
Attempts = attempts;
ExceptionString = exceptionString;
+ SerializedException = SerializedException.ToSerializedException(ExceptionString);
}
/// <summary>
@@ -63,10 +66,5 @@ namespace WalletWasabi.Gui.CrashReport
return exceptionToDisplay;
}
-
- public SerializedException GetException()
- {
- return SerializedException.ToSerializedException(ExceptionString);
- }
}
}

MODIFY
WalletWasabi.Gui/CrashReport/ViewModels/CrashReportWindowViewModel.cs
WalletWasabi.Gui/CrashReport/ViewModels/CrashReportWindowViewModel.cs
@@ -35,7 +35,7 @@ namespace WalletWasabi.Gui.CrashReport.ViewModels
public int MinHeight => 280;
public string Title => "Wasabi Wallet - Crash Reporting";
public string Details => $"Wasabi has crashed. You can check the details here, open the log file, or report the crash to the support team. {Environment.NewLine}{Environment.NewLine}Please always consider your privacy before sharing any information!";
- public string Message => CrashReporter.GetException().Message;
+ public string Message => CrashReporter?.SerializedException?.Message;
public ReactiveCommand<Unit, Unit> OpenLogCommand { get; }
public ReactiveCommand<Unit, Unit> OkCommand { get; }

Store serialized exception