diff --git a/src/wasm-lib/Cargo.lock b/src/wasm-lib/Cargo.lock index b3ae2d24c..14d4561ad 100644 --- a/src/wasm-lib/Cargo.lock +++ b/src/wasm-lib/Cargo.lock @@ -947,7 +947,7 @@ dependencies = [ [[package]] name = "kcl-lib" -version = "0.1.1" +version = "0.1.2" dependencies = [ "anyhow", "bson", @@ -975,9 +975,9 @@ dependencies = [ [[package]] name = "kittycad" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e71916b50966110cb9f70aa6c310748a153fdcb0183a02615324a6f457fd18e8" +checksum = "dfeb41d39852f5755cd3f2d1c06059839f268cbc5d0577c2d6a667c6ad5abdcf" dependencies = [ "anyhow", "base64 0.21.2", @@ -989,6 +989,7 @@ dependencies = [ "phonenumber", "schemars", "serde", + "serde_bytes", "serde_json", "thiserror", "url", diff --git a/src/wasm-lib/kcl/Cargo.toml b/src/wasm-lib/kcl/Cargo.toml index 745593064..2af6bfa00 100644 --- a/src/wasm-lib/kcl/Cargo.toml +++ b/src/wasm-lib/kcl/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "kcl-lib" description = "KittyCAD Language" -version = "0.1.1" +version = "0.1.2" edition = "2021" license = "MIT" diff --git a/src/wasm-lib/kcl/src/engine/conn.rs b/src/wasm-lib/kcl/src/engine/conn.rs index e33eeb1ee..4ae6af195 100644 --- a/src/wasm-lib/kcl/src/engine/conn.rs +++ b/src/wasm-lib/kcl/src/engine/conn.rs @@ -71,10 +71,12 @@ impl EngineConnection { loop { match tcp_read.read().await { Ok(ws_resp) => { - if !ws_resp.success { - println!("got ws errors: {:?}", ws_resp.errors); - export_notifier.notify_one(); - continue; + if let Some(success) = ws_resp.success { + if !success { + println!("got ws errors: {:?}", ws_resp.errors); + export_notifier.notify_one(); + continue; + } } if let Some(msg) = ws_resp.resp { diff --git a/src/wasm-lib/kcl/src/std/mod.rs b/src/wasm-lib/kcl/src/std/mod.rs index 47e971a61..78b3b4f62 100644 --- a/src/wasm-lib/kcl/src/std/mod.rs +++ b/src/wasm-lib/kcl/src/std/mod.rs @@ -96,6 +96,7 @@ impl<'a> Args<'a> { engine, } } + pub fn send_modeling_cmd(&mut self, id: uuid::Uuid, cmd: kittycad::types::ModelingCmd) -> Result<(), KclError> { self.engine.send_modeling_cmd(id, self.source_range, cmd) } diff --git a/src/wasm-lib/src/lib.rs b/src/wasm-lib/src/lib.rs index 213f65686..18eaddd07 100644 --- a/src/wasm-lib/src/lib.rs +++ b/src/wasm-lib/src/lib.rs @@ -31,8 +31,10 @@ pub async fn execute_wasm( pub fn deserialize_files(data: &[u8]) -> Result { let ws_resp: kittycad::types::WebSocketResponse = bson::from_slice(data)?; - if !ws_resp.success { - return Err(JsError::new(&format!("Server returned error: {:?}", ws_resp.errors))); + if let Some(success) = ws_resp.success { + if !success { + return Err(JsError::new(&format!("Server returned error: {:?}", ws_resp.errors))); + } } if let Some(kittycad::types::OkWebSocketResponseData::Export { files }) = ws_resp.resp {