Commit Graph

76 Commits

Author SHA1 Message Date
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
Lucas Nogueira
d621d3437c
feat: add tracing (port from #8289) (#8607)
* feat(tracing): add IPC tracing

* span for deserialization

* trace spans for IPC command handlers

* fix spans usage

* app tracing [skip ci]

* window tracing

* fix run never resolving all spans

* fix draw not entered

* change level

* feat(core): Manager::emit_filter and optimize serialization (#7512)

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>

* event spans

* lint & fix tests

* change eval to run sync

* fix instrument

* update wry

* change separator

* Update core/tauri/src/plugin.rs

Co-authored-by: Jonas Kruckenberg <118265418+CrabNejonas@users.noreply.github.com>

* Update core/tauri/src/window.rs

Co-authored-by: Jonas Kruckenberg <118265418+CrabNejonas@users.noreply.github.com>

* Update core/tauri/src/window.rs

Co-authored-by: Jonas Kruckenberg <118265418+CrabNejonas@users.noreply.github.com>

* Update core/tauri/src/window.rs

Co-authored-by: Jonas Kruckenberg <118265418+CrabNejonas@users.noreply.github.com>

* Update core/tauri/src/window.rs

Co-authored-by: Jonas Kruckenberg <118265418+CrabNejonas@users.noreply.github.com>

* instrument separators

* remove on_event trace

* skip all arguments on App::build tracing

* ipc spans adjustments

* delete change file

* improve how request and response are added as values (serialize)

* do not run evalScript sync on android :( freezes the app

* wry 0.35.2

* add change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Jonas Kruckenberg <118265418+CrabNejonas@users.noreply.github.com>
2024-01-16 02:37:50 +02:00
Lucas Nogueira
a9b87c057d
Merge branch '1.x' into dev 2023-12-19 13:52:53 -03: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
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
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 Nogueira
c6c59cf237
Merge branch '1.x' into dev 2023-10-20 08:56:02 -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
fb10b87970
feat: move app plugin back to core (#8039)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-10-17 15:13:47 -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
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
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
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
Amr Bashir
2eab150563
feat(api/http): properly handle Files in Body.form, closes #7390 (#7394)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
closes #7390
2023-07-13 08:58:21 -03:00
Lucas Fernandes Nogueira
7bbc626cc3
Merge remote-tracking branch 'origin/dev' into next (#7212) 2023-06-15 09:52:33 -03:00
Tomáš Diblík
c4d6fb4b1e
feat(core): Ability to disable minimize/maximize/close native window's buttons, closes #2353 (#6665)
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-05-24 17:23:32 -03:00
Amr Bashir
e1e85dc2a5
chore: fix ci and cleanup leftovers (#6925)
* chore: fix ci and cleanup leftovers

1. removed leftover feature flags
2. remove zip/extract apis which are not used anymore
3. removed leftoever scopes
4. removed leftover allowlist and updater options
5. updated the example api

* remove leftover updater structs

* move updater under bundle and remove uneeded options

* fix cli on linux

* remove create_proxy

* clippy

* more clippy

* clippppy

* readd path api

* fix api example

* remove window allowlist

* remove window from allowlist config

* remove `all` allowlist option

* remove file_move

* lint

* fix windows build

* remvoe unused deps

* remvoe allowlist config option, move protocol to `security > asset_protocol`

* fix diffing features

* fmt and test

* fix scope alias

* change files

* android lint

* simplify allow_file impl

* Revert "simplify allow_file impl"

This reverts commit b8882f2fd0.

* expose scopes

* remove unused error variants

* protocol-asset on docs.rs

* ignore reqwest on udeps

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-05-13 13:48:28 +03:00
Lucas Fernandes Nogueira
9a79dc0858
refactor(core): remove window endpoints (#6947) 2023-05-12 08:18:00 -03:00
Lucas Fernandes Nogueira
39f1b04f7b
refactor(core): move event JS API to a core plugin (#6943) 2023-05-12 07:55:39 -03:00
Lucas Fernandes Nogueira
0ab5f40d3a
feat(core): add IPC channel (#6813) 2023-05-11 07:25:32 -03:00
Lucas Fernandes Nogueira
96639ca239
refactor(core): remove shell APIs (#6749) 2023-04-20 09:19:47 -03:00
Lucas Fernandes Nogueira
86488a6ad8
refactor(core): remove notification API (#6745) 2023-04-19 19:03:34 -03:00
Lucas Fernandes Nogueira
f78a378344
refactor(core): remove http features (#6742) 2023-04-19 11:47:29 -03:00
Lucas Fernandes Nogueira
2d5378bfc1
refactor(core): move dialog API to its own plugin (#6717) 2023-04-18 22:18:22 -03:00
Lucas Fernandes Nogueira
fc4d687ef0
refactor(core): move file system endpoints to its own plugin (#6716) 2023-04-16 09:20:58 -03:00
Lucas Fernandes Nogueira
09376af594
refactor(core): remove cli feature (#6704) 2023-04-14 15:33:53 -03:00
filip
509d4678b1
Support sending raw byte data to the "data" event for child command's stdout and stderr (#5789)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-03-31 12:51:27 -03:00
Lucas Fernandes Nogueira
30e94677b0
chore(deps): pin wry to 0.27 (#6477)
* chore(deps): pin wry to 0.27

* update index.js [skip ci]

* fmt
2023-03-17 09:23:11 -03:00
Lucas Nogueira
1fd329935e
Merge branch 'dev' into next 2023-02-19 11:34:02 -03:00
Lucas Fernandes Nogueira
60a8b07dc7
fix: handle single word bundle identifier when resolving Android domain (#6313) 2023-02-19 11:12:04 -03:00
Amr Bashir
f6c3ea6faa
chore: simplify windows_subsystem attribute (#6273) 2023-02-18 16:23:09 -03:00
Lucas Nogueira
3d5cc7ab86
Merge remote-tracking branch 'origin/dev' into next 2023-02-14 10:58:46 -03:00
Amr Bashir
a81750d779
feat(core): add shadow APIs (#6206)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-02-07 19:38:10 -03:00
Bo
00e1efaa9b
feat: customize button texts of message dialog (#4383)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-12-27 18:15:53 -03:00
Amr Bashir
4ab5545b7a
feat: add content protection api, closes #5132 (#5513)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-12-13 01:04:22 -03:00
Amr Bashir
233e43b0c3
feat: add title getter on window, closes #5023 (#5515)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-12-13 00:59:09 -03:00
Lucas Fernandes Nogueira
aa119f2836
feat(api): add FormData support on Body.form, closes #5545 (#5546) 2022-11-04 15:18:28 -03:00
Lucas Fernandes Nogueira
357480f4ae
feat(core): custom protocol headers on Linux, closes #4496 (#5421) 2022-10-17 12:08:59 -03:00
Kasper
39bf895b73
feat(macOS): Add application show and hide methods (#3689)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-10-03 14:49:59 -03:00
jabza
eedfa5e618
feat(core): Expose "ignore_cursor_events" to Tauri and API (#5032)
Co-authored-by: Thomas Kilsby <>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-09-28 16:55:35 -03:00
Fabian-Lars
3c62dbc902
feat(api): Add exists function to the fs module. (#5060)
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
2022-09-15 11:28:52 -03:00
Amr Bashir
725236cea0
refactor: enhance api demo app mobile experience (#4929)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-08-14 18:39:35 -03:00
Amr Bashir
20a7036ba5
Revert "fix(core): avoid conflict with user-defined cmd arg in invoke, closes #4875 (#4892)" (#4924)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-08-12 20:34:17 -03:00
Lucas Nogueira
6119f4582e
chore(examples): update API dist 2022-08-11 09:55:49 -03:00
Danil Karpenko
aa9f1243e6
Improved EventEmitter for tauri api shell (#4697)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-07-25 19:35:35 -03:00