You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
make test 7× faster on cold cache, ~80× faster on warm cache (49s → 7s cold, 25s → 0.6s warm) via three layered fixes: pool tmux servers per test binary instead of spawn-per-test, drop gotmuxcc tracing from the default test env, cap go test -p at 4 to avoid the four integration packages all hammering tmux at once.
eliminated the load-induced flake set in the integration tests (TestFilterNarrowsSessionList, TestNavigationOpensSubmenuAndEscapeReturns, TestEscapeExitsFromRootMenu, etc.) by addressing the contention that caused them, not by bumping timeouts.
filter cursor migration to tea.View.Cursor: form text inputs now surface their cursor via Bubble Tea's first-class cursor API instead of in-string block rendering, fixing positioning in the prompt row and aligning with the rest of the v2 input model.
fixes
ui: respect noPreview in maxVisibleItems — maxVisibleItems reserved rows for an inline preview that viewVertical then refused to render, shrinking the tree's viewport and dragging the auto-selected cursor off the top in --no-preview configs.
cmdparse: replace golden_schemas.txt with schema-aware assertions — the previous full-output golden broke deterministically every time tmux added a command or flag; new assertions cover the commands the codebase actually consumes for completion.
resurrect: mock tmux fetch fns in TestRunAutoSaveCommandReturnsBlankWhenIconDisabled — the test was attempting real save+fetch against whatever tmux server was reachable from the test environment; under parallel make test load that hung for 5+ minutes per run.
performance
tmux: cut redundant tmux commands per backend poll — cache ShowOption results per (socket, option) for the binary's lifetime; skip ListSessionsFormat when no custom session label format is configured. Drops FetchSessions from 6 commands to 3 on the first cycle, cheaper still after.
testutil: pool one tmux server per test binary — sampling concurrent tmux processes during make test showed 11–13 servers alive at peak from cleanup-overlap stacking. New pool runs one server per package via sync.Once/TestMain and tears down only per-test sessions in cleanup. Tests that genuinely need an isolated server (cross-server save/restore round-trip) opt into StartIsolatedTmuxServer.
diagnostics
backend: emit poll.start / poll.done trace events — now visible in the JSON trace log, not only in the SQLite sink. Useful for tracing first-fetch latency under load.
ui polish
form text input cursors render via tea.View.Cursor, with positioning bound to the actual prompt row (f9d7e5b, 3a460f9, 104b621, f59deac, 6a3910c, f290cb5, 68161cc, 8c5233b, a472c52, ed56ff7).
attachFilterCursor clamping modernized; dead form-cursor path removed.