Commit Graph

278 Commits

Author SHA1 Message Date
Amr Bashir
a093682d2d refactor(core): refactor and fix event system following multiwebview support (#8621)
* clippy

* refactor(core): refactor and fix event system following multiwebview support

* update documentation

* update js docs

* lint

* clippy

* update multiwindow example [skip ci]

* enhance event tests

* fix example

* Update .changes/tauri-event-after-multiwebview.md

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

* fix tests

* add diagram

* Add `App/AppHandle` even target

* Discard changes to examples/api/src-tauri/tauri-plugin-sample/permissions/schemas/schema.json

* revert accidental changes

* regenerate schemas

* fix doctests

* add helper methods

* update docs

* update api

* update docs [skip ci]

* update docs [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>
2024-02-01 08:06:27 -03:00
Naman Garg
d6c7568c27 feat(bundler): Add files option to the AppImage Configuration. (#8720)
* Add `files` option to Appimage

* Add .changes file
2024-02-01 02:53:26 +02:00
Amr Bashir
9eaeb5a8cd refactor: refactor parent APIs on WindowBuilder (#8622)
* refactor: refactor parent APIs on `WindowBuilder`

closes #8587 #1643

* fix build

* clippy

* support parent in JS and config

* change files

* fix build

* clippy

* fix doctests

* fix linux build

* fix doctests

* update docs

* fix api, update example to use JS API

* fix merge

* lint

* fix tests on windows

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-01-31 13:59:14 -03:00
Amr Bashir
a2fc3a6357 feat(api/window): add visible-on-all-workspaces, closes #8652 (#8657)
* feat(api/window): add visible-on-all-worksapces, closes #8652

* fix build and generate schema

* Update .changes/api-set-visible-on-all-workspaces.md

* revert permissions

* fix alias

* revert set_icon change

* add missing permission

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-01-31 12:36:39 -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
9af90ca7f3 feat(ipc): improve error message when plugin command is not allowed (#8681)
* feat(ipc): improve error message when plugin command is not allowed

* reuse literal_struct macro
2024-01-30 16:54:10 +02:00
Fabian-Lars
38b8e67237 feat: Add support for deep links (#8680)
* initial windows impl

* macos

* adapt windows impl to config changes for macos

* debian

* add missing x-scheme-handler prefix

* bundle xdg-mime

* typo

* revert messed up fmt

* rm pnpm lock

* rm todo

* Update core/tauri-utils/src/config.rs

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

* Update core/tauri-utils/src/config.rs

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

* &Option<> -> Option<&>

* DL0 -> R7

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-01-29 18:59:45 +02: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
11de49788a feat(cli): migrate allowlist scope (#8698)
* feat(cli): migrate allowlist scope

* fix tests

* lint

* fix totokens impl
2024-01-29 12:50:21 -03:00
Lucas Fernandes Nogueira
fd4bf94d4c refactor(acl): allow extending scope on the capability file (#8674) 2024-01-24 23:36:07 -03:00
Amr Bashir
734d78f736 fix: generate $schema field always with forward slash (#8673) 2024-01-24 21:57:41 -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
4ca0932572 chore(plugin): use BTreeMap on plugin permission map (#8668) 2024-01-24 20:53:47 -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
Palash Bansal
27bad32d4d feat: Add files field in macos build config, closes #3290 (#7798)
* Add appContents field in macos tauri config.

* Change MacConfig::appContents to MacConfig::files to make it similar to DebConfig::files.

* Change appContents to files in helloworld/tauri.conf.json

* use common::copy_dir helper

* add change files [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-12-28 12:10:50 -03:00
Olivier Lemasle
091100acbb feat(bundler): Add RPM packaging, closes #4402 (#5202)
* feat(bundler): Add RPM packaging

* feat(bundler): Update 'rpm' to 0.13.1

* Fix fmt
2023-12-23 18:38:15 +01:00
Lucas Nogueira
a9b87c057d Merge branch '1.x' into dev 2023-12-19 13:52:53 -03:00
Amr Bashir
9b230de7bc fix(utils/config): fix parsing f64 values, closes #8252 (#8407) 2023-12-18 18:18:44 -03:00
Lucas Nogueira
b3e53e7243 feat(core): add AssetManager::iter (#8288)
This new function allows users to iterate on all embedded assets, important if you want to AssetManager::get an asset you are not sure exists.
2023-11-23 16:12:38 +02:00
Lucas Fernandes Nogueira
32bf201655 fix(bundler): lint and cleanup for #7964 (#8275) 2023-11-20 21:09:01 -03:00
Andrew
b0c5b06d06 feat(bundler): add dmg settings, closes #4669 (#7964) 2023-11-20 18:26:02 -03:00
Amr Bashir
3b91e236c6 refactor(tauri-utils)!: remove windows_version and is_windows_7 (#8271)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-11-20 18:21:42 -03:00
Amr Bashir
d8f1b6c59b feat: migrate manual implementation to the light windows-version crate (#8242) 2023-11-19 08:51:17 -03:00
Amr Bashir
5e84e92e99 feat: migrate manual implementation to the light windows-version crate (#8243) 2023-11-19 08:50:36 -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 Nogueira
c6c59cf237 Merge branch '1.x' into dev 2023-10-20 08:56:02 -03:00
Lucas Fernandes Nogueira
ebcc21e4b9 refactor: change prefix of hook env vars to TAURI_ENV_, closes #8054 (#8057) 2023-10-19 10:46:04 -03:00
martin frances
8db26bd3e9 fix(core): Clippy fixes. (#7869)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-18 09:47:43 -03:00
Andre Lew
c1ec0f1551 feat(core): expose always_on_bottom, closes #7847 (#7933)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-18 09:47:24 -03:00
Jason Tsai
c085addab5 feat: set application progress bar, close #7999 (#8009)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-17 16:25:30 -03: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
Amr Bashir
a63e71f979 refactor(core&api)!: hide internal functions and reuse them in api.js & rename tauri module to primitives (#7942)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-17 09:40:20 -03:00
Amr Bashir
8b166e9bf8 refactor!: consistent environment variables (#7949)
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-17 09:17:02 -03:00
Amr Bashir
b597aa5f39 feat: add id option for tray icon in config file (#7871)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
2023-10-03 10:18:19 -03:00
martin frances
44e8a562a2 fix: Cleared warnings seen while running ``cargo doc`` (#7862) 2023-10-03 08:37:54 -03:00
Lucas Fernandes Nogueira
c68fbfcb2d fix: Returns a warning instead of panicking if an AppImage is not mounted, closes #7736 (#7912)
Co-authored-by: Benjamin Demetz <50681275+Benji377@users.noreply.github.com>
2023-09-28 10:46:17 -03:00
Benjamin Demetz
1bce7397a4 fix: Returns a warning instead of panicking if an AppImage is not mounted, closes #7736 (#7843)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
2023-09-28 10:22:11 -03:00
Fabian-Lars
9aa34ada57 feat(core): Allow http origin on Windows, fixes: #3007 (#7645)
Co-authored-by: Lucas Nogueira <118899497+lucasfernog-crabnebula@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-09-26 14:40:38 -03:00
Amr Bashir
deea943626 refactor!: changed Env.args to Env.args_os and use OsString instead of String (#7876)
ref: https://github.com/tauri-apps/tauri/issues/7756
2023-09-21 15:56:03 +03:00
i-c-b
100d9ede35 fix(core): Correctly detect Android Tauri configuration file, closes #7785 (#7802)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-09-12 13:18:23 -03:00
Jason Tsai
e3bfb01411 feat(nsis): support choosing compression algorithms, closes #7685 (#7776) 2023-09-07 18:45:15 +03:00
Fabian-Lars
9308dee0a1 docs: Be more specific about plugin names in ipc scope (#7605) 2023-08-15 10:56:05 -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
a6b52e44f2 fix(tauri-utils): include \n in io::read_line, closes #6388 (#6519)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
fix(tauri-utils): include `\n` in `io::read_line`, closes #6388
2023-08-08 16:43:19 -03:00
Kris Krolak
4db363a03c feat: add visible_on_all_workspaces, closes #6589 (#7437)
* feat: add visible_on_all_workspaces, closes #6589

* add changes file

* Apply suggestions from code review

* Update core/tauri-config-schema/schema.json

* Update tooling/cli/schema.json

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-07-26 19:38:09 +08:00
Bo
3b98141aa2 feat: add file association support, closes #3736 (#4320)
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Raphii <iam@raphii.co>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-07-16 18:34:43 -03:00
Lucas Fernandes Nogueira
4dd4893d7d feat: allow specifying a resource map, closes #5844 (#5950)
Co-authored-by: amrbashir <amr.bashir2015@gmail.com>
closes #5844
2023-07-13 18:28:52 -03:00
Lucas Fernandes Nogueira
eeff1784e1 chore(deps): update unmaintained dependency from kuchiki to kuchikiki (#7359) (#7367)
Co-authored-by: Davide Baldo <davide@baldo.me>
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-07-11 19:19:13 +09:00