From fb294af8e3717d547029f3bbf9323318e0d9861a Mon Sep 17 00:00:00 2001 From: bicarlsen Date: Sat, 25 Jan 2025 13:13:13 +0100 Subject: [PATCH] fix(tauri-driver): Parse ms:edgeOptions separately (#12383) Co-authored-by: Fabian-Lars --- .changes/change-pr-12383.md | 5 +++++ crates/tauri-driver/src/server.rs | 13 +++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 .changes/change-pr-12383.md diff --git a/.changes/change-pr-12383.md b/.changes/change-pr-12383.md new file mode 100644 index 000000000..19dddfdef --- /dev/null +++ b/.changes/change-pr-12383.md @@ -0,0 +1,5 @@ +--- +"tauri-driver": "patch:bug" +--- + +Parse ms:edgeOptions separately to prevent `invalid argument` errors. diff --git a/crates/tauri-driver/src/server.rs b/crates/tauri-driver/src/server.rs index 0f011213e..f79624775 100644 --- a/crates/tauri-driver/src/server.rs +++ b/crates/tauri-driver/src/server.rs @@ -50,13 +50,18 @@ impl TauriOptions { #[cfg(target_os = "windows")] fn into_native_object(self) -> Map { + let mut ms_edge_options = Map::new(); + ms_edge_options.insert("binary".into(), json!(self.application)); + ms_edge_options.insert("args".into(), self.args.into()); + + if let Some(webview_options) = self.webview_options { + ms_edge_options.insert("webviewOptions".into(), webview_options); + } + let mut map = Map::new(); map.insert("ms:edgeChromium".into(), json!(true)); map.insert("browserName".into(), json!("webview2")); - map.insert( - "ms:edgeOptions".into(), - json!({"binary": self.application, "args": self.args, "webviewOptions": self.webview_options}), - ); + map.insert("ms:edgeOptions".into(), ms_edge_options.into()); map } }