Files
Tunglies 71429f9a42 feat!: migrate to tauri 3.0.0-alpha
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.
2026-10-12 19:04:38 +08:00

81 lines
2.6 KiB
JSON

{
"identifier": "migrated",
"description": "permissions that were migrated from v1",
"local": true,
"windows": ["main"],
"permissions": [
"core:default",
"fs:allow-read-file",
"fs:allow-exists",
{
"identifier": "fs:scope",
"allow": ["$APPDATA/**", "$RESOURCE/../**", "**"]
},
"fs:allow-write-file",
{
"identifier": "fs:scope",
"allow": ["$APPDATA/**", "$RESOURCE/../**", "**"]
},
"fs:allow-app-read",
"fs:allow-app-read-recursive",
"fs:allow-appcache-read",
"fs:allow-appcache-read-recursive",
"fs:allow-appconfig-read",
"fs:allow-appconfig-read-recursive",
"core:window:allow-create",
"core:window:allow-center",
"core:window:allow-request-user-attention",
"core:window:allow-set-resizable",
"core:window:allow-set-maximizable",
"core:window:allow-set-minimizable",
"core:window:allow-set-closable",
"core:window:allow-set-title",
"core:window:allow-maximize",
"core:window:allow-unmaximize",
"core:window:allow-minimize",
"core:window:allow-unminimize",
"core:window:allow-show",
"core:window:allow-hide",
"core:window:allow-close",
"core:window:allow-set-decorations",
"core:window:allow-set-always-on-top",
"core:window:allow-set-content-protected",
"core:window:allow-set-size",
"core:window:allow-set-min-size",
"core:window:allow-set-max-size",
"core:window:allow-set-position",
"core:window:allow-set-fullscreen",
"core:window:allow-set-focus",
"core:window:allow-set-icon",
"core:window:allow-set-skip-taskbar",
"core:window:allow-set-cursor-grab",
"core:window:allow-set-cursor-visible",
"core:window:allow-set-cursor-icon",
"core:window:allow-set-cursor-position",
"core:window:allow-set-ignore-cursor-events",
"core:window:allow-start-dragging",
"core:window:allow-start-resize-dragging",
"core:window:allow-maximize",
"core:window:allow-toggle-maximize",
"core:window:allow-unmaximize",
"core:window:allow-minimize",
"core:window:allow-unminimize",
"core:window:allow-set-maximizable",
"core:window:allow-set-minimizable",
"core:webview:allow-print",
{
"identifier": "opener:allow-open-url",
"allow": [{ "url": "http://*" }, { "url": "https://*" }]
},
"dialog:allow-open",
"global-shortcut:allow-is-registered",
"global-shortcut:allow-register",
"global-shortcut:allow-unregister",
"global-shortcut:allow-unregister-all",
"process:allow-exit",
"clipboard-manager:allow-read-text",
"clipboard-manager:allow-write-text",
"dialog:default"
]
}