aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-server/src/plugins
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2024-10-14 13:13:52 +0200
committerGitHub <noreply@github.com>2024-10-14 13:13:52 +0200
commitd84cdec7307dee556fdc466c7fddc6bb5333a449 (patch)
tree84fcddef925485312f8470617255e294d3a20957 /zellij-server/src/plugins
parentdocs(changelog): fix http requests for macos (diff)
downloadsl0ppij-d84cdec7307dee556fdc466c7fddc6bb5333a449.tar.gz
sl0ppij-d84cdec7307dee556fdc466c7fddc6bb5333a449.tar.xz
sl0ppij-d84cdec7307dee556fdc466c7fddc6bb5333a449.zip
fix(resurrection): plugin alias resurrection (#3673)
* fix(resurrection): make sure plugin aliases are serialized properly * style(fmt): rustfmt
Diffstat (limited to 'zellij-server/src/plugins')
-rw-r--r--zellij-server/src/plugins/mod.rs26
1 files changed, 22 insertions, 4 deletions
diff --git a/zellij-server/src/plugins/mod.rs b/zellij-server/src/plugins/mod.rs
index 7f412d52..564af769 100644
--- a/zellij-server/src/plugins/mod.rs
+++ b/zellij-server/src/plugins/mod.rs
@@ -552,21 +552,33 @@ pub(crate) fn plugin_thread_main(
)?;
},
PluginInstruction::DumpLayout(mut session_layout_metadata, client_id) => {
- populate_session_layout_metadata(&mut session_layout_metadata, &wasm_bridge);
+ populate_session_layout_metadata(
+ &mut session_layout_metadata,
+ &wasm_bridge,
+ &plugin_aliases,
+ );
drop(bus.senders.send_to_pty(PtyInstruction::DumpLayout(
session_layout_metadata,
client_id,
)));
},
PluginInstruction::ListClientsMetadata(mut session_layout_metadata, client_id) => {
- populate_session_layout_metadata(&mut session_layout_metadata, &wasm_bridge);
+ populate_session_layout_metadata(
+ &mut session_layout_metadata,
+ &wasm_bridge,
+ &plugin_aliases,
+ );
drop(bus.senders.send_to_pty(PtyInstruction::ListClientsMetadata(
session_layout_metadata,
client_id,
)));
},
PluginInstruction::DumpLayoutToPlugin(mut session_layout_metadata, plugin_id) => {
- populate_session_layout_metadata(&mut session_layout_metadata, &wasm_bridge);
+ populate_session_layout_metadata(
+ &mut session_layout_metadata,
+ &wasm_bridge,
+ &plugin_aliases,
+ );
match session_serialization::serialize_session_layout(
session_layout_metadata.into(),
) {
@@ -592,7 +604,11 @@ pub(crate) fn plugin_thread_main(
}
},
PluginInstruction::LogLayoutToHd(mut session_layout_metadata) => {
- populate_session_layout_metadata(&mut session_layout_metadata, &wasm_bridge);
+ populate_session_layout_metadata(
+ &mut session_layout_metadata,
+ &wasm_bridge,
+ &plugin_aliases,
+ );
drop(
bus.senders
.send_to_pty(PtyInstruction::LogLayoutToHd(session_layout_metadata)),
@@ -871,6 +887,7 @@ pub(crate) fn plugin_thread_main(
fn populate_session_layout_metadata(
session_layout_metadata: &mut SessionLayoutMetadata,
wasm_bridge: &WasmBridge,
+ plugin_aliases: &PluginAliases,
) {
let plugin_ids = session_layout_metadata.all_plugin_ids();
let mut plugin_ids_to_cmds: HashMap<u32, RunPlugin> = HashMap::new();
@@ -884,6 +901,7 @@ fn populate_session_layout_metadata(
}
}
session_layout_metadata.update_plugin_cmds(plugin_ids_to_cmds);
+ session_layout_metadata.update_plugin_aliases_in_default_layout(plugin_aliases);
}
fn pipe_to_all_plugins(