aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2026-10-20pi extension: identify the pane from TMUX_PANEIgor Soarez
the extension asked tmux for "the current pane", which resolves to the session's active pane, not the pane pi runs in, so agents in background windows reported their state onto another pane. tmux sets TMUX_PANE for every process it starts in a pane; use it. e2e step 12 loads the shipped extension with a fake pi from a pane that is not its session's active pane and asserts the report lands there; it fails against the previous extension. hook reports log at info again.
2026-10-20rebuild the status model as herdr's state machine, event-driven and testedIgor Soarez
the seen logic was inverted: first observations were marked done and real completions idle, so the menu showed teal for agents that did nothing and green for agents that finished, and attending changed nothing visible. - watcher::advance is herdr's apply_pane_state_change + mark_active_tab_seen as a pure function, unit-tested against herdr's own cases; attendance is window-level like herdr's active tab - hook reports are events applied in order, so a turn shorter than a poll is still a completion - event-driven: hook reports, dingger focus, and tmux focus hooks wake the watcher; notifications are delivered off-thread (the macos call blocked ticks for 2+ seconds) after the pane options are written - all per-pane state persists in tmux pane options, so restarts and deploys lose nothing, including the authoritative hook state - every click goes through dingger focus: the menu bar shells out to it and the status-line binding runs it; it picks the right client, skips the window already shown, and activates the terminal app hosting the client - the ready queue is ordered like the menu (blocked first, then oldest done) - menu bar and tmux segment render herdr's symbols in herdr's palette - tests/e2e.sh: 60 assertions against an isolated tmux server with a real client, a 30s poll interval, and a slow fake notifier