Commit Graph

252 Commits

Author SHA1 Message Date
github-actions[bot]
1a58cdf2ed
Apply Version Updates From Current Changes (#9279)
* apply version updates

* fix bundler version

* fix bundler version

---------

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-04-02 15:15:12 -03:00
github-actions[bot]
f1df6b2c35
Apply Version Updates From Current Changes (#9162)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-03-18 09:43:47 -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
github-actions[bot]
d349558abb
Apply Version Updates From Current Changes (#9149)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-03-11 15:14:25 -03:00
Dimitris Apostolou
26f0f71a40
chore: fix various typos (#9131) 2024-03-11 16:25:20 +02:00
Lucas Fernandes Nogueira
ba0206d8a3
feat(core): allow swapping the assets implementation (#9141) 2024-03-11 11:07:15 -03:00
github-actions[bot]
d701f29f17
Apply Version Updates From Current Changes (#9117)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-03-07 19:56:45 -03:00
Lucas Fernandes Nogueira
3e472d0afc
refactor(acl): permission and capability platforms are optional (#9115)
* refactor(acl): permission and capability platforms are optional

* add iterator version

* fix build

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-03-07 14:18:15 -03:00
github-actions[bot]
e7f245e81e
Apply Version Updates From Current Changes (#9035)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-03-06 19:00:57 -03:00
Amr Bashir
bb23511ea8
feat: enhance multiple capabilities file format & fix mixed permissions schema (#9079)
* feat: enhance multiple capabilities file format & fix mixed permissions schema

* change files
2024-03-05 13:09:32 -03:00
Amr Bashir
4b75834a41
chore: update license headers 2024 (#9043) 2024-03-01 08:29:01 -03:00
github-actions[bot]
ab060ebb34
Apply Version Updates From Current Changes (#9000)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-02-29 00:06:59 -03:00
Amr Bashir
8fcbce9404
fix(build): fix app permissions not included when there isn't any inlined plugins (#9025)
* fix(build): fix app permissions not included when there isn't any inlined plugins

* simplify

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-28 23:41:40 -03:00
Lucas Fernandes Nogueira
f5e7f3843e
fix(build): app ACL should be empty if no permissions are defined (#9024) 2024-02-28 19:53:48 -03:00
Lucas Fernandes Nogueira
3657ad82f8
feat(core): allow defining permissions for the app commands (#9008)
* feat(core): allow defining permissions for the app commands

* global scope

* command scope

* write to disk

* lint

* fix path

* get autogenerated commands from generate_handler macro

* revert

* remove cli

* use const instead of empty str
2024-02-28 08:45:28 -03:00
github-actions[bot]
5a19147b06
Apply Version Updates From Current Changes (#8991)
* apply version updates

* update versions

---------

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-26 23:53:48 -03:00
github-actions[bot]
31a33d4680
Apply Version Updates From Current Changes (#8980)
Co-authored-by: amrbashir <amrbashir@users.noreply.github.com>
2024-02-26 23:05:51 -03:00
Amr Bashir
b9e6a01879
refactor(cli): use tauri/custom-protocol instead of relying on user having custom-protocol in their cargo features (#8937)
* refactor(cli): use `tauri/custom-protocol` instead of relying on user having `custom-protocol` in their cargo features

* tauri-build dev cfg

* pass build-feature when building apk

* run beforeBuildCommand before first build for plugins

* clippy

* fix

* mut

* enhance dev/prod checks

* lint [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-26 15:17:45 -03:00
github-actions[bot]
0606ab326b
Apply Version Updates From Current Changes (#8938)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-02-22 18:50:24 -03:00
github-actions[bot]
af646520cf
Apply Version Updates From Current Changes (#8918)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-02-21 12:00:32 -03:00
github-actions[bot]
18ff84fc81
Apply Version Updates From Current Changes (#8775)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-02-19 15:49:28 -03:00
Lucas Fernandes Nogueira
0e8e9cd064
fix(build): move capability schema definitions to root (#8906) 2024-02-19 14:46:21 -03:00
Lucas Fernandes Nogueira
8d16a80d2f
feat(codegen): allow defining additional capabilities, closes #8798 (#8802)
* refactor(core): capabilities must be referenced on the Tauri config file

* add all capabilities by default

* feat(codegen): allow defining additional capabilities, closes #8798

* undo example

* lint

* move add_capability to runtime authority

* add change files

* go through code review

* fix tests

* remove tokens option
2024-02-19 11:13:36 -03:00
Lucas Nogueira
c426c0dca2
merge from 1.x 2024-02-19 08:03:05 -03:00
Lucas Nogueira
a4b82d9dba
chore: bump tauri-utils 2024-02-18 22:31:35 -03:00
Lucas Fernandes Nogueira
83a68deb56
refactor(core): allow referencing capabilities on the Tauri config file (#8797)
* refactor(core): capabilities must be referenced on the Tauri config file

* add all capabilities by default

* refactor(cli): reference all capabilities by default
2024-02-18 10:42:09 -03:00
Lucas Fernandes Nogueira
edb11c138d
feat(build): support plugins that are defined in app crate (#8781)
* feat(build): support plugins that are defined in app crate

* dx
2024-02-16 08:24:40 -03:00
Amr Bashir
19fb5f0b20
fix(build): fix writing schema file (#8782)
* fix(build): fix writing schema file

* Update .changes/schema_str.md
2024-02-05 14:32:27 -03:00
github-actions[bot]
d54a2b055a
Apply Version Updates From Current Changes (#8759)
Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
2024-02-04 17:06:31 -03:00
Lucas Fernandes Nogueira
4e101f8016
refactor(core): enhance app rerun-if-changed for capabilities and frontend dist (#8756)
* refactor(core): enhance app rerun-if-changed for capabilities and frontend dist

* always rerun-if-changed=capabilities

* fix todo

* rerun if plugin permissions change

* add change files
2024-02-04 11:42:13 -03:00
Lucas Fernandes Nogueira
0f2789cd67
fix(build): do not rewrite unchanged schema (#8757)
* fix(build): do not rewrite unchanged schema

* typo
2024-02-04 12:45:59 +01:00
github-actions[bot]
88a1dd17c3
Apply Version Updates From Current Changes (#8638)
* apply version updates

* promote to beta

* fix check version

* update dependencies section [skip ci]

* update npm versions

---------

Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-03 10:59:09 -03:00
Fabian-Lars
4806f9fc70
fix(core): Rename FrontendDist::Dist to Dir (#8743)
* fix(core): Rename FrontendDist::Dist to Dir

* Directory

* fix totokens impl

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-03 09:08:20 -03:00
Lucas Fernandes Nogueira
0cdfda2876
refactor: move plugin functionality from tauri-build to tauri-plugin (#8737)
* refactor: move plugin functionality from tauri-build to tauri-plugin

* fixes

* fix build

* move docs function

* autogenerated

* fix path
2024-02-03 08:48:57 -03:00
Amr Bashir
8de308d1bf
feat(core): implement new config structure (#8723)
* feat(core): implement new config structure

RFC#5 f3e82a6b0c/texts/0005-tauri-config-restructure.md

* fixes

* remove tauri-plugin copy [skip ci]

* move platform specific configs

* fix build

* fix cli

* doctests

* change files

* read updater plugin config on CLI

* doctests

* remove env var from docs

* fix getting pubkey

* add migrations

* clippy

* update change file [skip ci]

* rename frontendDist to prodFrontend?

* Revert "rename frontendDist to prodFrontend?"

This reverts commit ef7394f085.

* fix all_features check

* fix field name

* single license getter on bundler

* readd msiexec_args

* remove unused fixture

* update template

* Update .changes/tauri-bundle-settings-rfc-5.md

* Update .changes/config-restructure-rfc-5.md

* lint bundler, fix change file

* rename AppUrl to FrontendDist, add explicit variants for docs

* fix build

* lint

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-02-03 00:39:48 -03:00
Amr Bashir
e8d3793c3c
feat(tauri-build): add config-json feature flag (#8732)
* feat(tauri-build): add `config-json` feature flag

This allows disabling rebuilding when `tauri.conf.json` when using another config format

see https://github.com/tauri-apps/tauri/issues/8721

* document feature flag

* Update .changes/tauri-build-config-json.md [skip ci]

* Update core/tauri/src/lib.rs [skip ci]

* disable default features for tauri-build on tauri, plugins

* fmt

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-02 14:11:59 -03:00
Lucas Fernandes Nogueira
7315189e76
chore: preserve order on schemas (#8724) 2024-02-01 09:16:10 -03:00
Amr Bashir
58fe2e812a
fix: improvements and ipc fixes for loading window content using custom protocol (#8670)
* fix: improvements and ipc fixes for loading window content using custom protocol

closes #5478

* Discard changes to tooling/cli/Cargo.lock

* clippy

* fix tests

* typo

* fix webviewurl deserialize

* resolve todo, fixes

* fmt

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-01-31 09:38:25 -03:00
Lucas Fernandes Nogueira
57e3d43d96
feat(acl): generate schema for scope (#8690)
* feat(acl): generate schema for scope

* allow plugin to define its global scope schema

* refactor to use schemas folder instead of individual files

* change signature

* delete .schema.json files
2024-01-29 13:36:31 -03:00
Lucas Fernandes Nogueira
d70470f868
feat(build): save ACL metadata (#8678)
* feat(build): save ACL metadata

metadata will be read by the CLI later to show the user what has been enabled and what can be done

* lint

* fix cli
2024-01-25 15:33:36 -03:00
Lucas Fernandes Nogueira
fd4bf94d4c
refactor(acl): allow extending scope on the capability file (#8674) 2024-01-24 23:36:07 -03:00
Lucas Fernandes Nogueira
c77b40324e
refactor(core): add support to multiple webviews on a Tauri window (#8280)
* feat: update to latest wry

* wry dev branch [skip ci]

* fix linux [skip ci]

* refactor(runtime): split webview and window types

* split dispatch

* implement create_webview

* move webview message

* wip webview mod

* create webview manager, finish webview struct and builder

* fix tests and docs

* rename WindowUrl to WebviewUrl

* update examples

* event refactor

* update JS API

* fix events

* update example

* add WebviewWindow class on JS

* fix macos build

* allow creating window+webview on the same runtime call

* rename tauri://window-created to tauri://webview-created

* Window::add_child

* use inner_size from webview on macOS

* add multiwebview example

* automatically resize webviews on window resize

* fix tests

* set_position, set_size

* position, size getters

* set_focus

* add close fn

* update mock runtime

* lint [skip ci]

* fix inner_size getter [skip ci]

* import hwnd [skip ci]

* update webview bound ratios on set_size/set_position

* add auto_resize option

* fix android

* fix build on windows

* typo

* with_webview isnt desktop only

* add WebviewWindow rust struct (and builder)

* fix build on android

* license header

* fix macos/windows

* fix macos build

* resolve todo

* handle window not found

* hide unstable features

* document unstable feature [skip ci]

* webview plugin permissions

* hide more stuff

* fix doctests

* typos

* add change files

* fix examples

* rename hook
2024-01-24 11:05:18 -03:00
tweidinger
3c2f79f6f3
Tauri ACL/Allowlist v2 Implementation and Plugin System Refactor (#8428)
* tauri-plugin concept

* wip

* move command module to its own directory

* wip: new command traits and generated code

* wip: whip

* wip: static dispatch

there is a man standing behind me

* wip

* re-add authority

* fix build [skip ci]

* parse plugin permissions

* merge permission files [skip ci]

* parse capabilities [skip ci]

* resolve acl (untested) [skip ci]

* split functionality, add some docs

* remove command2 stuff

* actually check runtime authority

* small fixes [skip ci]

* add function to auto generate basic permission for a command [skip ci]

* retrieve command scope, implement CommandArg [skip ci]

* fix tests [skip ci]

* global scope

* lint

* license headers [skip ci]

* skip canonicalize

* separate scope type in example

* remove inlinedpermission struct [skip ci]

* permission file schema

* capabilities schema

* move items from tauri-plugin to tauri-utils

this allows tauri-plugin to depend on tauri directly again
which will be used by the runtime feature as a superset to
existing plugin traits

* enable schema and glob [skip ci]

* fix glob [skip ci]

* fix capability schema [skip ci]

* enhance schema for permission set possible values [skip ci]

* permission set can reference other sets [skip ci]

* setup tests for resolving ACL

* fixture for permission set [skip ci]

* remote context test and small fix[skip ci]

* ignore empty scope [skip ci]

* code review [skip ci]

* lint [skip ci]

* runtime fixes

* readd schema feature on tauri-config-schema [skip ci]

* remove plugin example from workspace, it breaks workspace features resolution [skip ci]

* scope as array, add test [skip ci]

* accept new shapshot [skip ci]

* core plugin permissions, default is now a set

* license headers

* fix  on windows

* update global api

* glob is no longer optional on tauri-utils

* add missing permissions on api example [skip ci]

* remove ipc scope and dangerous remote access config

* lint

* fix asset scope usage

* create out dir [skip ci]

* reuse cargo_pkg_name [skip ci]

* capability window glob pattern [skip ci]

* add platforms for capability [skip ci]

* per platform schema [skip ci]

* lint [skip ci]

* rename allowlist build mod [skip ci]

* check restricted visibility

* simplify capability target [skip ci]

* hide codegen build behind tauri-build::try_run

* optimize build scripts [skip ci]

* fix tests

* tests for RuntimeAuthority::resolve_access

* remote domain glob pattern

* lint

---------

Co-authored-by: Chip Reed <chip@chip.sh>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-01-22 21:24:15 -03:00
github-actions[bot]
e0b38d7434
Apply Version Updates From Current Changes (#8438)
Co-authored-by: amrbashir <amrbashir@users.noreply.github.com>
2024-01-16 18:11:50 -03:00
github-actions[bot]
5966812735
Apply Version Updates From Current Changes (v1) (#8396)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-12-20 13:50:17 -03:00
Lucas Nogueira
6cd6d3fb32
chore(utils): add change file for #7964 2023-12-19 12:48:05 -03:00
github-actions[bot]
3acf0d2ba4
Apply Version Updates From Current Changes (#8140)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-11-20 15:11:24 -03:00
renovate[bot]
9e3aff0a3a
chore(deps) Update Tauri Build (1.x) (#8102)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-11-14 10:18:35 -03:00
renovate[bot]
ec78f1613a
chore(deps) Update Rust crate cargo_toml to 0.17 (dev) (#8154)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 13:57:07 -03:00