Commit Graph

38 Commits

Author SHA1 Message Date
Lucas Fernandes Nogueira
6c06832246 fix(acl): scope resolution should be per window (#9068)
* fix(acl): scope resolution should be per window

* Update core/tauri-utils/src/acl/resolved.rs

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

* update snapshots

* lint

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-03-04 17:01:30 -03:00
Amr Bashir
4b75834a41 chore: update license headers 2024 (#9043) 2024-03-01 08:29:01 -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
d7f56fef85 feat(acl): allow a permission to apply to a subset of target platforms (#9014)
* feat(acl): allow a permission to apply to a subset of target platforms

* fix cli
2024-02-28 17:23:52 -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
Lucas Nogueira
f1d0f452a2 chore: pin tao to 0.25 2024-02-03 11:57:54 -03: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
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
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
3e5c28ff4f feat(tauri-plugin): generate permissions reference markdown file for plugin (#8729)
* feat(acl): generate reference markdown file

* lint

* generate plugin docs instead
2024-02-01 17:14:23 -03:00
Lucas Fernandes Nogueira
7315189e76 chore: preserve order on schemas (#8724) 2024-02-01 09:16:10 -03:00
Lucas Fernandes Nogueira
aa758a850f refactor(core): delete the command module (#8716) 2024-01-31 14:02:52 -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
30a64a9cda refactor: global scope error handling, fix usage with multiple plugins (#8669)
* refactor: global scope error handling, fix usage with multiple plugins

* lint
2024-01-24 20:57:46 -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
Olivier Lemasle
9ed400a85c chore(ci): Replace unmaintained actions-rs GH actions, closes #8078 (#8093)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-10-26 15:27:52 -03:00
Lucas Fernandes Nogueira
198abe3c2c feat(plugins): typed invoke arguments for mobile plugins (#8076) 2023-10-23 14:09:42 -03:00
Lucas Fernandes Nogueira
fbeb5b9185 refactor(core): use webview's URI schemes for IPC (#7170)
Co-authored-by: chip <chip@chip.sh>
2023-08-10 10:12:38 -03:00
Jeffrey Hutchins
3a2c3e7471 feat: Add ordered navigation handler for plugins, closes #7306 (#7439)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-07-24 14:36:16 -03:00
Lucas Fernandes Nogueira
59db76af4c refactor(android): fix race conditions processing Android plugin project as dependency (#6968) 2023-05-16 10:22:46 -03:00
Lucas Fernandes Nogueira
dfa407ffcb feat(mobile): add plugin config to the Plugin class (#6763) 2023-04-23 09:15:13 -03:00
Lucas Fernandes Nogueira
db4c9dc655 feat(core): add option to configure Android's minimum SDK version (#6651) 2023-04-07 11:21:42 -03:00
Lucas Fernandes Nogueira
9c8276fe03 refactor(mobile): use shared .tauri folder to inject dependencies (#6495) 2023-03-19 08:51:01 -03:00
Lucas Fernandes Nogueira
56b528e481 refactor(build): change tauri-api dependency path to skip rebuilds (#6490)
* refactor(build): change tauri-api dependency path to skip rebuilds

The tauri-api Swift package cannot be injected inside the iOS plugin project because swift-rs reruns when the project folder changes. We will now inject the project in the parent folder instead.

* revert tauri-plugin-log [skip ci]
2023-03-18 11:31:11 -03:00
Lucas Fernandes Nogueira
6a8888dc85 refactor(ios): add macro to generate plugin glue fn, pass name parameter (#6489) 2023-03-18 10:57:05 -03:00
Lucas Nogueira
a6fea4644e refactor(android): rename PluginMethod to Command 2023-03-17 15:20:39 -03:00
Lucas Fernandes Nogueira
5d94eaa3bc feat(core): update swift-rs (#6355)
* feat(core): update swift-rs

* update tauri-plugin-log

* use env var for min iOS version

* test x86_64-apple-ios

* Revert "test x86_64-apple-ios"

This reverts commit 3ae6b79e5f.

* chore: swift min version 5.3 [skip ci]

* fix build [skip ci]

* fix cgrect usage

* test CI

* Revert "test CI"

This reverts commit 76ce0c5992.

* update swift-rs to 1.0.1

* lint

* lint [skip ci]
2023-03-16 09:34:41 -03:00
Lucas Nogueira
1fd329935e Merge branch 'dev' into next 2023-02-19 11:34:02 -03:00
Lucas Fernandes Nogueira
897a1547a1 feat(cli): update plugin template including trait to access mobile APIs (#6293) 2023-02-17 12:12:05 -03:00
Lucas Fernandes Nogueira
6aaba83476 refactor(plugin): add PluginApi and PluginHandle, expose on setup hook (#6291) 2023-02-16 13:33:50 -03:00
Lucas Fernandes Nogueira
d42fd0710c feat(ios): expose UIViewController (#6281) 2023-02-15 11:42:47 -03:00
Lucas Fernandes Nogueira
bce87c1a67 feat(android): implement plugin permissions and startActivityForResult (#6272) 2023-02-14 21:36:44 -03:00
Lucas Fernandes Nogueira
65e487f344 fix(cli): adjust plugin template to use correct package name (#6258) 2023-02-13 10:54:48 -03:00
Lucas Fernandes Nogueira
bef4ef51bc feat(android): enable minify on release, add proguard rules (#6257) 2023-02-13 10:22:03 -03:00
Lucas Fernandes Nogueira
96b5e92169 refactor(core): inject API project on plugin's Android and iOS projects (#6246) 2023-02-12 15:29:34 -03:00
Lucas Fernandes Nogueira
05dad08768 feat: initial work for iOS plugins (#6205) 2023-02-11 10:30:44 -03:00
Lucas Fernandes Nogueira
17f26764c8 feat: initial work for Android plugins (#6167) 2023-02-06 08:56:00 -03:00