# gui: finished task rows recede and sidebar menus act on tasks · lucenx/signaltty

[View on GitCafe](https://git.cafe/lucenx/signaltty/commit/ee03ec67350c3048da5591025996be47dd7c08d8)

Repository: [lucenx/signaltty](https://git.cafe/lucenx/signaltty)

Visibility: public

Requested revision: ee03ec67350c3048da5591025996be47dd7c08d8

Requested commit: ee03ec67350c3048da5591025996be47dd7c08d8

Commit: ee03ec67350c3048da5591025996be47dd7c08d8

Tree: c1f19fca92f6874045c01d9d827fe9b3891845d7

Author: Lucenx9

Committer: Lucenx9

## Message

```
gui: finished task rows recede and sidebar menus act on tasks

Task workspaces were never closed after their task finished, so done
rows piled up under their parent. A child whose task is in the board's
Done column now gets `workspace-finished`: it fades to 0.55 opacity
until hovered or selected, and it sorts after active siblings. The
parent's toggle counts finished tasks separately ("3 tasks · 2 done").
The parent's menu gains "Clear N Finished Tasks", which closes those
workspaces and keeps their branches.

The row menu is now built on popup from the task's current state, and
items that don't apply are omitted. A task row offers Show Task Board,
Open/Create Pull Request, Merge into <target>, Cancel Task and Discard
Task, backed by the existing task.pr_open / task.finish / task.cancel
IPC. These are the first GUI callers of those methods.

Destructive actions ask for confirmation. The dialog text matches what
task.finish does: both modes remove the worktree, merge deletes a
branch the task created, and discard keeps it. Failures surface as
toasts.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

```

## Parents

- [e33e8c1da1164dbb752eef9f0dba07e0d9b4de24](https://git.cafe/lucenx/signaltty/commit/e33e8c1da1164dbb752eef9f0dba07e0d9b4de24?format=markdown)

[Source at this commit](https://git.cafe/lucenx/signaltty/tree/ee03ec67350c3048da5591025996be47dd7c08d8?format=markdown)
