diff options
author | Aram Drevekenin <aram@poor.dev> | 2023-05-11 10:43:34 +0200 |
---|---|---|
committer | Aram Drevekenin <aram@poor.dev> | 2023-05-11 10:43:34 +0200 |
commit | b59dca24d15326ace4fac7d68101b723cbd902e0 (patch) | |
tree | 1a1dc33eb3e1575913329504fe362b53fcd88c2a | |
parent | db53d0a56f85f1d2b55d9abb3667648d7a4e5616 (diff) |
even more refactoring
-rw-r--r-- | zellij-server/src/plugins/wasm_bridge.rs | 5 | ||||
-rw-r--r-- | zellij-tile/src/shim.rs | 16 |
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() }; } |