Skip to content

v1.5.1

Choose a tag to compare

@gmpassos gmpassos released this 10 Jun 04:29
· 59 commits to master since this release
61dec05

1.5.1

Fixed

  • No more stray characters on the terminal after a session detaches. Two
    separate leaks were writing to the local terminal once a session was already
    gone. (1) The connect client never cancelled its remote stdout/stderr
    listeners on detach, so bytes still buffered in the channel were flushed
    afterwards — at an idle prompt the line editor repainted around them, smearing
    erase/prompt escape sequences onto the detached terminal. The listeners are now
    guarded against the detached state and cancelled on teardown. (2) When a session
    was detached from another window mid full-screen program, the terminal reset
    undid the alternate screen, cursor and color attributes but not mouse
    reporting, so every later mouse move spewed SGR mouse reports (ESC[<…M) onto
    the terminal. The detach reset now also disables every mouse-tracking mode
    (1000/1002/1003 and the 1005/1006/1015 encodings) and bracketed paste (2004).

  • Interactive sessions no longer freeze on heavy output. The connect
    client consumed remote stdout/stderr without ever replenishing the channel's
    send window, so after a cumulative 256 KiB the node's flow-control credit
    drained and all further output stalled — the session appeared frozen. This
    surfaced most often with full-screen TUIs that repaint the whole screen on
    every scroll (e.g. claude's plan view, vim, less, htop), which exhaust
    the window within a handful of redraws. The client now grants window credit for
    every chunk it consumes. The node grants stdin credit symmetrically, so a large
    paste into a full-screen program can't stall input either.