aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-20 16:01:40 -0400
committerCraig Jennings <c@cjennings.net>2026-06-20 16:01:40 -0400
commit2c910e012e2d1f7e118add072cf3468d086cbaac (patch)
treeeeff8c939793121243ed491c47ee52f4508faf65
parent64916462f5c81b854d3fbc6f5c543ecf5ac25bf5 (diff)
downloaddotemacs-2c910e012e2d1f7e118add072cf3468d086cbaac.tar.gz
dotemacs-2c910e012e2d1f7e118add072cf3468d086cbaac.zip
chore(todo): close the F9 3-window-collapse bug, file its GUI verify
-rw-r--r--todo.org32
1 files changed, 18 insertions, 14 deletions
diff --git a/todo.org b/todo.org
index cc2ec432f..b38dcc767 100644
--- a/todo.org
+++ b/todo.org
@@ -55,20 +55,17 @@ Tags are additive. For example, a small wrong-behavior fix can be
=:bug:quick:=, and a feature that requires internal restructuring can be
=:feature:refactor:=.
* Emacs Open Work
-** TODO [#B] F9 toggle collapses a 3-window layout to 2 :bug:
-In a 3-window layout (e.g. code on top spanning full width, a main window, and the
-agent as a full-width bottom strip), the first F9 toggle-off+on collapses three windows
-to two — the top code window gets consumed — and the agent jumps to a larger height,
-then stabilizes. Found 2026-06-20 while investigating the f9 split-shrink bug; reproduced
-in batch (=/tmp/repro-f9b.el= scenario A: code|main|agent below, body-height 5 → 11,
-windows 3 → 2 on the first toggle).
-
-Likely in the toggle-off teardown / display dispatch (=cj/--ai-term-toggle-off= deletes
-the agent window; on toggle-on the chain reuse-existing-agent → reuse-edge-window →
-display-saved picks a window/split that doesn't preserve the third window). The agent
-display rule should restore into the agent's prior slot without eating an unrelated
-window. Needs a characterization test that builds a 3-window layout, toggles, and asserts
-the window count and the code window survive. GUI-verify after.
+** DONE [#B] F9 toggle collapses a 3-window layout to 2 :bug:
+CLOSED: [2026-06-20 Sat]
+Fixed 2026-06-20 (option 1 — reversible toggle, Craig's call). In a 3+ window layout where
+the agent had its own split, toggle-on reused the working window at the bottom edge,
+displacing its buffer and collapsing three windows to two. Added a flag
+(=cj/--ai-term-last-toggle-deleted-split=) set when toggle-off delete-windows the agent's own
+window; =cj/--ai-term-reuse-edge-window= consumes it and falls through to a fresh re-split, so
+the agent returns to its own window and the others are untouched. The flag only changes the 3+
+window case (2-window slot-reuse unchanged). TDD regression
+=test-ai-term--reuse-edge-window-3win-toggle-restores-own-window=; full =make test= green;
+live-reloaded. Commit 64916462. GUI sign-off is a VERIFY under Manual testing and validation.
** TODO [#B] Codebase refactoring program — remaining batch :refactor:solo:
Resumes the full-codebase refactoring scan run of 2026-06-20 (8-agent fan-out over
@@ -486,6 +483,13 @@ What we're verifying: the f9 split-shrink bug is fixed. The toggle now captures
- Press F9 to toggle the agent off, then F9 again to toggle it back on. Repeat 5–6 times.
- Re-check the height after each on-toggle
Expected: the agent window stays the same height every cycle (no one-line-per-toggle shrink). Before the fix it lost ~1 line each toggle. If it still shrinks, capture the height sequence and reopen this as a TODO — the remaining drift would point at a different rounding source than the mode-line pixel height.
+*** VERIFY F9 toggle preserves all windows in a 3-window layout
+What we're verifying: toggling the agent off then on in a 3-window layout no longer eats a working window. The fix re-splits the agent into its own window on toggle-on instead of reusing the working window at the edge, so the layout is preserved across the toggle (off then on returns the same three windows). Batch tests already assert the window count; this is the visual read in a real frame.
+- Set up three windows: a code/file window on top, a second working window (e.g. todo.org) in the middle, and the agent (F9) as a full-width strip at the bottom
+- Note the three windows and which buffers they show
+- Press F9 to toggle the agent off (the bottom strip closes, two windows remain)
+- Press F9 again to toggle it back on
+Expected: you are back to three windows — the agent returns as its own bottom strip, and both working windows (code + middle) are still showing their buffers. Before the fix, toggle-on replaced the middle/bottom working window with the agent, leaving two windows.
** PROJECT [#A] Theme-Studio Open Work
Parent grouping the open theme-studio / theming issues; close each child independently.