chore(claude-do): merge Unit-Branch Teil 1: Branch-Naming + Basis-Branch pro Liste

ClaudeDo-Task: e202e601-64c0-4ecb-8dc9-2fb0da01a84a
This commit is contained in:
mika kuns
2026-10-01 11:03:02 +02:00
34 changed files with 1798 additions and 67 deletions
+6 -2
View File
@@ -601,9 +601,12 @@ public sealed class WorkerHub : Microsoft.AspNetCore.SignalR.Hub
// Gleiches Tri-State-Muster: null = gespeicherten Wert behalten, false = Opt-in widerrufen.
var powerUseAllowed = dto.PowerUseAllowed ?? existing?.PowerUseAllowed ?? false;
// Tri-State wie oben: null = behalten, "" = löschen.
var baseBranch = dto.BaseBranch is null ? existing?.BaseBranch : dto.BaseBranch.NullIfBlank();
// powerUseAllowed muss mit in die Leer-Prüfung: sonst löscht ein Save, bei dem PowerUse das
// EINZIGE gesetzte Feld ist, die Config-Zeile und damit das Opt-in gleich wieder mit.
if (model is null && systemPrompt is null && agentPath is null && dto.MaxTurns is null && sessionSkills is null && verifyCommand is null && permissionMode is null && ticketProjectId is null && !powerUseAllowed)
if (model is null && systemPrompt is null && agentPath is null && dto.MaxTurns is null && sessionSkills is null && verifyCommand is null && permissionMode is null && ticketProjectId is null && !powerUseAllowed && baseBranch is null)
{
await repo.DeleteConfigAsync(dto.ListId);
}
@@ -621,6 +624,7 @@ public sealed class WorkerHub : Microsoft.AspNetCore.SignalR.Hub
PermissionMode = permissionMode,
TicketProjectId = ticketProjectId,
PowerUseAllowed = powerUseAllowed,
BaseBranch = baseBranch,
});
}
@@ -644,7 +648,7 @@ public sealed class WorkerHub : Microsoft.AspNetCore.SignalR.Hub
var repo = new ListRepository(ctx);
var config = await repo.GetConfigAsync(listId);
if (config is null) return null;
return new ListConfigDto(config.Model, config.SystemPrompt, config.AgentPath, config.MaxTurns, SkillsFromJson(config.SessionSkills), config.VerifyCommand, config.PermissionMode, config.TicketProjectId, config.PowerUseAllowed);
return new ListConfigDto(config.Model, config.SystemPrompt, config.AgentPath, config.MaxTurns, SkillsFromJson(config.SessionSkills), config.VerifyCommand, config.PermissionMode, config.TicketProjectId, config.PowerUseAllowed, config.BaseBranch);
}
public async Task<SetTaskStatusResultDto> SetTaskStatus(string taskId, string status)