v1.37.0
feat(ws): open the dashboard on its last worktree list, with the cursor already on your row
dg ws used to open empty and show "(loading...)" until every repo's
git worktree list and the diffstat sweep finished, then move the cursor from
the top to your session's row. It now opens with the rows from last time and
the cursor already in place, while the same loads run in the background and
replace them.
- Save the last successful worktree list (repo, name, path, branch) and its
diffstats to$XDG_CACHE_HOME/devgeta/ws-snapshot.jsonafter every fresh git
load, and draw it on the first frame. Nothing from tmux is saved; sessions,
panes and agent states always come from the live scan. A missing, corrupt or
old-format file is ignored (ADR-0054). - Run one tmux scan before the first frame when a saved list exists, so the
cursor opens on the row for the session you are in instead of jumping there.
The cursor itself is still not saved (ADR-0050 holds). If your row is not in
the saved list, the real git load places the cursor, as before. - The 3-second tmux refresh and 30-second git refresh are unchanged. Each fresh
git load replaces what is on screen and rewrites the saved file.
Behavior changes: a worktree removed outside the dashboard still shows when
dg ws opens, until the first git load lands (usually under a second), then
disappears.
Full Changelog: v1.36.0...v1.37.0