Skip to content

v0.8.44

Choose a tag to compare

@github-actions github-actions released this 05 Sep 10:32
· 222 commits to main since this release
715bbad

Fixed

  • muxa peek works on front-ends that render tmux panes themselves. Its
    overlay is a display-popup, which tmux draws through a client — and two
    kinds of front-end leave it without one, each failing in its own direction.
    cmux drives panes with capture-pane/send-keys and attaches no client at
    all, so sessions sit at attached=0, display-popup fails with "no current
    client", and — since tmux resolves key bindings per client — prefix + q
    never fires either. A control-mode client (tmux -CC: amux, iTerm2's tmux
    integration) is sent pane content and nothing else, so the popup is accepted
    and dropped: the command runs, exits 0, and waits on a pane nobody renders.
    Typed into a pane, peek used to paint a full-client layout into one pane's
    viewport, with no client geometry to place it by. It now reads the client
    before drawing anything and, where the overlay cannot reach a human, prints
    the same per-pane report --plain produces and says why on stderr — so the
    report still pipes cleanly and nobody has to retype the command. An
    inconclusive reading (no server, a tmux too old for the format) still draws,
    leaving working clients untouched.

  • muxa doctor describes the tmux front-end instead of prescribing fixes
    that cannot apply.
    On a server with no attached client it reported the
    managed binding as live (prefix+s opens muxa watch) when no client existed
    to run it. On a config-isolated server — amux starts its engine as
    tmux -f /dev/null -L amux -CC precisely to keep the user's ~/.tmux.conf,
    and any session-restoring plugin in it, out — it read the absent binding and
    absent MUXA_SOCKET pin as a broken install and prescribed muxa init and
    tmux source-file ~/.tmux.conf, the second of which imports the very config
    the server exists to exclude. doctor now reports the client's rendering mode
    and the server's #{config_files}, treats a missing binding on an isolated
    server as expected, marks an installed binding no viewer can run as such,
    and downgrades the socket-pin warning to a note when muxad is on the default
    path unpinned panes already fall back to. Servers the user owns get exactly
    the advice they got before.