From bbfe40242c2e169fae219f3e1d8e89b2fbf7ffe7 Mon Sep 17 00:00:00 2001 From: mika kuns Date: Mon, 10 Aug 2026 16:26:16 +0200 Subject: [PATCH] fix(ui): re-emit the flat list's section headers on a language change Phase 2b-1 moved the group headers from {loc:Tr} bindings in TasksIslandView into HeaderRow.Label, resolved once in Regroup(). RefreshLocalizedText only updated CompletedHeader and the task rows, so after switching the language the three section headers kept the old one. Re-run Regroup() there. Not unit-tested: the only seam is the global static Loc.Current, and mutating it would bleed into test classes running in parallel. --- src/ClaudeDo.Ui/ViewModels/Islands/TasksIslandViewModel.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ClaudeDo.Ui/ViewModels/Islands/TasksIslandViewModel.cs b/src/ClaudeDo.Ui/ViewModels/Islands/TasksIslandViewModel.cs index 967a2e67..e2671d06 100644 --- a/src/ClaudeDo.Ui/ViewModels/Islands/TasksIslandViewModel.cs +++ b/src/ClaudeDo.Ui/ViewModels/Islands/TasksIslandViewModel.cs @@ -165,6 +165,9 @@ public sealed partial class TasksIslandViewModel : ViewModelBase, IDisposable { CompletedHeader = Loc.T("vm.tasksIsland.completedHeader"); foreach (var row in Items) row.RefreshLocalized(); + // The section headers are now Rows entries whose Label is a resolved string, not a live + // {loc:Tr} binding in the view — without re-emitting them they keep the old language. + Regroup(); } private async void OnWorkerListUpdated(string listId)