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

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

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

Visibility: public

Requested revision: ce05ab1f171b07c1ce39945ab7fcf502ee2baeb7

Requested commit: ce05ab1f171b07c1ce39945ab7fcf502ee2baeb7

Commit: ce05ab1f171b07c1ce39945ab7fcf502ee2baeb7

Tree: 7578ed7560d82266f5dad4f121f63e329eca1317

Author: Simone

Committer: GitHub

## Message

```
gui: finished task rows recede and sidebar menus act on tasks (#19)

* 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>

* gui: Show an error toast when opening a pull request fails

---------

Co-authored-by: Lucenx9 <185146821+Lucenx9@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
```

## Parents

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

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