Files
Thomas Dickson 9ef0a7e0a1 fix(plugins): release a CLI pipe when the plugin handling it crashes (#5537)
apply_pipe_message_to_plugin sends UnblockCliPipes on every success path,
including the path for old plugins that do not export `pipe`, but not when
the call into the plugin fails. When a plugin traps while handling a pipe
message, both call sites in wasm_bridge only log and call handle_plugin_crash,
which paints a loading-indication error on the pane and does not unload the
plugin. The (plugin_id, client_id) entry therefore stays in PendingPipes and
the `zellij pipe` client blocks until the plugin is unloaded or the session
ends.

Move the body to apply_pipe_message_to_plugin_inner and have the wrapper
release the pipe on any error before re-returning it, so neither call site
can forget.

Adds a regression test driving a fixture-plugin branch that panics while
handling a pipe, asserting UnblockCliPipeInput is emitted at crash time
rather than at teardown.
2026-08-28 10:41:50 +02:00
..
2026-07-28 12:05:38 +02:00
2026-08-20 08:04:12 +02:00
2026-07-28 12:05:38 +02:00
2026-07-28 12:05:38 +02:00