fix(ui): Dequeue-X auf blockierten Queue-Zeilen anzeigen und Kette konsistent halten

CanRemoveFromQueue schloss IsWaiting (queued+blocked) faelschlich aus, sodass ein
Kettenglied in der Mitte nicht entfernbar war. Zusaetzlich unblockt
TaskStateService.DequeueToIdleAsync jetzt den Nachfolger eines dequeueten
Kettenglieds, sonst bliebe er dauerhaft auf einen nicht mehr laufenden
Vorgaenger blockiert.
This commit is contained in:
mika kuns
2026-09-02 22:34:50 +02:00
parent 77c70d74cb
commit df3e7ba0c7
6 changed files with 48 additions and 2 deletions
@@ -41,6 +41,23 @@ public class TaskRowContextMenuTests
Assert.NotNull(row.SendToQueueDisabledReason);
}
[Fact]
public void CanRemoveFromQueue_True_When_Queued_And_Blocked()
{
var row = MakeRow();
row.Status = TaskStatus.Queued;
row.BlockedByTaskId = "predecessor-id";
Assert.True(row.CanRemoveFromQueue);
}
[Fact]
public void CanRemoveFromQueue_False_When_Idle()
{
var row = MakeRow();
row.Status = TaskStatus.Idle;
Assert.False(row.CanRemoveFromQueue);
}
[Fact]
public void CancelDisabledReason_Null_While_Running()
{