* fix(core): `restart` cannot handle binary name change on macOS
Tauri v2 changed the default binary name of the bundled apps (no longer follows the productName, just uses the default name from Cargo instead). This breaks the `restart` function, which expects the current binary path to match the new one.
Due to this change, the restart() function for macOS is broken - the .app is correctly replaced even if the productName changed, but the restart() function cannot handle the new binary path. This change adds a simple check on macOS to read the `Contents/MacOS` folder and if it only contains a single binary, we use it to restart instead.
This inference cannot be used if there's sidecars, so in this case we just let the existing implementation run and if it fails to restart, we do not panic but only warn and exit instead.
AppImage updates are not affected by this, and the Windows installer is responsible for restarting, so this change is only applied to macOS binaries.
* fix: use Info.plist to determine binary name
* use log instead of eprintln
* move log
* fix#10935
Check if window has __TAURI_INVOKE__ before using it blindly.
* Update core/tauri/scripts/init.js
---------
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
* feat(bundler): store main binary name to be used in registry for furture updates
* revert wix changes as leftover binaries are fixed by https://github.com/tauri-apps/tauri/pull/10967
* feat(updater): support updating using non-zipped files
* minor
* fix compilation
* clippy
* pass `/UPDATE` to NSIS installer on updates
* clippy
* revert user-agent change
* add v1 -> v2 migration e2e test
* fix npm exec on windows
* downgrade serial-test for msrv
* fix sig ext for nsis v2
* fix windows e2e test
* add lcense headers
* fix conflict on e2e test on windows [skip ci]
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
* chore(deps) Update Tauri Bundler
* ci: Also check bundler and cli in msrv check
* fix
* 1
* 2
* 3
* msrv
* downgrade handlebars again
* x
* x
* x
* x
* x
* x
* this makes no sense
* srsly wtf
* me dumb dumb
* bufreader
* x
* x
* changefile
* fix permissions
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
* fix(core): fallback to file system for AssetResolver::get, closes#8411
Changes the AssetResolver::get implementation to fallback to reading the distDir directly when using the development mode pointing to a external URL (which is the way most people use the dev mode and means there's no embedded assets to pull from).
* fix clippy
* fix test
* clippy
* clippy2
* update time
* test if an uninitialized iframe can call the ipc
* test that calls without __TAURI_INVOKE_KEY__ fail
* fix cargo manifest newline change
* add comment to help unknown error message changes
* license headers
* add identifier and icons to config
* fix clippy error
* Create change-pr-9983.md
* add tag to changefile
* rename changefile