v1.35.2
fix(ws): stop hiding a tmux session whose worktree window outlived its worktree
A tmux session disappeared from dg ws and had no way back. Removing a
worktree by hand — a bare git worktree remove, or an agent doing it from
inside that worktree's own window — never runs devgeta's window-kill step, so
the wt- window survives with its name intact. The dashboard hid the entire
session on the strength of that name, even though git no longer listed the
worktree. The session was still there in tmux ls, but nothing devgeta ships
could see it, list it, switch to it or clean it up.
- Decide whether a window is worktree-backed by asking whether its worktree
still exists, instead of matching thewt-name prefix. The prefix only
ever proved devgeta created the window, never that anything still backs it,
so the one case it had to get right was the one it got wrong. - A session whose only worktree window is orphaned is listed as a standalone
session again, with the usual switch and kill actions on it. - In a session that still holds a live worktree window, an orphaned one
alongside it now counts as a plain window, so the repo header can reach it.
Previously no row could.
Behavior changes: sessions that were hidden because they held a stale wt-
window now appear in dg ws as standalone sessions. If you have one of these
today, it shows up as soon as you upgrade; the dead window inside it is yours
to kill from the dashboard.
Full Changelog: v1.35.1...v1.35.2