Commit Graph

364 Commits

Author SHA1 Message Date
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
af61023273 refactor(core)!: Window::close triggers RunEvent::CloseRequested (#8710)
* refactor(core): Window::close triggers RunEvent::CloseRequested

* Update .changes/runtime-wry-window-close-event.md

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

* add destroy [skip ci]

* change files

* delete files

* fix tests

* fix tests

* fix test impl of the close flow

* fmt

* build bundle

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-01-31 14:54:49 -03:00
Lucas Fernandes Nogueira
aa758a850f refactor(core): delete the command module (#8716) 2024-01-31 14:02:52 -03:00
Amr Bashir
e1eb911f5e fix(menu): ensure init & drop is done on main thread (#8582)
* fix(menu): ensure init & drop is done on main thread

* move macros back

* fix doctests

* fix macos doctests

* generate inner types and add drop implementation on inner

* clippy

* fix leftoever merge conflicts

* fix doctests

* update api example

* add missing change file

* move macro

* fix tray import

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-01-31 12:01:05 -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
00e1567584 refactor(core): exit() and restart() triggers ExitRequested and Exit (#8708)
* refactor(core): exit() and restart() triggers ExitRequested and Exit

* update docs

* update doc
2024-01-30 12:10:22 -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
049ca2d54f fix(examples): deadlock on api example unit test (#8671) 2024-01-24 21:52:28 -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
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
Lucas Fernandes Nogueira
74a2a6036a chore: add change files for #8428 (#8661) 2024-01-23 13:19:51 -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
Lucas Nogueira
a9b87c057d Merge branch '1.x' into dev 2023-12-19 13:52:53 -03:00
Lucas Fernandes Nogueira
0d0501cb7b refactor(clipboard): use arboard instead of tao closes #8177 (#8394)
* refactor(clipboard): use arboard instead of tao closes #8177

* update api lock

* add change file
2023-12-14 13:41:20 -03:00
Lucas Nogueira
5e05236b49 feat(core): add tracing for vital functionality closes #5204 (#8289)
* feat(core): add tracing for vital functionality

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

* Update Cargo.toml [skip ci]

* tracing feature

* wry 0.24.6

* add change tag

* add tracing to CI test

* enhance spans for update check

* remove app from debug impl
2023-11-27 16:56:46 +02:00
Lucas Fernandes Nogueira
ebc3e78e68 feat: update to latest wry (#8213)
Co-authored-by: amrbashir <amr.bashir2015@gmail.com>
2023-11-21 12:32:06 -03:00
renovate[bot]
aa1d67ab75 chore(deps) Update Tauri Core (dev) (#8227)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-11-19 14:21:12 -03:00
Amr Bashir
f93148eac0 feat: add tray and menu javascript APIs and events, closes #6617 (#7709)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-11-19 08:38:24 -03:00
renovate[bot]
b6ed4ecb37 chore(deps) Update Rust crate syn to v2 (dev) (#7634)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-11-13 08:20:19 -03:00
renovate[bot]
e9aa7276e9 chore(deps) Update Tauri Core (dev) (#7631)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-11-09 14:15:41 -03:00
Lucas Fernandes Nogueira
b5f40ae58d fix(core): global events regression from #7996 closes #8146 (#8147) 2023-11-07 09:59:09 -03:00
Lucas Fernandes Nogueira
0601d5dddb fix(docs): set the --cfg docsrs arg for docs.rs build (#8123) 2023-10-28 08:04:35 -03:00
Lucas Fernandes Nogueira
74d2464d0e refactor(core): implement on_page_load event using wry hook (#8116) 2023-10-27 10:00:59 -03:00
Lucas Fernandes Nogueira
2b6ffe0fd1 chore: update plugins-workspace branch usage from next to v2 (#8120) 2023-10-27 00:17:23 -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
Olivier Lemasle
6bc3b0536d fix(cross): Fix docker image and cross setup (#8094) 2023-10-26 13:58:56 -03:00
DK Liao
9580df1d7b chore(deps): upgrade gtk to 0.18 (#8084)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-10-24 12:26:24 -03:00
Amr Bashir
a0f7b88fd8 build(api.js): simplify output JS files (#8025)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-23 18:22:00 -03:00
Lucas Fernandes Nogueira
198abe3c2c feat(plugins): typed invoke arguments for mobile plugins (#8076) 2023-10-23 14:09:42 -03:00
Lucas Nogueira
c6c59cf237 Merge branch '1.x' into dev 2023-10-20 08:56:02 -03:00
Lucas Fernandes Nogueira
be8e5aa307 fix(cli): duplicated newlines on child process output (#8042) 2023-10-18 15:29:12 +00:00
Amr Bashir
ed32257d04 feat(windows): add tabbed effect (#7794)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-10-17 12:29:10 -03:00
Lucas Fernandes Nogueira
880266a7f6 chore: bump MSRV to 1.70 (#8031) 2023-10-17 11:08:15 -03:00
Amr Bashir
c9a9246c37 feat: move window plugin back to core (#8007)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-17 08:33:23 -03:00
Amr Bashir
2558fab861 refactor!: remove uuid and rand dependencies where applicable (#7939)
* refactor: remove uuid and rand dependencies where applicable

ref: https://github.com/tauri-apps/tauri/issues/7756

* replace rand with getrandom

* change files

* InnerListeners private

* revert listeners_object_name [skip ci]

* default for next_event_id

* remove raw listen function

* fix event system

* Apply suggestions from code review [skip ci]

* update names [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-10-17 05:47:41 +03:00
Lucas Fernandes Nogueira
40d340021c fix(bundler): team ID is now required for notarytool via app password (#7972) 2023-10-06 14:33:49 -03:00
Lucas Fernandes Nogueira
68e7319305 fix(core): update scope usage following #7944 (#7946) 2023-10-03 08:44:25 -03:00
Lucas Fernandes Nogueira
3671edbcff fix(core): toggle devtools via global shortcut (#7937)
* fix(core): toggle devtools via global shortcut

* Update .changes/fix-toggle-devtools.md
2023-10-02 17:19:01 +03:00
Amr Bashir
a68ccaf59a fix: skip leading slash for asset protocol, closes #7815 (#7822)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-09-12 16:57:11 -03:00
Amr Bashir
4bf1e85e6b fix(windows): respect focused: false for webview, closes #7519 (#7722)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
fix(windows): respect `focused: false` for webview, closes #7519
2023-09-11 17:00:06 -03:00
Lucas Fernandes Nogueira
d5074af562 fix: custom protocol on Windows, change scheme on Android, closes #7801 (#7808) 2023-09-11 12:25:06 -03:00
Lucas Fernandes Nogueira
4cb51a2d56 refactor(core): custom protocol on Windows now uses the http scheme (#7779) 2023-09-07 19:57:16 -03:00
Lucas Fernandes Nogueira
0d63732b96 refactor(core): allow custom protocol handler to resolve async (#7754) 2023-09-06 15:53:03 -03:00
renovate[bot]
d928d23cdb chore(deps) Update Tauri Core - abandoned (#5253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-08-13 22:41:00 -03:00
Amr Bashir
7fb419c326 refactor: move to muda and tray_icon crates (#7535)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-08-13 22:25:50 -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
Amr Bashir
6c408b736c feat: add notification sound (#7269)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-08-08 15:09:04 -03:00
Lucas Fernandes Nogueira
d010bc07b8 feat(ios): properly set iOS product name (#7554) 2023-08-05 08:59:19 -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