fix(ui): silent no-ops raise ErrorReported instead of swallowing failures (UX-Audit #1)

Stop/Enqueue/Dequeue/Reset&Retry (DetailsIslandViewModel), status/cancel/reject
commands (TasksIslandViewModel), Mission Control's drag-enqueue and queue
refresh, and "Open findings folder" (ListsIslandViewModel) used to catch {}
or silently return on a blocked precondition. They now report through the
existing ErrorReported -> FlashFooterError path, with new en/de locale keys
and Ui.Tests covering each converted command.
This commit is contained in:
mika kuns
2026-08-21 09:13:00 +02:00
parent fdd0e1e56a
commit 99bb5be5da
10 changed files with 468 additions and 20 deletions
@@ -126,7 +126,11 @@ public sealed partial class ListsIslandViewModel : ViewModelBase, IDisposable
var dir = row?.WorkingDir;
if (string.IsNullOrWhiteSpace(dir)) return;
var findings = System.IO.Path.Combine(dir, ".claudedo");
if (!System.IO.Directory.Exists(findings)) return;
if (!System.IO.Directory.Exists(findings))
{
ErrorReported?.Invoke(Loc.T("vm.lists.findingsNotFound"));
return;
}
try
{
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo
@@ -135,7 +139,7 @@ public sealed partial class ListsIslandViewModel : ViewModelBase, IDisposable
UseShellExecute = true,
});
}
catch { /* best-effort */ }
catch (Exception ex) { ErrorReported?.Invoke(Loc.T("vm.lists.findingsOpenFailed", ex.Message)); }
}
[RelayCommand]