this changes the resource plugin close() API to fallback to the parent window and AppHandle resource tables, letting the JS to delete global resources.
The need for this was brought up on https://github.com/tauri-apps/plugins-workspace/pull/1860#issuecomment-2419175001
the store plugin stores the resources in the AppHandle, and we want the existing close() API to work on global resources otherwise every consumer needs their own resource close commands
* feat(cli): add support for providing custom app/src paths to tauri's CLI via optional env vars
* fix tests
* rename env vars (app vs src is confusing)
* add change file
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
* Warn that android is not supported
* Warn that Android is not supported.
* Update crates/tauri/src/ipc/mod.rs
---------
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
the audit failed, so the 2.0.2 release is failing. I'm also adding the latest merged change to the 2.0.2 release in this change so we're in sync in the changelog.
* fix(bundler): wrap `Exec` in desktop with quotes, rename appimage main binary if has spaces
* Update .changes/main-binary-name-spaces-linux.md [skip ci[
---------
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
custom IPC systems that manually call Webview::on_message must know the invoke key checked by Tauri. This exposes that key in the App/AppHandle instances.
This is safe because the key is never leaked to remote denied webview URLs
* chore: promote to v2 stable
- deletes all RC change files
- adds a new change file to promote all packages to v2 stable
- manually fix the tauri-driver, tauri-macos-sign, tauri-bundler versions so the next covector bump will move them to 2.0.0
- manually patch the metadata-v2.json file so the next covector update will mark all packages as 2.0.0
* ignore audit vuln without fixes
* bump msrv to 1.78
* run covector version
* fix sync lockfile covector
* #[allow(clippy::manual_inspect)]
* feat(cli): enhance Android dev port forwarding, closes#11137
this changes the `android dev` port forwarding (that is actually handled by the `android-studio-script` command - triggered by our Gradle plugin) with some enhancements:
- make the whole process more resilient by checking if the port was actually forwarded and rerunning the `adb reverse` command until it tells us the forward is ready
- if the `adb devices` list is empty, retry a few times (waiting a few seconds) to tolerate devices being booted - slows down "raw builds" (Build Project Android Studio menu for instance) that shouldn't happen often anyway - if you're running `android dev` you're usually running the app on a device instead of simply testing builds
* use host IP to run on android physical device
* fix(cli): iOS app signature not retaining entitlements, closes#11089
The IPA does not retain the entitlements as a regression from #10854 which removed the signing step from the build() and archive(), deferring to the export() call
To retain the entitlements we need to force sign one of the files in the app bundle. The most reliable way to do this is to use a self signed certificate as a dummy signature - it is replaced by the export() call so we do not rely on any user provided certificate
Additionally the export options are incorrectly configuring a manual signing, preventing Xcode from properly managing provisioning profiles, which is also part of the fix
* fix header