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.
* feat(service): isolate macOS launch and owner runtime
* ci(windows): run owner security tests
* chore(deps): use kode-bridge v0.4.1 tag
* fix(macos): classify installed service state
* fix(macos): classify marked unavailable service
* fix(macos): gate core startup on service migration
* fix(macos): scope service init to supported platforms
* feat(macos): prompt before migrating installed service
* fix(macos): shorten sidecar IPC path
* build(service): pin helper protocol and artifacts
* fix(core): require confirmed service and sidecar readiness
* fix(macos): harden launch roots and singleton state
* fix(ui): refresh migration state before restart
* fix(macos): linearize service migration lifecycle
* fix(ui): keep service migration state fresh
* feat(service): track authenticated owner sessions
* fix(service): preserve newer owner sessions
* feat(macos): route service proxy changes through helper
* fix(macos): serialize service proxy guard
* fix(macos): close service proxy owner lifecycle
* fix(macos): close remaining proxy stop races
* fix(app): do not cancel controlled service stop
* fix(lifecycle): keep controlled updates cancellation-safe
* fix(macos): stage dev core for service
* test(macos): exercise staged core cleanup
* fix(dev): await controlled macOS exit
* chore: update changelog
* fix(macos): recover sidecar after service install failure
Allow the existing sidecar to continue when service installation leaves the manager in InstallRequired, then settle the session state as SidecarAllowed. Show neutral status text while the migration dialog waits for its final state.
* fix(macos): stage dev service tools before elevation
* fix(macos): localize launch guard prompts
* fix(service): address cross-platform integration issues
* feat: support seamless service migration
* fix: pass Windows service installer path safely
* fix(prebuild): derive service release from Cargo dependency
* fix(dev): preserve service installation state
* fix: resolve clippy warnings in service lifecycle
* feat: add notification system with hotkey events and permission handling
* Add macOS-specific handling for AppHidden notification
Introduces conditional support for the AppHidden notification event,
enabling macOS-specific behavior. Updates the enum and notification
logic to include this platform-specific feature.
Improves macOS user experience by accommodating system-level
application hiding events.
* Implement feature X to enhance user experience and fix bug Y in module Z
* refactor(notification): update notification keys for consistency and clarity
* chore(deps): update dependencies to latest versions
feat: add identifier, description, and windows properties to desktop-windows capabilities
fix: correct desktop-windows capability name in configuration