From b33b35b198b52fcb604a98d09d9be704cc8d14c3 Mon Sep 17 00:00:00 2001 From: "j.foucher" Date: Sat, 2 May 2026 08:46:05 +0200 Subject: [PATCH] Fix Settings crash: Run.Text needs Mode=OneWay on read-only sources MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stack trace from %LocalAppData%/PSLauncher/logs/app-*.log pinpointed the exact line: System.InvalidOperationException: Une liaison TwoWay ou OneWayToSource ne peut pas fonctionner sur la propriété en lecture seule 'LauncherVersion' de type SettingsViewModel. WPF's defaults to TwoWay binding (unlike TextBlock.Text which defaults to OneWay). Bound to a `{ get; }`-only property like LauncherVersion, the binding system tries to install a back-channel writer at AttachToContext time, fails, and crashes the whole window during ShowDialog(). Fix: explicit Mode=OneWay on the affected . The other read-only view-model properties used in this dialog (MachineId, LogsDirectory, CacheDirectory, LicenseInfo) are bound through TextBlock.Text and are unaffected. For posterity: serilog file sink + AppDomain.UnhandledException hook captured the failure with the full stack — exactly the diagnostic flow v0.5 was meant to enable. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/PSLauncher.App/Views/SettingsDialog.xaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PSLauncher.App/Views/SettingsDialog.xaml b/src/PSLauncher.App/Views/SettingsDialog.xaml index cd8c03b..f7a821b 100644 --- a/src/PSLauncher.App/Views/SettingsDialog.xaml +++ b/src/PSLauncher.App/Views/SettingsDialog.xaml @@ -183,7 +183,7 @@ - +