Reapply "refactor(app): reduce tech debt by eliminating wry fork" (#4555)

* Reapply "refactor(app): reduce tech debt by eliminating `wry` fork (#4500)"

This reverts commit 2535156dac.

* test: temporarily replace ad link by something with sound

* Revert "test: temporarily replace ad link by something with sound"

This reverts commit 74bb7eecb7cc7b17ccfd6b2e20c24eeec38ac363.

* Reapply "test: temporarily replace ad link by something with sound"

This reverts commit f1b0e9f2c4a30f789099048e98ffa91ff376f571.

* test: also disable ads init muting script for good measure

* Revert "test: also disable ads init muting script for good measure"

This reverts commit 4ac7a81e1780f13c976d033c420bfe1d5db9c298.

* Revert "Reapply "test: temporarily replace ad link by something with sound""

This reverts commit c5f1b9f242f5c7f56b40f21b586e8b484c7eb3c5.
This commit is contained in:
Alejandro González
2025-10-15 12:24:32 +02:00
committed by GitHub
parent 2535156dac
commit 7fa442fb28
4 changed files with 30 additions and 16 deletions

7
Cargo.lock generated
View File

@@ -9349,6 +9349,8 @@ dependencies = [
"url", "url",
"urlencoding", "urlencoding",
"uuid 1.18.1", "uuid 1.18.1",
"webview2-com",
"windows-core 0.61.2",
] ]
[[package]] [[package]]
@@ -11698,8 +11700,3 @@ dependencies = [
"wasm-bindgen", "wasm-bindgen",
"web-sys", "web-sys",
] ]
[[patch.unused]]
name = "wry"
version = "0.52.1"
source = "git+https://github.com/modrinth/wry?rev=f2ce0b0#f2ce0b0105d9d94f482c4f8ecffb4f3c3c325b40"

View File

@@ -240,9 +240,6 @@ wildcard_dependencies = "warn"
[profile.dev.package.sqlx-macros] [profile.dev.package.sqlx-macros]
opt-level = 3 opt-level = 3
[patch.crates-io]
wry = { git = "https://github.com/modrinth/wry", rev = "f2ce0b0" }
# Optimize for speed and reduce size on release builds # Optimize for speed and reduce size on release builds
[profile.release] [profile.release]
opt-level = "s" # Optimize for binary size opt-level = "s" # Optimize for binary size

View File

@@ -49,6 +49,10 @@ tauri-build = { workspace = true, features = ["codegen"] }
[target.'cfg(target_os = "linux")'.dependencies] [target.'cfg(target_os = "linux")'.dependencies]
tauri-plugin-updater = { workspace = true, optional = true } tauri-plugin-updater = { workspace = true, optional = true }
[target.'cfg(windows)'.dependencies]
webview2-com.workspace = true
windows-core.workspace = true
[features] [features]
# by default Tauri runs in production mode # by default Tauri runs in production mode
# when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL # when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL

View File

@@ -79,7 +79,6 @@ pub async fn init_ads_window<R: Runtime>(
override_shown: bool, override_shown: bool,
) -> crate::api::Result<()> { ) -> crate::api::Result<()> {
use tauri::WebviewUrl; use tauri::WebviewUrl;
const LINK_SCRIPT: &str = include_str!("ads-init.js");
let state = app.state::<RwLock<AdsState>>(); let state = app.state::<RwLock<AdsState>>();
let mut state = state.write().await; let mut state = state.write().await;
@@ -102,25 +101,42 @@ pub async fn init_ads_window<R: Runtime>(
webview.set_position(PhysicalPosition::new(-1000, -1000)); webview.set_position(PhysicalPosition::new(-1000, -1000));
} }
} else if let Some(window) = app.get_window("main") { } else if let Some(window) = app.get_window("main") {
let _ = window.add_child( let webview = window.add_child(
tauri::webview::WebviewBuilder::new( tauri::webview::WebviewBuilder::new(
"ads-window", "ads-window",
WebviewUrl::External( WebviewUrl::External(
AD_LINK.parse().unwrap(), AD_LINK.parse().unwrap(),
), ),
) )
.initialization_script(LINK_SCRIPT) .initialization_script_for_all_frames(include_str!("ads-init.js"))
// .initialization_script_for_main_only(LINK_SCRIPT, false) .user_agent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36")
.user_agent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36") .zoom_hotkeys_enabled(false)
.zoom_hotkeys_enabled(false) .transparent(true)
.transparent(true), .on_new_window(|_, _| tauri::webview::NewWindowResponse::Deny),
if state.shown { if state.shown {
position position
} else { } else {
PhysicalPosition::new(-1000.0, -1000.0) PhysicalPosition::new(-1000.0, -1000.0)
}, },
size, size,
); )?;
webview.with_webview(#[allow(unused_variables)] |webview2| {
#[cfg(windows)]
{
use webview2_com::Microsoft::Web::WebView2::Win32::ICoreWebView2_8;
use windows_core::Interface;
let webview2_controller = webview2.controller();
let Ok(webview2_8) = unsafe { webview2_controller.CoreWebView2() }
.and_then(|core_webview2| core_webview2.cast::<ICoreWebView2_8>())
else {
return;
};
unsafe { webview2_8.SetIsMuted(true) }.ok();
}
})?;
} }
} }