Skip to content

v3.2.0: Phases 61–64, Daemon Supervisor & :ssh-tmux TDD Overhaul

Choose a tag to compare

@bsommers bsommers released this 09 Nov 12:45
· 176 commits to main since this release
ec942fb

Highlights of Release v3.2.0

Phase 61: Classic Drawer Two-Line Rows & Zoom Invariants

  • Classic drawer two-line rows (classic_row_lines) with [R:n] header chips and :drawer rows toggle.
  • Effective zoom derived strictly from z_stack.top(), ensuring toggle_zoom is an idempotent toggle and preventing mouse hit-testing from falling through hidden layers.
  • Inactive window focus clicks preserve OIA and prompt chrome (was_active gate); prompt mode, raw mode, copy mode, and scrollback offsets survive stack switches and column reflows.

Phase 62: Nested TUI Selection Override & Vi Copy Mode Ergonomics

  • Shift / Alt mouse drag local selection override when inner TUIs (vim, htop, tmux) capture mouse events.
  • Reassembled split-read inbound OSC 52 sequences across buffer boundaries; added OIA MOUSE->APP and [COPY] badges.
  • Scrollback-absolute selections with Vi/Emacs motions (w, b, e, 0, ^, $, gg, G, H, M, L, /, ?, n, N), double/triple-click word/line selection, and dynamic copy mode hotkey hint bar (src/ui/copy_hints.rs).

Phase 63: Cross-Platform Primary Modifier, Sticky Window Mode & Key Conflict Engine

  • Cross-platform Primary modifier (Cmd on macOS GUI, Ctrl+Shift on Linux/Windows) and per-OS key profiles (mac, windows, linux, portable, legacy).
  • Fixed macOS Option dead-key navigation and Windows AltGr compose handling; replaced conflicting Alt+M global chords.
  • Sticky Window mode (leader w / Primary+O) with which-key visual overlay (src/ui/which_key_ui.rs).
  • Keyboard-operable top menu bar across all 9 categories with mnemonics, hotkeys, and computed accelerators.
  • Key collision detection engine (src/input/keyconflict.rs), :keys check|list|explain|profile commands, keys.* JSON-RPC methods, and bilterm_keys MCP tool.

Phase 64: Byte-Boundary Traffic Telemetry & Traffic Monitor

  • Leaf module src/traffic/ providing lock-free zero-allocation ring-buffer metrics across all 33 byte boundaries (H01..H33).
  • Live classification of escape sequences, control bytes, and printable text payloads.
  • Floating TRAFFIC MONITOR window in TUI and GUI (src/ui/traffic_monitor_ui.rs).
  • :traffic colon commands, traffic.* JSON-RPC methods, and bilterm_traffic MCP tool.

Daemon Supervisor & Process Fixes

  • Fixed spawn_daemon / ensure_started returning PID 0; now tracks real child OS process IDs, acquires lockfile, and registers in DaemonRegistry under -d / --headless flags.
  • Floating DAEMON SUPERVISOR management window in both TUI & GUI (src/wm/daemon_window.rs, src/ui/daemon_window_ui.rs).
  • Wired :daemon list|status|start|stop|switch and the top menu Daemon items to open and refresh the supervisor dialog.

:ssh-tmux Remote Pane Overhaul (TDD)

  • Remote panes now run PTY-less, eliminating local shell double-echo and unintended local command execution.
  • Added link_raw_input to mask SSH passwords and credentials from echoing on screen or recording into shell history.
  • Implemented immediate fallback binding (primary_pane <-> %0) with background list-panes reconciliation on idle tmux -CC attach, eliminating "Link down" errors.
  • Fixed :ssh-tmux prefill to close active modals, exit raw/copy modes, and force open the prompt populated with :ssh-tmux and cursor at the end.