Commit Graph

1894 Commits

Author SHA1 Message Date
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
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
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
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
Lucas Nogueira
1142289670 fix(tauri-runtime-wry): docs.rs build 2024-08-17 00:16:07 -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
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
d39c392b7c chore(deps): update tao and wry to latest (#10655) 2024-08-16 20:30:34 -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
b6dca99fff refactor(api)!: change window label getters to be async ref #5380 (#10630) 2024-08-15 09:12:40 -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
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
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
renovate[bot]
f65990d1d7 chore(deps) Update Rust crate json-patch to v2 (dev) (#10515)
* chore(deps) Update Rust crate json-patch to v2

* update other crates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-10 16:45:24 -03:00
chip
a975cd7976 yarn prettier --write core (#10471) 2024-08-10 15:44:33 -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
KV
10e30c5139 fix: 'ndecorated' typo in window shadow description (#10527) 2024-08-08 10:47:52 +08: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
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
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
deadmeu
699319d8a7 docs: Update tauri::app::Builder::setup example (#10463)
This resolves a warning emitted by following the example code: warning:
unused `Result` that must be used.
2024-08-03 09:50:27 -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
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
chip
b32295de18 prevent unnecessary rebuilds when working in the cargo workspace (#10442)
* hash codegen image cache output

* remove left over dbg! statement

* prevent info.plist from workspace rebuilds

* prevent schema generation from workspace rebuilds

* use new `Cached` struct in `CachedIcon`

* fmt

* use full import for cached plist

* use `to_vec()` for raw icons
2024-08-02 07:30:02 -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
chip
eaec5fe9c1 Limit pub exposure in 2.x (#10158)
* hide `Invoke` from documentation

* make `Asset` non-exhaustive

* make `InvokeRequest` non-exhaustive

* mark `tauri_utils::platform::Target` non-exhaustive

* mark the runtime crates as unstable API

* Revert "mark the runtime crates as unstable API" [skip ci]

This reverts commit b8377222e3.

* mark the runtime crates as unstable API

* Revert "mark the runtime crates as unstable API" [skip ci]

This reverts commit 9284897644.

* mark the runtime crates as unstable API

* mark tauri_utils::TitleBarStyle as `#[non_exhaustive]`

* mark `InvokeRequest` as non_exhaustive unless `unstable` feature

* mark config and acl items as unstable
2024-07-31 10:54:43 -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
martin frances
87029310b8 Minor: 'cargo doc' reports links need to be wrapped in angle brackets. (#10320) 2024-07-30 07:54:08 -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
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
Lucas Fernandes Nogueira
efdce038bb fix(core): apply clippy suggestions (#10394)
* fix(core): apply clippy suggestions

* more fixes
2024-07-29 10:53:53 +02: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