From 5a41aee20e5a1b17596ad9f603fbb5e8d5a3c925 Mon Sep 17 00:00:00 2001 From: mysticmomba Date: Wed, 10 Jun 2026 16:26:09 -0400 Subject: [PATCH] Added patch to WRY for ipc connector --- src-tauri/Cargo.lock | 96 +++++++++++++++++++++++++++++++++++++++----- src-tauri/Cargo.toml | 3 ++ src-tauri/src/lib.rs | 8 ++-- src/inject.js | 9 +---- wry | 1 + 5 files changed, 96 insertions(+), 21 deletions(-) create mode 160000 wry diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index a365b94..892b188 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -594,7 +594,20 @@ version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dae61cf9c0abb83bd659dab65b7e4e38d8236824c85f0f804f173567bda257d2" dependencies = [ - "cssparser-macros", + "cssparser-macros 0.6.1", + "dtoa-short", + "itoa", + "phf", + "smallvec", +] + +[[package]] +name = "cssparser" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9cdaae01d5ed7882b04d795e7f752f46ff52d2fa3b50a20d28c464510bba98" +dependencies = [ + "cssparser-macros 0.7.0", "dtoa-short", "itoa", "phf", @@ -611,6 +624,16 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "cssparser-macros" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a2a99df6e410a8ff4245aa2006499ea662245f967cc7c0a38c83ef8eb44dbf" +dependencies = [ + "quote", + "syn 2.0.117", +] + [[package]] name = "ctor" version = "0.8.0" @@ -787,11 +810,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521e380c0c8afb8d9a1e83a1822ee03556fc3e3e7dbc1fd30be14e37f9cb3f89" dependencies = [ "bit-set", - "cssparser", + "cssparser 0.36.0", "foldhash 0.2.0", - "html5ever", + "html5ever 0.38.0", "precomputed-hash", - "selectors", + "selectors 0.36.1", + "tendril", +] + +[[package]] +name = "dom_query" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fac5fca71e65e94cc718a6e2af65d6e0f9c6027751c2aa562fbb5087fda639bc" +dependencies = [ + "bit-set", + "cssparser 0.37.0", + "foldhash 0.2.0", + "html5ever 0.39.0", + "precomputed-hash", + "selectors 0.38.0", "tendril", ] @@ -1465,7 +1503,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1054432bae2f14e0061e33d23402fbaa67a921d319d56adc6bcf887ddad1cbc2" dependencies = [ "log", - "markup5ever", + "markup5ever 0.38.0", +] + +[[package]] +name = "html5ever" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a1761807faccc9a19e86944bbf40610014066306f96edcdedc2fb714bcb7b8" +dependencies = [ + "log", + "markup5ever 0.39.0", ] [[package]] @@ -1975,6 +2023,17 @@ dependencies = [ "web_atoms", ] +[[package]] +name = "markup5ever" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7122d987ec5f704ee56f6e5b41a7d93722e9aae27ae07cafa4036c4d3f9757de" +dependencies = [ + "log", + "tendril", + "web_atoms", +] + [[package]] name = "memchr" version = "2.8.1" @@ -2868,7 +2927,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5d9c0c92a92d33f08817311cf3f2c29a3538a8240e94a6a3c622ce652d7e00c" dependencies = [ "bitflags 2.13.0", - "cssparser", + "cssparser 0.36.0", + "derive_more", + "log", + "new_debug_unreachable", + "phf", + "phf_codegen", + "precomputed-hash", + "rustc-hash", + "servo_arc", + "smallvec", +] + +[[package]] +name = "selectors" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8adfa1c298912827b8a28b223b3b874357397ae706e6190acd9bf28cee99114d" +dependencies = [ + "bitflags 2.13.0", + "cssparser 0.37.0", "derive_more", "log", "new_debug_unreachable", @@ -3527,7 +3605,7 @@ dependencies = [ "brotli", "cargo_metadata", "ctor", - "dom_query", + "dom_query 0.27.0", "dunce", "glob", "http", @@ -4834,15 +4912,13 @@ checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" [[package]] name = "wry" version = "0.55.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186f9871daa55fd9c016578b810d149de58367113db7fb72b462d2323ce19514" dependencies = [ "base64 0.22.1", "block2", "cookie", "crossbeam-channel", "dirs", - "dom_query", + "dom_query 0.28.0", "dpi", "dunce", "gdkx11", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index a659d8e..4713e08 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -17,6 +17,9 @@ crate-type = ["staticlib", "cdylib", "rlib"] [build-dependencies] tauri-build = { version = "2", features = [] } +[patch.crates-io] +wry = { path = "../wry" } + [dependencies] tauri = { version = "2", features = ["tray-icon", "devtools"] } tauri-plugin-opener = "2" diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 1609a78..a0b8a69 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -19,7 +19,7 @@ pub fn run() { .title("WVU Medicine Help Alert") .inner_size(1200.0, 1000.0) .initialization_script(INJECT_JS) - .on_navigation(move |nav_url| { + .on_navigation(move |nav_url: &tauri::Url| { if nav_url.path().contains("helpalert.html") { if let Some(w) = w_handle.get_webview_window("main") { let _ = w.eval( @@ -37,7 +37,7 @@ pub fn run() { .tooltip("WVUMedicine Help Alert Web Client") .menu(&menu) .icon(app.default_window_icon().unwrap().clone()) - .on_menu_event(|app, event| match event.id.as_ref() { + .on_menu_event(|app: &tauri::AppHandle, event: tauri::menu::MenuEvent| match event.id.as_ref() { "show" => { if let Some(w) = app.get_webview_window("main") { let _ = w.show(); @@ -49,7 +49,7 @@ pub fn run() { } _ => {} }) - .on_tray_icon_event(|tray, event| { + .on_tray_icon_event(|tray: &tauri::tray::TrayIcon, event: TrayIconEvent| { if let TrayIconEvent::Click { button: MouseButton::Left, button_state: MouseButtonState::Down, @@ -66,7 +66,7 @@ pub fn run() { Ok(()) }) - .on_window_event(|window, event| { + .on_window_event(|window: &tauri::Window, event: &WindowEvent| { if let WindowEvent::CloseRequested { api, .. } = event { api.prevent_close(); let _ = window.hide(); diff --git a/src/inject.js b/src/inject.js index 6f9cf96..4da42d8 100644 --- a/src/inject.js +++ b/src/inject.js @@ -1,12 +1,7 @@ (function() { - const originalOpen = window.open; + var originalOpen = window.open; window.open = function(url) { - if (url && url.toString().includes('helpalert.html')) { - document.documentElement.innerHTML = - '' + - ''; - return null; - } + if (url) { window.location.href = url; return null; } return originalOpen.apply(this, arguments); }; })(); \ No newline at end of file diff --git a/wry b/wry new file mode 160000 index 0000000..6ef93b3 --- /dev/null +++ b/wry @@ -0,0 +1 @@ +Subproject commit 6ef93b3e99161446d8a829d8c985074c6f5d1c9c