Commit Graph

367 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Fabian-Lars
7acac58d23 docs(core): Fix syntax in tauri.conf.json example (#10299) 2024-07-17 04:27:20 +03:00
Amr Bashir
4c239729c3 fix(core): fix raw invoke body for isolation pattern (#10167)
* fix(core): fix raw invoke body for isolation pattern

The `isolation` pattern requests are made using JSON but the payload could be raw bytes, so we send the original `Content-Type`  from frontend and make sure to deserialize the payload using that one instead of `Content-Type` from request headers

* clippy

* disable plist embed in generate_context in tests

* change file

* docs [skip ci]

* move unused_variables [skip ci]

* last commit regression [skip ci]

* fix test

* add example, do not text encode raw request

* check type instead of contenttype

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-07-12 09:52:53 -03:00
Hamir Mahal
1a88fc1a9b style: simplify string formatting (#10259)
* style: simplfiy string formatting

* fix: file formatting in `core/`
2024-07-12 13:33:14 +03:00
Tony
11aa7743e7 enhance!(nsis): use !ifmacrodef for installer hooks (#10177) 2024-07-03 05:48:22 +03:00
Tony
911242f092 feat!(core): add bundle createUpdaterArtifacts configuration (#9883)
* Add updater field

* Don't sign updaters when updater field is false

* Clippy

* Add updater to bundle migration

* Format

* Add updater config to api example

* No warning if update is not enabled

* Build

* Add change file

* We don't generate updater for dmg package

* Warning only for v1 compatible

* clean up

* More clean up

* little bit more

* Apply suggestions from code review

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>

* Revert license header change

* Remove option around pubkey and msi args

* More migration tests

* Refactor private_key getter

* Only generate signature for updater for v1 compat

* Format

* Use map_err instead of anyhow context

* Don't generate updater for api example

* Fix misaligned comment

* Rename `updater` to `createUpdaterArtifacts`

* Revert changes in helloworld example

* Add warning for v1 compatible

* Update .changes/separate-updater-field.md

Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>

* update error messages [skip ci]

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-07-01 08:34:58 -03:00
Simon Richard
167b51a8de feat: improve deserialization errors by using serde-untagged on enums (#9952)
* Use serde-untagged instead of derive trait for capabilities structs

* Update core/tauri-utils/Cargo.toml

* improve errors for other untagged enums

* clippy

* add tests, fix deserialization

* use schemars attribute instead

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-06-26 17:54:49 -03:00
Tony
878198777e feat(schema): make acl permissions schema unique (#9999)
* Make acl permissions schema unique

* Add change file

* use a hashset

* fix cli

* Revert "use a hashset"

This reverts commit 778d316f34.

* Revert "fix cli"

This reverts commit cfc0e39182.

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-06-26 17:13:55 -03:00
Tony
f21029b1bc feat!(nsis): add an option to customize start menu folder (#9994) 2024-06-26 09:17:02 +03:00
Tillmann
bb50315c50 refactor: Improve Automated Permission Documentation Generation (#10113)
* generate permission table with html

* cargo fmt

* clippy fix

* clippy fix

---------

Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>
2024-06-26 07:59:47 +03:00
Tillmann
b2ff840e83 Feat: Improved Security Docstrings and Schema Newline Handling (#10028)
* Refactor Code Docs

* updated schemas

* cargo fmt whitespace fix

* downgrade cargo-platform to 0.1.7

---------

Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>
2024-06-13 18:31:12 +03:00
Tony
5b769948a8 feat(core): add include_image macro (#9959) 2024-06-06 06:03:11 +03:00
Tony
3ab170917e feat(nsis): add an option to disable compression (#9932) 2024-06-05 19:07:49 +03:00
thewh1teagle
656a649744 feat(cli): add macos hardened runtime signing config option (#9318)
* feat(cli): add macos signing config option

* rename option to hardened_runtime

* chore(cli): use default true in hardened runtime config

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-06-05 18:04:08 +02:00
Amr Bashir
fafc238f72 feat: add bundle > homepage option (#9977)
* feat: add `bundle > homepage` option

If unspecified, it will fallback to `homepage` define in Cargo.toml

closes #9949

* Update settings.rs
2024-06-05 19:01:48 +03:00
Simon Hyll
5e8aa6f946 fix: workaround for broken example (#9906)
`schemars` improperly parses the docstring, causing a missing newline before the codeblock closing tics.
2024-05-30 00:16:29 +09:00
Tillmann
4942d809ab feat: Auto Generation of ACL Schema File for Documentation (#9903)
* Add auto generated acl schema files for docs

* update CI

---------

Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
2024-05-29 09:32:58 -03:00
Amr Bashir
265c23886e refactor(cli&bundler): avoid renaming main executable and preserve cargo name (#9375)
* refactor(cli&bundler): avoid renaming main executable and reserve cargo name

closes #8109
closes #8349

* fix bundler

* fix test

* Discard changes to core/tauri-build/Cargo.toml

* revert Cargo.toml changes

* Discard changes to Cargo.lock

* Discard changes to tooling/cli/Cargo.lock

* lock file

* use product name for installers

* only warn for sign on windows

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-05-28 13:50:41 -03:00
Amr Bashir
e8f6eb59a5 refactor(core)!: include all args in Env.args_os, closes #9430 (#9552)
* refactor(core)!: include all args in `Env.args_os`, closes #9430

* skip first arg on restart fn

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-05-28 13:49:44 -03:00
Amr Bashir
5462e5cadc feat(nsis): support installer hooks (#9731)
* feat(nsis): support installer hooks

closes #9668

* update change files

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-05-25 10:23:08 -03:00
Mariotaku
fd2d7cf8b3 feat(android): aware of version info from tauri config (#9856)
* feat(android): versionName and versionCode support

* formatted code and updated schema

* fix config, cleanup generation

* update docs

* mention default version for android

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-05-24 10:56:21 -03:00
Amr Bashir
d6d3efbd12 feat(bundler): support custom sign command on Windows (#9865)
* feat(bundler): support custom sign command on Windows

closes #7188
closes #9578

* fix double quotes

* fix build

* fix build

* clippy

* Update sign.rs

* clippy && replace `winreg` with `windows-registry`

* remove log [skip ci]

* Apply suggestions from code review

* tweak arg so path with spaces work on macOS

* create nsis toolset paths

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-05-24 10:25:13 -03:00
Amr Bashir
fc1543c65e refactor!: remove skip_webview_install option (#9864) 2024-05-24 10:13:55 -03:00
Lucas Fernandes Nogueira
8a1ae2deaf feat(plugin): add option to use a Xcode project for iOS (#9843)
* wip

* add option to use xcode project

* configuration

* clear env

* add change file

* remove xcuserdatad

* delete xcuserstate
2024-05-24 08:23:41 -03:00
Lucas Fernandes Nogueira
be95d8d37c fix(utils): incorrect ToTokens impl for Capability (#9782) 2024-05-15 03:52:05 +03:00
Lucas Fernandes Nogueira
a5205f179e fix(utils): wrong ToTokens impl of the window proxy_url config (#9691) 2024-05-07 15:59:58 +03:00
Hankung
3fbc1703f1 fix: schemars 0.8.18 compatibility (#9676)
* fix: schemars 0.8.18 compatibility

* fix cli cargo issue

* update tauri-utils v1

---------

Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2024-05-06 23:22:35 +02:00
Tony
a1e0e268f0 fix(utils): temp permission file names on windows (#9477)
* Replace `tauri:` with `tauri-`

* Add change file

* Apply suggestions from code review

* patch -> "patch:bug"

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-04-22 11:18:16 -03:00
Tony
4973d73a23 feat: Add zoom hotkey polyfill for non windows platforms (#9386) 2024-04-08 22:42:51 +02:00
Tony
9273d7b379 feat(windows): Expose webview2 zoom hotkeys from wry (#9352)
* Expose webview2 zoom hotkeys from wry

* Add change file

* Apply suggestions from code review

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>

* Regenerate schema files

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-04-03 20:14:17 +02:00
Mariotaku
36b4c12497 feat(bundler): added provides, conflicts and replaces for deb and rpm (#9331)
* feat(bundler): added provides, conflicts and replaces for deb and rpm packages

* added change file

* update .changes/deb-rpm-provides-conflicts-replaces.md according to review

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>

* inlined provides/conflicts/replaces(obsoletes) variables

* fmt
2024-04-03 18:02:56 +02:00
Lucas Fernandes Nogueira
06833f4fa8 feat(ipc): enhance request URL checks, update wry, refactor file drop (#9100)
* feat(ipc): enhance request URL checks

* actually use req url

* fix windows, tests

* wry 0.38, file drop refactor

* wry 0.38.1

* adjust for windows [skip ci]

* wry 0.38.2 [skip ci]

* update to latest tao, wry, muda and tray-icon

* change tag

* serde

* use published crates

* downgrade cargo-platform to 0.1.7

---------

Co-authored-by: amrbashir <amr.bashir2015@gmail.com>
2024-04-01 13:03:39 -03:00
Lucas Fernandes Nogueira
a804a70a7a feat(isolation): script now removes itself to hide key from DOM (#9328) 2024-04-01 12:43:29 -03:00
Lucas Fernandes Nogueira
7c334cb185 feat(isolation): make encrypt key unextractable (#9327) 2024-04-01 12:43:19 -03:00
Vladimir Stoilov
259d845290 feat(bundler): add post/pre install/remove scripts for linux deb and rpm packages (#9209)
* feat(cli/add): add post/pre install/remove scripts for linux

* fix(cli): clippy errors

* fix(cli): remove script struct from deb/rpm bundle

* change files and aliases
2024-03-28 05:13:26 +02:00
Lucas Fernandes Nogueira
e7cd973123 fix(tauri-runtime-wry): window inner size regression on macOS, closes #9236 (#9276)
* fix(tauri-runtime-wry): window inner size regression on macOS, closes #9236

* lint
2024-03-26 11:38:57 -03:00
Amr Bashir
7213b9e472 feat(cli/add): add default permission to capabilities (#9124)
* feat(cli/add): add default permission to capabilities

also cleanup `tauri add` command

* license headers & clippy

* print permission name

* do not error out if default permission is not set

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-03-13 11:58:25 -03:00
Lucas Fernandes Nogueira
e227fe02f9 feat(core): allow defining global API script on plugin build (#9156)
* feat(core): allow defining global API script on plugin build

Adds `tauri_plugin::Builder::global_api_script_path` so plugin authors can define the JavaScript global API bindings (supposed to be injected to `window.__TAURI__`) at compile time, so the string is only part of the binary when withGlobalTauri is true.
Currently this needs to be done manually at runtime (and it's always added to the binary via include_str).

* prefix variable

* use list of scripts instead of combining them

* static str

* header [skip ci]

* slice
2024-03-12 12:01:13 -03:00
Lucas Fernandes Nogueira
e673854c83 fix(acl): inconsistencies on urlpattern usage for remote domain URL (#9133)
* fix(acl): inconsistencies on urlpattern usage for remote domain URL

* remove println!

* typo

* fix tests
2024-03-11 13:39:17 -03:00
Lucas Fernandes Nogueira
490a6b424e refactor(core): add setup() to the Assets trait (#9147)
* feat(core): allow swapping the assets implemenetation

* refactor(core): add setup() to the Assets trait

* code review
2024-03-11 13:38:32 -03:00
Dimitris Apostolou
26f0f71a40 chore: fix various typos (#9131) 2024-03-11 16:25:20 +02:00