mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-10-23 04:02:10 +08:00
Move the app onto the tauri v3 alpha line (tauri 3.0.0-alpha.4 with the matching plugin alphas): - the runtime is injected explicitly (tauri-runtime-wry + .runtime(Wry::default())) and tauri::Wry generics give way to the DynRuntime defaults (menu/tray types spell it out); the devtools feature moved onto the runtime crate; run_on_main_thread arrives via tauri::Manager; TrayIcon access uses with_inner_blocking. - tauri-specta rides the tauri team's tauri-v3 port until it publishes, and that port pins the unpublished specta rc.26 line, so both resolve through [patch.crates-io] git entries - drop them once specta rc.26 and tauri-specta ship on crates.io. dev's specta IPC bindings, the frontend-contract export and its CI/pre-push parity checks keep working on top; bindings.ts regenerates with rc.26's named inline types (IVergeTestItem gains a _Serialize write shape, test-viewer normalizes new items to it). - the tray-icon patch stays dropped (upstream 0.25.1 ships the macOS 27 click-reentrancy fix); dev's muda patch is kept since tauri alpha.4 still rides muda 0.20. - tauri-plugin-mihomo points at the plugin's migration branch (clash-verge-rev/tauri-plugin-mihomo#13) until it merges. - the perf-harness feature and its main.rs wiring stay parked until tauri-plugin-wdio-webdriver publishes a tauri 3 release (1.5.0 still requires tauri ^2.10); scripts/perf/app.rs stays for the restore. - plugin-updater's JS API adapts to check() returning null instead of an Update with .available and the removed allowDowngrades option (the version comparison in checkUpdateSafe already guards downgrades); autostart renames ManagerExt::autolaunch to autostart. Manifests and lockfiles on both sides: pnpm 12.11.2, @tauri-apps api/cli alphas, minimumReleaseAgeExclude entries for the alpha.4 CLI binaries.