Commit Graph

2236 Commits

Author SHA1 Message Date
Lucas Fernandes Nogueira
faa259bacf
refactor(core)!: change Assets::iter item to use Cow (#10907)
* refactor(core): change `Assets::iter` item to use `Cow`

make the iterator more flexible to support Assets implementations that do not rely on static assets

* fix test?

* lint

* lint

* clippy again
2024-09-05 13:42:22 -03:00
Tony
d9c8d3cc8d
chore(deps): update infer, tray icon, urlpattern, image (#10902) 2024-09-05 14:10:08 +02:00
github-actions[bot]
a655d9c6ce
Apply Version Updates From Current Changes (#10865)
* apply version updates

* fix audit

---------

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-09-04 17:29:03 -03:00
Lucas Fernandes Nogueira
77056b194a
chore(tauri-runtime-wry): update tao to 0.30 and wry to 0.43 (#10895) 2024-09-04 09:51:42 -03:00
Amr Bashir
0899e50831
feat: derive serde::Serialize for SafePathBuf (#10884) 2024-09-04 09:55:19 +08:00
Tony
431ca2c776
enhance(core): add FromStr impl for SafePathBuf (#10870) 2024-09-03 05:20:31 +03:00
Lucas Fernandes Nogueira
27d0183431
fix(core): clippy warnings, simplify embed_plist usage (#10844)
* fix(core): clippy warnings

* fix test

* chore: simplify example
2024-09-03 01:09:27 +03:00
Lucas Fernandes Nogueira
9c9644d155
feat(cli): always validate iOS lib (#10845) 2024-09-02 13:13:34 -03:00
Lucas Fernandes Nogueira
b42683592d
fix(cli): iOS build targetting the simulator (#10847) 2024-09-02 13:13:22 -03:00
Lucas Fernandes Nogueira
79de4332b6
fix(core): isolation pattern breaks raw postMessage payload (#10841) 2024-09-02 13:12:59 -03:00
Lucas Fernandes Nogueira
5048a7293b
feat(core): always use the custom protocol IPC on Linux (#10840) 2024-09-02 13:12:29 -03:00
Lucas Fernandes Nogueira
f0acf504a2
feat(core): validate duplicated capability identifier (#10858)
having duplicate capability identifier lead to unexpected behavior because one of the capabilities gets ignored.
With this change the build script now fails when this happens.
2024-09-02 17:13:13 +03:00
Lucas Fernandes Nogueira
6696e48800
fix(core): Swift warning for null invoke.resolve() iOS plugin values (#10842)
`Any` does allow `nil`,  but must be explicitly set to avoid the Swift warning
2024-09-02 16:51:30 +03:00
github-actions[bot]
c55474f21d
apply version updates (#10855)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-09-01 09:50:31 -03:00
Lucas Fernandes Nogueira
6faa032766
fix(cli): iOS code signing failing on CI (#10854)
Looks like Apple cannot handle development profile automatic provisioning well

With this change we now skip code signing for build() and archive(), and let the export() function handle signing

see https://github.com/fastlane/fastlane/discussions/19973#discussioncomment-2688720 for more information
2024-09-01 09:29:48 -03:00
github-actions[bot]
82b084e65c
apply version updates (#10828) 2024-08-31 18:19:34 -03:00
Lucas Fernandes Nogueira
5af1f5dec1
fix(cli): automatic signing for iOS on CI (#10851)
ref https://github.com/tauri-apps/cargo-mobile2/pull/381
2024-08-31 17:58:58 -03:00
Lucas Fernandes Nogueira
5ec74456b9
feat(bundler): fallback to publisher for deb maintainer, closes #10777 (#10825) 2024-08-29 15:41:40 -03:00
github-actions[bot]
0d2efd9ff4
apply version updates (#10820)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-28 23:03:54 -03:00
Lucas Fernandes Nogueira
d7e5c00e94
feat(core): add plugin::PermissionState (#10817)
* feat(core): add `plugin::mobile::PermissionState`

* move to plugin module

* default, specta::Type
2024-08-28 22:34:03 -03:00
github-actions[bot]
abfbef4b9d
apply version updates (#10750)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-28 15:19:54 -03:00
Amr Bashir
d14a2a55f0
ci: fix a few relative paths (#10813)
* ci: fix a few relative paths

* Update .changes/config.json

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-08-28 13:27:33 -03:00
Amr Bashir
ebfe17e264
ci: fix sync-cli-metadata.js path (#10812) 2024-08-28 12:43:55 -03:00
Lucas Fernandes Nogueira
f67a9eb6de
feat(cli): synchronize Tauri config and lib name with iOS Xcode project (#10802)
- the Xcode project now uses a fixed output library name, which means changes to the Cargo.toml lib name won't affect it (backwards compatible change, we're checking if this new format is being used or not by reading the project.pbxproj)
- sync config identifier with the pbxproj
- sync development team config with the pbxproj

the sync runs both on dev and on build

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-08-28 12:11:50 -03:00
Lucas Fernandes Nogueira
f81929e251
feat(api): permission types for mobile plugins (#10799)
* feat(api): permission types for mobile plugins

let's have a central place to keep the permission types
ref https://github.com/tauri-apps/plugins-workspace/issues/979

* build
2024-08-28 17:49:05 +03:00
Amr Bashir
36eee37220
Restructure the repository (#10796)
* Restructure the repository

* lock file

* fmt

* fix bench

* fix cli template test

* remove accidental file

* fix mv command

* clippy

* upgrade paths-filter github action

* fix cli migration tests

* lockfile

* license headers

* clippy

* scope test-core to tauri crate

* license header

* correct --manifest-path usage

* lockfile

* fix tauri-driver on macOS [skip ci]

* build target ios

* try downgrade env_logger

* downgrade 0.1.7

* try to fix bench

* bench overflow

* revert overflow fix, fix tauri_root_path

* revert env_logger downgrade

* fmt

* raise msrv to 1.71

* fmt

* delete .cargo/config.toml [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-27 18:42:30 -03:00
Lucas Fernandes Nogueira
22d2afa89b
fix(core): add proguard rule to keep JSON deserializers (#10800) 2024-08-27 15:30:10 -03:00
Lucas Fernandes Nogueira
fbe76a955a
fix: serialize Uint8Array and ArrayBuffer as number[], closes #10336 (#10797) 2024-08-27 12:49:18 -03:00
Lucas Fernandes Nogueira
83ed090bfa
fix(cli): do not exit mobile dev if logger could not be attached (#10790)
I just faced this when I was connected to my iPhone but wireless. Xcode also lets this happen, you only miss the logs in this case.
2024-08-27 12:05:32 -03:00
Lucas Fernandes Nogueira
84070bae92
fix(cli): plugin ios init cmd not generating iOS folder, closes #10661 (#10792) 2024-08-27 12:05:19 -03:00
Lucas Fernandes Nogueira
edb2ca31f7
fix(cli): migrate v1 plugins NPM packages (#10794) 2024-08-27 12:01:15 -03:00
Lucas Fernandes Nogueira
02b2f964a7
fix(cli): add command version requirement for known plugin npm (#10795)
small regression from #10699 - NPM install is now prompting users to select the version
2024-08-27 17:02:14 +03:00
Lucas Fernandes Nogueira
9718dc9e8c
fix(cli): readd targetSdk to Android app template, closes #10712 (#10791)
Regression from #10558
2024-08-27 16:04:43 +03:00
Amr Bashir
1e441811ee
feat: add DoubleClick variant for TrayIconEvent (#10786)
* feat: add `DoubleClick` variant for `TrayIconEvent`

* revert api example change

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-27 16:03:55 +03:00
Lucas Fernandes Nogueira
3a4972b394
feat(cli): include arch in the tauri info output (#10793) 2024-08-27 16:02:40 +03:00
Masahiko Sakakibara
03f2a50981
fix(core): update swift-rs to fix iOS plugin builds (#10718)
* fix(cli): add comment suggest to use patch swift-rs

* Create change-pr-10718.md

* swift-rs 1.0.7 (still not published) [skip ci]

* update lockfile

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-27 08:22:13 -03:00
Lucas Fernandes Nogueira
fd68b7fdea
fix(cli): do not generate .cargo/config file (#10785) 2024-08-26 22:15:08 -03:00
Amr Bashir
ad83d41cb5
chore: cleanup and simplify examples (#10743) 2024-08-27 01:25:36 +03:00
Masahiko Sakakibara
f86a8146ad
feat(core): add plugin methods getArgs and getRawArgs for iOS and Android (#10761)
* feat(api): add method getArgsData

* chore

* return JSObject instead

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-26 16:55:51 -03:00
Masahiko Sakakibara
fb6bf31425
fix(plugin): fix android_package_id to follow cli (#10763)
* fix(plugin): fix android_package_id to follow cli

* Update tooling/cli/templates/plugin/src/mobile.rs

* add change file

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-08-26 13:39:05 -03:00
Lucas Fernandes Nogueira
073bb4f459
refactor(core): remove deprecated webview_fixed_runtime_path option (#10772)
* refactor(core): remove deprecated webview_fixed_runtime_path option

* update migration
2024-08-25 16:35:42 -03:00
Lucas Fernandes Nogueira
09e9dc1aab
feat(cli): allow xcodebuild to manage iOS signing and provisioning (#10752) 2024-08-23 21:12:49 -03:00
Lucas Fernandes Nogueira
2d31aef759
fix(cli): ensure gradlew is executable and does not use CRLF (#10751)
* test fix

* ensure gradle is executable and does not use CRLF

* fix import

* add change file

* add 0o111 instead
2024-08-23 10:49:45 -03:00
Tony
58dda44a59
feat(bundler/nsis): add minimum webview2 version checks (#10339) 2024-08-23 15:21:39 +03:00
chip
88bc357325
fix: generate Context inside a thread (#10734)
* generate `Context` inside a thread

fix #9882

this is a workaround for #9882 due to windows having a small
stack size for the main thread (1MiB) versus other platforms which
have 8MiB. the true fix would be to lower the generated code
stack size, but with lots a plugins, there are lots of ACL
configurations.

* add change file [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-08-23 08:46:23 -03:00
Amr Bashir
91e9e784aa
feat(cli/info): include plugins info (#10729)
* feat(cli/info): include plugins info

closes #10682

* header

* resolve package manager once

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-08-23 08:29:03 -03:00
github-actions[bot]
9620c58e5a
Apply Version Updates From Current Changes (#10740) 2024-08-22 11:50:17 -03:00
Lucas Fernandes Nogueira
c33adb19a7
Revert "apply version updates (#10715)" (#10739)
This reverts commit dc49cb3d9b.
2024-08-22 09:44:23 -03:00
github-actions[bot]
dc49cb3d9b
apply version updates (#10715)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-22 09:43:45 -03:00
chip
5f64ed2b78
support 1.x automation env var in tauri-driver (#10738)
* support 1.x and 2.x automation env var

* changefile
2024-08-22 09:29:10 -03:00
Amr Bashir
f4d5241b37
chore: cleanup unnecessary scripts and files (#10731)
* chore: cleanup unnecessary scripts and files

- Removed `.cargo/config` and `__TAURI_WORKSPACE__` workaround
- Removed husky and precommit hooks
- Remove unecessary script files
- Moved `.scripts/covector/sync-cli-metadata.js` to `.scripts/ci/sync-cli-metadata.js`
- Moved `app-icon.png` to `.github/icon.png`
- Enhanced has-diff.sh script to output which files are modified

* lock file

* bring back __TAURI_WORKSPACE__

* add change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-08-22 07:56:52 -03:00
Lucas Fernandes Nogueira
793ee05317
fix(core): allow hyphens and underscores on identifiers, closes #9707 (#10700)
* fix(core): allow hyphens and underscores on identifiers, closes #9707

* fix build

* fix build

* lint

* move replace

* update tao

* update tao-macros
2024-08-21 13:46:25 -03:00
Lucas Fernandes Nogueira
da8c9a7d30
refactor(cli): synchronize pbxproj and export options, handle cert on build (#10669) 2024-08-21 11:38:02 -03:00
Lucas Fernandes Nogueira
9bcff3cd79
fix(core): properly remove isolation script from DOM (#10703) 2024-08-21 09:08:16 -03:00
github-actions[bot]
762cf31a11
apply version updates (#10698)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-20 14:25:20 -03:00
Lucas Fernandes Nogueira
1a60822a42
fix(cli): add should use 2.0.0-rc for known plugins (#10699)
changes the CLI `add` command to match the CLI major and pre requirements for known plugins

this is required because right now adding the deep-link plugin installs the v1 plugin (latest version known by cargo as the v2 is still in RC), even though we're running the v2 CLI
2024-08-20 14:09:50 -03:00
Lucas Fernandes Nogueira
da381e07f3
feat(core): resources on mobile apps (#10696)
* feat(core): resources on mobile apps

* resources dir on android
2024-08-20 13:49:17 -03:00
github-actions[bot]
02f85dffbe
apply version updates (#10685)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-19 21:35:58 -03:00
LiesAuer
30c7685eb8
feat: add Builder::append_invoke_initialization_script (#10295)
* Allow to append a custom initialization script

* docs: add doc for `Builder::append_invoke_initialization_script`

* Update core/tauri/src/app.rs

* Update core/tauri/src/app.rs

* add change file

* fix signature

* fix doc test

* doc fmt

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-08-19 16:41:28 -03:00
Lucas Fernandes Nogueira
ed04cc3d36
feat(core): enhance IPC permission error message (#10664)
* feat(core): enhance IPC permission error message

- include more information about current URL and allowed origins
- enhance formatting of the error message

* plugin not found & command not found

* lint
2024-08-19 16:41:09 -03:00
Lucas Fernandes Nogueira
7796a8fc64
fix(cli): adapt Package.swift to work on older Swift versions (#10687)
I noticed the plugin build fails on older Swift (tested on macOS 12) because the default minimum required macOS version (10.10 in my case) is older than `v10_13` which is set by the Tauri iOS package (and also swift-rs).
So the plugins must explicitly define a minimum macOS version too.
2024-08-19 16:29:16 -03:00
anatawa12
8d148a9e25
feat: Custom sign command with object notation (#10634)
* feat!: Custom sign command with object notation

* implement JsonSchema if schema feature is enabled

* feat: support old string-based custom signing command config

* format: Run cargo fmt inside tooling/bundler folder

* chore: update json schema

* format: cargo fmt again

* small cleanup

* fix change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-19 15:55:58 -03:00
Sebastian Neubauer
5c335ae9ad
fix(android): avoid rebuilds if nothing changed (#10648)
* fix(android): avoid rebuilds if nothing changed

Unconditionally overwriting files where the build reruns if they changed
leads to rebuilds every time.
Only overwrite a file if its content is different to not rebuild in such
a case.

* use write_if_changed utils

* use existing function

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-19 13:33:39 -03:00
Masahiko Sakakibara
8ae52a615a
fix(cli): change "register_ios_plugin" params to snake case (#10676)
* fix(cli): change "register_ios_plugin" params to snake case

* Create change-pr-10676.md

* Update .changes/change-pr-10676.md

* Update .changes/change-pr-10676.md

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-08-19 13:29:01 -03:00
Norbiros
77844529f3
fix: Correctly export DefaultPermissionsRule (#10678)
* fix: Correctly export `DefaultPermissionsRule`

* Update fix-export-default-permissions.md

* fix: Lint

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-08-19 13:10:05 -03:00
Guillaume M
9b99ebab17
fix(cli): do not force architecture when building and archiving iOS app (#10431)
* feat(ios): add a new cli option to dev to use project archs

Add a new option to instruct cargo-mobile2 to use architectures configured in the project for building

* update cargo-mobile2, add change file

* fix change file [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-19 12:36:48 -03:00
github-actions[bot]
b25545c53f
apply version updates (#10683)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-19 09:48:54 -03:00
Lucas Fernandes Nogueira
c689521a76
fix(api): tslib path (#10681) 2024-08-19 09:27:45 -03:00
Jacob Bolda
52fdcaaf28
skip prepublish on api (#10658) 2024-08-18 07:55:19 -03:00
Jacob Bolda
ee0b53fbe2
skip pack in publish, use check fetch (#10657)
* skip pack in publish, use check fetch

* remove script

* remove apt, exists in main pipeline

* CLI doesn't need separate check

* no assets for tauri-cli
2024-08-18 07:54:59 -03:00
Lucas Nogueira
85c2d6302e
fix(ci): set NPM_CONFIG_PROVENANCE to true 2024-08-17 00:15:00 -03:00
Lucas Nogueira
07a5f505d9
fix(ci): run pnpm publish with --no-git-checks 2024-08-17 00:12:24 -03:00
Lucas Nogueira
30667714c0
fix(ci): wrong prepublish scripts for @tauri-apps/api 2024-08-16 23:54:55 -03:00
github-actions[bot]
3522fbd78e
Apply Version Updates From Current Changes (#10561)
* apply version updates

* fix versions

---------

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-16 23:39:49 -03:00
Amr Bashir
01f6aa3405
build: migrate repo to use pnpm as the package manager (#10607)
* build: migrate repo to use `pnpm` as the pacakge manager

* corepack enable

* update lock file

* format files

* format .github

* fix audit js

* wrap in quotes

* --frozen-lockfile

* simplify packageManager field

* lockfile

* remove cache from audit workflow
2024-08-16 23:04:08 -03:00
Amr Bashir
9e891933d8
fix(utils): fix resources map becomes directory (#10293)
* fix(utils): fix resources map becomes directory

closes #10187

Fixes the behavior of mapped resources generating extra directory, for example:
`"../resources/user.json": "resources/user.json"` generates this resource `resources/user.json/user.json`
where it should generate `resources/user.json`

This PR includes a refactor of the Iterator implementation which splits it into more scoped functions and relis on recursing instead of a loop which makes the code a lot more readable and easier to maintain.

* clippy

* cover more cases

* clippy

* fix glob into directory, not resolving target correctly

* return error when resource origin path doesn't exist

* fix resources example build

* Update .changes/resources-map-becoming-dirs.md

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-16 23:03:14 -03:00
Lucas Fernandes Nogueira
8deb1966ac
feat(bundler): infer signing identity from certificate to import (#10652) 2024-08-16 20:30:49 -03:00
Lucas Fernandes Nogueira
d39c392b7c
chore(deps): update tao and wry to latest (#10655) 2024-08-16 20:30:34 -03:00
Lucas Fernandes Nogueira
1b0c447fcb
fix(macos-sign): missing stdout/stderr in Node.js context (#10654) 2024-08-16 20:16:00 -03:00
Lucas Fernandes Nogueira
10fb027b75
fix(cli): migrate v1 plugin dependencies, prevent dup, closes #10650 (#10656) 2024-08-16 19:58:20 -03:00
Lucas Fernandes Nogueira
d0510f52eb
refactor(core): serialize response once, closes #5641 (#10641)
* refactor(core): serialize response once closes #5641

This change impacts both the custom protocol and the postMessage based IPC implementations. Basically it changes the whole IPC mechanism to work on raw JSON strings so we do not need to serialize a serde_json::Value after serializing to it from a user-provided type.

i benchmarked this with a 150MB file response (returning Vec<u8> instead of tauri::ipc::Response since the latter does not serialize at all) and it went from 29s to 23s (custom protocol) and from 54s to 48s (post message) on macOS.

* fix mobile & lint

* clippy
2024-08-15 16:15:11 -03:00
Lucas Fernandes Nogueira
f712f31d1d
fix(cli): add notarize error (#10639)
* fix: add notarize error

* add change file
2024-08-15 14:12:03 -03:00
Lucas Fernandes Nogueira
9089d97637
fix(cli): properly resolve merge config on mobile build closes #9970 (#10605)
just applying the change from #10600 to xcode to fix the linked issue :)
2024-08-15 10:50:19 -03:00
Lucas Fernandes Nogueira
b6dca99fff
refactor(api)!: change window label getters to be async ref #5380 (#10630) 2024-08-15 09:12:40 -03:00
Lucas Fernandes Nogueira
b160f9359d
fix(cli): only validate iOS lib on debug builds (#10638) 2024-08-15 09:12:21 -03:00
Broken_Deer
521d1d5cdb
fix(bundler): armv7 appimage bundler uses invalid download links [closes #6579] (#10619)
* Update appimage.rs

* Update appimage.rs

* Create change-pr-10619.md

* Update change-pr-10619.md

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-08-14 17:39:36 +02:00
Lucas Fernandes Nogueira
9f75d06228
fix(cli): adb port forward error handling, add logs, closes #9509 (#10604) 2024-08-13 22:07:02 -03:00
Amr Bashir
39bf0a1635
refactor: rename TAURI_SIGNTOOL_PATH -> TAURI_WINDOWS_SIGNTOOL_PATH (#10595)
immediately after merging #10588 I noticed that the variable name might be a bit ambigious and could cause confusion on other pl atforms other than Windows
2024-08-13 21:48:12 -03:00
Amr Bashir
78e22bedca
feat(cli): support AndroidTV by default (#10602)
closes #10534
2024-08-13 21:47:41 -03:00
Lucas Fernandes Nogueira
f4cd68f040
fix(cli): builtin dev server should also be forwarded for Android (#10600) 2024-08-13 21:11:01 -03:00
Lucas Fernandes Nogueira
f35bcda289
feat(cli): handle known target specific plugins on permission add #10596 (#10598)
Closes #10596
2024-08-13 14:01:10 -03:00
Lucas Fernandes Nogueira
712f1049fa
fix(cli): ios dev and ios build support for bun (#10569) 2024-08-13 09:00:41 -03:00
Lucas Fernandes Nogueira
41c7a6646b
fix(cli): properly exit with code 0 on panic when running with bun (#10572) 2024-08-13 08:53:04 -03:00
anatawa12
f8d658ea1b
feat: TAURI_SIGNTOOL_PATH environment variable for specifying the path to signtool.exe. (#10588) 2024-08-13 14:49:28 +03:00
Lucas Fernandes Nogueira
fedf93eb7e
refactor(core): return 200 on any IPC call, closes #10286 (#10585)
* refactor(core): return 200 on any IPC call, closes #10286

By default the webview prints a `Failed to load resource: the server responded with a status of 400 (Bad Request) ipc://localhost` error message when a command returns an error, which is confusing to users.

This changes the IPC to return status 200 on any call, with a header to indicate whether the result was ok or not. This removes the console error, which would only log the actual error result if it isn't caught by the user.

* add change file

* apply code review changes
2024-08-13 08:39:20 -03:00
Lucas Fernandes Nogueira
b1d9ffa1ab
fix(core): IPC fallback hanging when sending responses, closes #10327 (#10582)
The IPC fallback system kicks in when the custom protocol implementation cannot be used (e.g. CORS issues).
The fallback uses the postMessage mechanism, which by default uses channels to send large responses. If the custom protocol implementation cannot be used, we should not use channels, but eval the response directly.
2024-08-13 07:38:49 -03:00
Lucas Fernandes Nogueira
794cf8234f
chore(cli): change default export method to debugging (#10571) 2024-08-13 04:04:16 +03:00
Lucas Fernandes Nogueira
9fe846615b
fix(core): plugin permissions documentation heading (#10547)
Co-authored-by: Tillmann <28728469+tweidinger@users.noreply.github.com>
2024-08-13 03:58:44 +03:00
Lucas Fernandes Nogueira
3bec7b1595
feat(cli): add support to Svelte and Vue.js code on v1 migration (#10544)
* feat(cli): add support to Svelte and Vue.js code on v1 migration

* clippy
2024-08-12 13:45:42 +09:00
Lucas Fernandes Nogueira
3998570fd3
fix(cli): manifest v1 migration (#10540)
update features that got removed/renamed, and also migrate any core crate on any dependency table
2024-08-12 12:23:39 +09:00
Lucas Fernandes Nogueira
3beba92b5b
fix(cli): incorrect JS generated by frontend migration closes #10500 (#10542)
* fix(cli): incorrect JS generated by frontend migration closes #10500
2024-08-12 12:10:27 +09:00
Lucas Fernandes Nogueira
f3837d5b98
fix(cli): broken v1 updater migration, add TOML support, closes #10508 (#10539)
- make the v1 config migration more resilient by checking null values
- fix "targets: all" incorrectly migrating createUpdaterArtifacts when there's no updater configuration (this is problematic because this targets config is the default)
- migrate Tauri.toml
- add more tests
2024-08-12 11:56:13 +09:00
苏向夜
71d00646a9
feat(cli): detect project NPM package manager on init (#10504)
* feat(cli): improve init behavior to ask once

* chore(cli): bump version

* fix(clippy): fix clippy warning

* feat(cli): add `bun` and fix version bump msg

* refactor(cli): auto detect the package manager

* move function

* update change file

* update change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-11 18:33:26 -03:00
Sam Kearney
2d47352a07
fix(cli): make app_dir() logic consistent (#10418)
* fix(cli): Make app_dir() consistent by basing it on the explicit invocation directory rather than the current working directory

* resolve app paths before everything else

* fix xcode script

* fix test

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-11 09:44:15 -03:00
Yuri Astrakhan
0afee5ed80
chore: update brotli dependency to v6 (#10436)
* chore: update brotli dependency to v6

brotli v6 plays nice with other versions of the same crate

* add change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-11 08:23:31 -03:00
AHQ
bfc49cc7a1
refactor(android): Remove targetSdk from gradle config (#10558)
* refactor: remove targetSdk as it is being removed in DSL 9.0

* note

* fix: typo

* update: changelog

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-08-11 07:06:14 -03:00
anatawa12
4bfe4880fb
fix: fails to build universal fat binary if main bin is renamed to another name (#10550)
* fix: fails to build universal fat binary if main bin is renamed to another name

* lint

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-11 06:56:53 -03:00
Maarten
bba1a44191
feat(cli): allow skipping rustfmt project reformatting when adding a plugin (#10457)
* feat(cli): allow skipping rustfmt project reformatting

* Apply suggestions from code review

* fixes, change file

* fix change file

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-08-10 17:09:07 -03:00
rwv
008b9f7481
chore: generate provenance statements for npm package (#10477)
* chore: generate provenance statements for npm package

See also https://docs.npmjs.com/generating-provenance-statements#example-github-actions-workflow

* also add --provenance for covector publishes

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-10 15:48:04 -03:00
Norbiros
0bb7b0f352
feat: Add option to generate default permissions for inlined plugins (#10559)
* feat: Add option to allow all commands by default

* option to use a list of permissions, move logic to tauri-build

* fix plugin

* add utils change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-10 15:34:49 -03:00
github-actions[bot]
ab4e56f5d2
apply version updates (#10532)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-08 23:52:47 -03:00
Fabian-Lars
f5dfc02800
fix(core/cli): Add custom default implementation for ios config (#10533)
* fix(cli): Add custom `default` implementation for ios config

* fix change
2024-08-08 19:57:56 -03:00
Fabian-Lars
5f56cb0a8b
feat(cli): Upgrade gradle to 8.9 and gradle-android to 8.5.1 (#10507)
* feat(cli): Upgrade gradle to 8.9 and gradle-android to 8.5.1

* Update .changes/android-gradle-8-9.md

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-08-08 08:48:54 -03:00
github-actions[bot]
393428e5c8
apply version updates (#10524)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-07 14:50:33 -03:00
Lucas Fernandes Nogueira
8dc81b6cc2
feat(core): add option for custom Xcode project template (XcodeGen) (#10496) 2024-08-07 13:17:01 -03:00
Lucas Fernandes Nogueira
02c00abc63
feat(core): add config for the minimum iOS version (#10495)
* feat(core): add config for the minimum iOS version

* revert api exapmle
2024-08-07 13:16:27 -03:00
Catalin Andrei Cacuci
a440a3f9d8
fix(bundler): Correct nsis pre-uninstall hook to post-uninstall (#10498)
* fix(bundler): Correct nsis pre-uninstall hook to post-uninstall

* Create change-pr-10498.md

* Update change-pr-10498.md [skip ci]

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-08-05 19:15:45 +02:00
Lucas Fernandes Nogueira
2e8ab7bac1
fix(cli): v1 migration should add the updater plugin if it is enabled (#10481)
* fix(cli): v1 migration should add the updater plugin if it is enabled

* fix change tag

* move to process_updater

* Update tooling/cli/src/migrate/migrations/v1/config.rs

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-08-05 10:00:33 -03:00
Lucas Fernandes Nogueira
a3cd9779a4
chore(cli): remove android open and ios open commands (#10480)
It is recommended to use `[android|ios] dev --open` or `[android|ios] build --open` instead as it properly sets up the requirements for developing and building apps with Tauri.
2024-08-05 09:57:54 -03:00
Lucas Fernandes Nogueira
8e1e15304e
feat(cli): check if Rust lib contains required Android and iOS symbols #10094 (#10483)
* feat(cli): check if Rust lib contains required Android symbols #10094

* check for ios aswell
2024-08-05 09:46:28 -03:00
Lucas Fernandes Nogueira
ca68689564
feat(cli): check if project identifier or lib name changed (#10479)
* feat(cli): check if project identifier changed

* implement ios check

* also check lib name

* clippy

* ensure_init from xcode-script

* fill change file [skip ci]
2024-08-05 09:45:18 -03:00
anatawa12
7e810cb2a3
fix: permission file uses ':' in file name (#10485)
* fix: permission file uses ':' in file name

* style: rustfmt
2024-08-05 09:45:00 -03:00
github-actions[bot]
b9a4410516
apply version updates (#10468)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-08-03 10:22:38 -03:00
Lucas Fernandes Nogueira
fb1933f174
fix(cli): android dev --open failing due to adb not finding device (#10467) 2024-08-03 10:04:26 -03:00
Lucas Fernandes Nogueira
206914fe8d
fix(cli): adb reverse failing in Node.js (#10466) 2024-08-03 09:47:50 -03:00
Lucas Fernandes Nogueira
88619e8914
feat: promote v2 to RC (#10434)
* feat: promote v2 to RC

* update changelog
2024-08-02 10:28:06 -03:00
Lucas Fernandes Nogueira
7ba67b4aca
refactor!: use localhost for development on Android devices and emulators or iOS simulators (#10437)
* feat(cli): use localhost on mobile!

* change cargo-mobile2

* use public network address on iOS device :(

* add change file

* actually breaking

* pin cargo-mobile2

* rename env var
2024-08-02 07:35:18 -03:00
Lucas Fernandes Nogueira
a5bfbaa62b
feat: add iOS frameworks config option, closes #9962 (#10393)
* feat: add iOS frameworks config option, closes #9962

* fix template

* typo
2024-08-02 07:35:03 -03:00
Oscar Beaumont
6755af2302
fix: Specta remote implementation for Channel (#10435)
* Update channel.rs
* Don't rely on `DataType` reexport
2024-08-01 16:26:52 +09:00
Lucas Fernandes Nogueira
24445d71de
fix(core): usage without the compression feature (#10432) 2024-07-31 18:40:02 -03:00
Lucas Fernandes Nogueira
1e0793b682
feat(core): fallback to file system for AssetResolver::get, closes #8411 (#10357)
* feat(core): fallback to file system for AssetResolver::get, closes #8411

Ports #10356 to v2

* fix test

---------

Co-authored-by: Chip Reed <chip@chip.sh>
2024-07-31 07:13:40 -03:00
Lucas Fernandes Nogueira
d5511c3117
feat(cli): add migration from 2.0.0-beta to 2.0.0-rc (#10395)
* refactor(cli): check tauri version on migration

* rc migration

* license headers

* fix tests

* add path

* update schema
2024-07-30 16:32:59 -03:00
chip
426d14bb41
check the main frame's origin in isolation.js (#10423)
* check the main frame's origin in isolation.js

* add changefile

* correct changefile tag

* use strict origin checking
2024-07-30 16:32:32 -03:00
Lucas Fernandes Nogueira
758d28c8a2
refactor: core plugin permissions are now prefixed core:, closes #10359 (#10390)
* refactor: core plugin permissions are now prefixed core:, closes #10359

* code review

* expand reserved plugin names

* fix

* add core:default permission set

* fix permission usage

---------

Co-authored-by: Tillmann <28728469+tweidinger@users.noreply.github.com>
2024-07-30 07:52:43 -03:00
Tillmann
a0841d509a
Add change file for #10360 (#10421) 2024-07-30 14:29:06 +09:00
chip
cf994a6bb0
add failable try_build for plugin builder (#10405)
* add failable try_build for plugin builder

* add changefile

* implement `Hash`, `PartialEq` for `BuilderError`

* mark config and acl items as unstable

give some doc tips if they need to be used from Rust

* Revert "mark config and acl items as unstable" [skip ci]

This reverts commit e23728edb6.
2024-07-29 10:51:56 -03:00
Lucas Fernandes Nogueira
289ae5555d
feat: re-enable TLS checks for Android and dev proxy (#10386)
* feat: re-enable TLS checks for Android and dev proxy

* update time
2024-07-29 10:43:59 -03:00
Vladimir Stoilov
7aeac39e7f
feat(core): make setting of gtk app id optional (#10397)
* feat(core): make setting of gtk app id optional

* Fix change file

* Update .changes/linux-option-gtk-app-id.md

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

* [skip ci] Update linux-option-gtk-app-id.md

* Update app.rs

* Update app.rs

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-07-29 15:26:13 +02:00
Ernest M. van der Linden
498f405ca8
fix(core): Conf parsing error always displays tauri.conf.json file name even when using toml or json5 (#10404)
* Conf parsing error displays `tauri.conf.json` when using toml or json5

Conf parsing error always displays `tauri.conf.json` as path, even when using `Tauri.toml` or `tauri.conf.json5`

Example Error Message when using Tauri.toml:
Error unable to parse toml Tauri config file at
/Users/bla/repo/bla/bla/src-tauri/tauri.conf.json because
invalid TOML value, did you mean to use a quoted string? at line 41
column 7

* merge changefile pr into main pr

* Update and rename fix-conf-parsing-error-filepath to fix-conf-parsing-error-filepath.md

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-07-29 14:54:21 +02:00
github-actions[bot]
2a402b4845
apply version updates (#10281)
Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
2024-07-29 07:27:56 -03:00
Brendan Allan
e1776946ad
fix(core): use specta's derive feature (#10362)
* use specta's derive feature

* use specta rc.15

* .changes file

* try patched specta

* specta rc.16

* Update .changes/specta-derive-feature.md

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

* Update specta-derive-feature.md [skip ci]

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-07-24 12:47:51 +02:00
Jason Tsai
9546548ec0
fix(macos): set default title-bar style to Visible, close #10225 (#10297)
* fix(macos): set default title-bar style to `Visible`

* chore: add TODO
2024-07-17 06:40:38 +03:00
Amr Bashir
da25f73530
feat: add granular size constraints APIs (#10242) 2024-07-17 04:05:56 +03:00
Tony
9f0a5fceac
changes(nsis): move pre hooks before kill app (#10271) 2024-07-15 14:54:02 +03:00
Tony
d1df6be701
fix(bundler): warning for self contained updaters (#10270)
* Fix warning for self contained updaters

* Add change file
2024-07-15 16:18:48 +08:00
Tony
3c17fb64fd
Fix Webview.reparent pointing to wrong Rust API (#10277) 2024-07-14 19:20:56 +08:00
github-actions[bot]
6d965e9fbf
apply version updates (#10179)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-07-12 16:37:38 -03:00
Lucas Fernandes Nogueira
7c7fa0964d
feat(cli): iOS signing for CI usage (#9963)
* feat(cli): iOS signing for CI usage

* license headers

* change file

* chore: support more cert types

* xplicit method arg

* keep keychain alive

* fix early keychano drop

* set team id

* use common name as cert name
2024-07-12 11:08:55 -03:00
Amr Bashir
261c9f942d
refactor!(core & api): rename drag events for better consistency and clarity (#10170)
* refacotr!(core & api): rename drag events for better consistency and clarity

* more renames

* remove imports

* fix drag over listen

* update example

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-07-12 10:22:06 -03:00
Lucas Fernandes Nogueira
69dcfdfe0f
fix(build): skip rerun-if-changed when Info.plist do not exist (#10267) 2024-07-12 10:13:08 -03:00