use wasm_bindgen::prelude::*; use starkingdoms_protocol::MessageC2S; use crate::CLIENT; use futures::SinkExt; #[wasm_bindgen] // TODO: Switch to async-aware mutexes #[allow(clippy::await_holding_lock)] pub async fn send_chat(message: &str) -> Result<(), JsError> { let client_data = &mut CLIENT.write()?.client_data; if let Some(data) = client_data { send!(data.tx, &MessageC2S::Chat { message: message.to_string() }).await?; } else { return Err(JsError::new("Client not yet connected to server")); } Ok(()) }