aboutsummaryrefslogtreecommitdiffstats
path: root/cli/src/core
diff options
context:
space:
mode:
authoruser <user@clank>2026-08-13 00:04:44 +0200
committeruser <user@clank>2026-08-13 00:04:44 +0200
commitcae222e144fefcbe6a6eaa2a3007e8b2b4c9ed95 (patch)
treedaadb663a14c648311c6d11b69d3dd57467126df /cli/src/core
parentrelease: 0.1.1, and stop the CLI carrying a second version (diff)
downloadsl0ppi-cae222e144fefcbe6a6eaa2a3007e8b2b4c9ed95.tar.gz
sl0ppi-cae222e144fefcbe6a6eaa2a3007e8b2b4c9ed95.tar.xz
sl0ppi-cae222e144fefcbe6a6eaa2a3007e8b2b4c9ed95.zip
sl0p: stop suspended panes spamming resize errors
Attaching to a session of `start_suspended` panes could drop the client with "your zellij client lost connection to the zellij server", and `zellij action` against that live session failed most of the time. Cause: `set_terminal_size` treats "no fd for this terminal id" as an error, but a reserved-and-not-yet-started terminal is exactly what `start_suspended` (and any held pane) is. Resizes arrive in cached bursts (ResizeCache), so every attach and every layout change logged one formatted, contexted, file-written error PER suspended pane, on the server's hot path. The map distinguishes the two cases already -- `Some(None)` is reserved-without-fd (reserve_terminal_id), `None` is genuinely unknown -- so the fix is to match them separately and stay quiet about the former. Measured on a 2-vCPU Debian box, `action list-tabs` against a live session: before 2 suspended panes 5/12 failed 2 plain panes 1/12 failed after 2 suspended panes 6/30 failed 2 plain panes 9/30 failed resize errors logged: 126+ -> 0 ie. the suspended-pane penalty is gone; what remains is a separate baseline failure rate that affects plain sessions equally (see the known issue in docs/roadmap.md). zellij-server: 1499 tests still pass.
Diffstat (limited to 'cli/src/core')
0 files changed, 0 insertions, 0 deletions