feat(ui): Listen-Einstellungen — Checkbox fuer serialize_on_file_overlap

Das Flag war bisher nur ueber MCP set_list_config erreichbar. UpdateListConfigDto
fuehrt es tri-state (null = gespeicherten Wert behalten), damit nur das
Listen-Modal es setzen/loeschen kann und kein anderer Aufrufer es per Omission
verliert.
This commit is contained in:
mika kuns
2026-08-27 10:15:17 +02:00
parent 24e1d648ee
commit 5cc99bfec6
9 changed files with 66 additions and 19 deletions
@@ -36,6 +36,9 @@ public sealed partial class ListSettingsModalViewModel : ViewModelBase
// Optional post-merge verification command (build/test), run in WorkingDir after a merge
// lands; a non-zero exit keeps the task out of Done instead of silently reporting merged.
[ObservableProperty] private string _verifyCommand = "";
// When on, the queue picker holds back a queued task whose declared scope globs overlap a
// running/awaiting-merge sibling in this list (ListConfigEntity.SerializeOnFileOverlap).
[ObservableProperty] private bool _serializeOnFileOverlap;
public ObservableCollection<string> CommitTypeOptions { get; } = new(CommitTypeRegistry.Types);
@@ -71,6 +74,7 @@ public sealed partial class ListSettingsModalViewModel : ViewModelBase
await Agent.LoadForListAsync(listId, ct);
var cfg = await _worker.GetListConfigAsync(listId);
VerifyCommand = cfg?.VerifyCommand ?? "";
SerializeOnFileOverlap = cfg?.SerializeOnFileOverlap ?? false;
}
[RelayCommand]
@@ -84,7 +88,9 @@ public sealed partial class ListSettingsModalViewModel : ViewModelBase
IsManual,
FindingsTracked));
await Agent.SaveAsync(string.IsNullOrWhiteSpace(VerifyCommand) ? null : VerifyCommand);
await Agent.SaveAsync(
string.IsNullOrWhiteSpace(VerifyCommand) ? null : VerifyCommand,
SerializeOnFileOverlap);
CloseAction?.Invoke();
}