aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-server/src/plugins/plugin_loader.rs
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2026-05-08 18:25:37 +0200
committerGitHub <noreply@github.com>2026-05-08 18:25:37 +0200
commit24f2173fbce61ca6234f4fe4b6ca83833bf3ae64 (patch)
tree9e713d10952561889e45e0d3308fc65fa0a236e7 /zellij-server/src/plugins/plugin_loader.rs
parentfix: occasional stall when querying host terminal (introduced in 0.44.1) (#5149) (diff)
downloadsl0ppij-24f2173fbce61ca6234f4fe4b6ca83833bf3ae64.tar.gz
sl0ppij-24f2173fbce61ca6234f4fe4b6ca83833bf3ae64.tar.xz
sl0ppij-24f2173fbce61ca6234f4fe4b6ca83833bf3ae64.zip
fix: deadlock with blocking panes (#5152)
* fix: deadlock with blocking panes * rustfmt * add pr
Diffstat (limited to 'zellij-server/src/plugins/plugin_loader.rs')
-rw-r--r--zellij-server/src/plugins/plugin_loader.rs24
1 files changed, 2 insertions, 22 deletions
diff --git a/zellij-server/src/plugins/plugin_loader.rs b/zellij-server/src/plugins/plugin_loader.rs
index 31b54df7..8121fbe1 100644
--- a/zellij-server/src/plugins/plugin_loader.rs
+++ b/zellij-server/src/plugins/plugin_loader.rs
@@ -25,15 +25,8 @@ use crate::{
use zellij_utils::plugin_api::action::ProtobufPluginConfiguration;
use zellij_utils::{
- consts::ZELLIJ_TMP_DIR,
- data::{InputMode, PluginCapabilities},
- errors::prelude::*,
- input::command::TerminalAction,
- input::keybinds::Keybinds,
- input::layout::Layout,
- input::plugins::PluginConfig,
- ipc::ClientAttributes,
- pane_size::Size,
+ consts::ZELLIJ_TMP_DIR, data::InputMode, errors::prelude::*, input::command::TerminalAction,
+ input::keybinds::Keybinds, input::plugins::PluginConfig, pane_size::Size,
};
/// Open a directory as a `File` handle for WASI pre-opening.
@@ -77,8 +70,6 @@ pub struct PluginLoader<'a> {
tab_index: Option<usize>,
path_to_default_shell: PathBuf,
session_env_vars: std::collections::BTreeMap<String, String>,
- capabilities: PluginCapabilities,
- client_attributes: ClientAttributes,
default_shell: Option<TerminalAction>,
layout_dir: Option<PathBuf>,
default_mode: InputMode,
@@ -88,7 +79,6 @@ pub struct PluginLoader<'a> {
loading_indication: LoadingIndication,
senders: ThreadSenders,
engine: Engine,
- default_layout: Box<Layout>,
plugin_cache: PluginCache,
plugin_map: &'a mut PluginMap, // we receive a mutable reference rather than the Arc so that it
// will be held for the lifetime of this struct and thus loading
@@ -102,7 +92,6 @@ impl<'a> PluginLoader<'a> {
loading_context: LoadingContext,
senders: ThreadSenders,
engine: Engine,
- default_layout: Box<Layout>,
plugin_cache: PluginCache,
plugin_map: &'a mut PluginMap,
connected_clients: Arc<Mutex<Vec<ClientId>>>,
@@ -122,8 +111,6 @@ impl<'a> PluginLoader<'a> {
tab_index: loading_context.tab_index,
path_to_default_shell: loading_context.path_to_default_shell,
session_env_vars: loading_context.session_env_vars,
- capabilities: loading_context.capabilities,
- client_attributes: loading_context.client_attributes,
default_shell: loading_context.default_shell,
layout_dir: loading_context.layout_dir,
default_mode: loading_context.default_mode,
@@ -134,7 +121,6 @@ impl<'a> PluginLoader<'a> {
skip_cache,
senders,
engine,
- default_layout,
plugin_cache,
plugin_map,
connected_clients: Some(connected_clients),
@@ -282,10 +268,7 @@ impl<'a> PluginLoader<'a> {
plugin_own_cache_dir: self.plugin_own_cache_dir.clone(),
tab_index: self.tab_index,
path_to_default_shell: self.path_to_default_shell.clone(),
- capabilities: self.capabilities.clone(),
- client_attributes: self.client_attributes.clone(),
default_shell: self.default_shell.clone(),
- default_layout: self.default_layout.clone(),
plugin_cwd: self.plugin_cwd.clone(),
session_env_vars: self.session_env_vars.clone(),
input_pipes_to_unblock: Arc::new(Mutex::new(HashSet::new())),
@@ -397,10 +380,7 @@ impl<'a> PluginLoader<'a> {
plugin_own_cache_dir: self.plugin_own_cache_dir.clone(),
tab_index: self.tab_index,
path_to_default_shell: self.path_to_default_shell.clone(),
- capabilities: self.capabilities.clone(),
- client_attributes: self.client_attributes.clone(),
default_shell: self.default_shell.clone(),
- default_layout: self.default_layout.clone(),
plugin_cwd: self.plugin_cwd.clone(),
session_env_vars: self.session_env_vars.clone(),
input_pipes_to_unblock: Arc::new(Mutex::new(HashSet::new())),