summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2023-05-11 10:43:34 +0200
committerAram Drevekenin <aram@poor.dev>2023-05-11 10:43:34 +0200
commitb59dca24d15326ace4fac7d68101b723cbd902e0 (patch)
tree1a1dc33eb3e1575913329504fe362b53fcd88c2a
parentdb53d0a56f85f1d2b55d9abb3667648d7a4e5616 (diff)
even more refactoring
-rw-r--r--zellij-server/src/plugins/wasm_bridge.rs5
-rw-r--r--zellij-tile/src/shim.rs16
2 files changed, 13 insertions, 8 deletions
diff --git a/zellij-server/src/plugins/wasm_bridge.rs b/zellij-server/src/plugins/wasm_bridge.rs
index 36042c0db..81cee9b19 100644
--- a/zellij-server/src/plugins/wasm_bridge.rs
+++ b/zellij-server/src/plugins/wasm_bridge.rs
@@ -436,6 +436,10 @@ impl WasmBridge {
for (_plugin_id, loading_plugin_task) in self.loading_plugins.drain() {
drop(loading_plugin_task.cancel());
}
+ let plugin_ids = self.plugin_map.lock().unwrap().plugin_ids();
+ for plugin_id in &plugin_ids {
+ drop(self.unload_plugin(*plugin_id));
+ }
}
fn run_plugin_of_plugin_id(&self, plugin_id: PluginId) -> Option<&RunPlugin> {
self.loading_plugins
@@ -444,7 +448,6 @@ impl WasmBridge {
.map(|((_p_id, run_plugin), _)| run_plugin)
}
fn apply_cached_events_and_resizes_for_plugin(&mut self, plugin_id: PluginId) -> Result<()> {
- log::info!("apply_cached_events_and_resizes_for_plugin, {plugin_id}");
let err_context = || format!("Failed to apply cached events to plugin");
if let Some(events) = self.cached_events_for_pending_plugins.remove(&plugin_id) {
let all_connected_clients: Vec<ClientId> = self
diff --git a/zellij-tile/src/shim.rs b/zellij-tile/src/shim.rs
index 7f346e8f7..f1c1fb54d 100644
--- a/zellij-tile/src/shim.rs
+++ b/zellij-tile/src/shim.rs
@@ -80,18 +80,20 @@ pub fn object_to_stdout(object: &impl Serialize) {
}
#[doc(hidden)]
-pub fn post_message_to(worker_name: &str, message: String, payload: String) { // TODO: change name
- // to
- // post_message_to_worker?
- println!("{}", serde_json::to_string(&(worker_name, message, payload)).unwrap()); // TODO:
- // better
+pub fn post_message_to(worker_name: &str, message: String, payload: String) {
+ match serde_json::to_string(&(worker_name, message, payload)) {
+ Ok(serialized) => println!("{}", serialized),
+ Err(e) => eprintln!("Failed to serialize message: {:?}", e),
+ }
unsafe { host_post_message_to() };
}
#[doc(hidden)]
pub fn post_message_to_plugin(message: String, payload: String) {
- println!("{}", serde_json::to_string(&(message, payload)).unwrap()); // TODO:
- // better
+ match serde_json::to_string(&(message, payload)) {
+ Ok(serialized) => println!("{}", serialized),
+ Err(e) => eprintln!("Failed to serialize message: {:?}", e),
+ }
unsafe { host_post_message_to_plugin() };
}