From 473e0f71d5d6a328a0124a43e722c65211c8405d Mon Sep 17 00:00:00 2001 From: Mika Kuns Date: Mon, 13 Apr 2026 15:46:10 +0200 Subject: [PATCH] fix(ui): re-evaluate RunNow CanExecute when worker connection changes Subscribe to WorkerClient.PropertyChanged in TaskListViewModel and call NotifyCanExecuteChanged on every TaskItemViewModel.RunNowCommand when IsConnected flips, so the button enables immediately on reconnect without waiting for the next task DB refresh. Co-Authored-By: Claude Sonnet 4.6 --- src/ClaudeDo.Ui/ViewModels/TaskListViewModel.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/ClaudeDo.Ui/ViewModels/TaskListViewModel.cs b/src/ClaudeDo.Ui/ViewModels/TaskListViewModel.cs index 8cf74e6..c81b37a 100644 --- a/src/ClaudeDo.Ui/ViewModels/TaskListViewModel.cs +++ b/src/ClaudeDo.Ui/ViewModels/TaskListViewModel.cs @@ -44,6 +44,15 @@ public partial class TaskListViewModel : ViewModelBase worker.TaskUpdatedEvent += OnTaskUpdated; worker.TaskFinishedEvent += (_, taskId, _, _) => OnTaskUpdated(taskId); + worker.PropertyChanged += (_, e) => + { + if (e.PropertyName == nameof(WorkerClient.IsConnected)) + Avalonia.Threading.Dispatcher.UIThread.Post(() => + { + foreach (var t in Tasks) + t.RunNowCommand.NotifyCanExecuteChanged(); + }); + }; } public async Task LoadAsync(string? listId)