Commit Graph

1717 Commits

Author SHA1 Message Date
Philipp Bokatius
6e3bd4b9f8
fix: center window ignores scale factors (#8942)
* fix: center window ignores scale factors

* chore: add .changes

* clippy
2024-02-22 16:30:27 +02:00
Lucas Fernandes Nogueira
fdcaf935fa
feat(webview): add reparent API (#8939)
* feat(webview): add reparent API

* fix build

* fix import

* remove cfg

* fix windows

* clone

* clone value

* ()
2024-02-22 08:52:27 -03:00
Lucas Fernandes Nogueira
d75713ac6c
chore(deps): update to wry 0.37 (#8936) 2024-02-21 18:45:05 -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
Lucas Fernandes Nogueira
361ec37fd4
chore(deps): update to tao 0.26 (#8932)
* chore(deps): update to tao 0.26

* fallback to crate name

* move struct to runtime

* tests
2024-02-21 11:25:42 -03:00
Jason Tsai
3fb414b61a
fix(event): let once event return EventId, close #8912 (#8914)
* fix(event): let once event return EventId

* Update .changes/core-once-event-return-event-id.md
2024-02-20 17:36:15 +02: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
258494bd24
feat(core): add Manager::add_capability, closes #8799 (#8806)
* 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

* feat(core): add Manager::add_capability, closes #8799

* add change file
2024-02-19 11:59:20 -03:00
Lucas Fernandes Nogueira
f284f9c545
refactor: configure URLs instead of domains on capability remote (#8898) 2024-02-19 11:14:09 -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
Anil Kumar
770051ae63
docs: fixed a spelling mistake (#8899)
Fixed a spelling mistake
2024-02-19 15:52:08 +02: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
github-actions[bot]
b735b6799f
Apply Version Updates From Current Changes (v1) (#8475)
* chore: change bump to patch

* apply version updates

---------

Co-authored-by: amrbashir <amr.bashir2015@gmail.com>
Co-authored-by: amrbashir <amrbashir@users.noreply.github.com>
2024-02-18 19:31:52 -03:00
Amr Bashir
77f49ad55e
refactor: optimize undecorated resizing handling (#8790)
* refactor: optimize undecorated resizing handling

* license

* separate modules

* fix windows

* rename export

* fix export

* same for gtk

* shared hit_test function

* change cursor on drag

* only set cursor on windows

* Revert "only set cursor on windows"

This reverts commit 03294a8430.

* fix flickering on Windows, change cursor on motion on Linux

* remove changing cursor on move on linux

* fix linux implementation

* clippy

* Windows, on left click only

* prevent on fullscreen, use OS border size on Windows

* fix build

* clippy

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-18 15:56:57 -03:00
Sam Willis
28fb036ce4
fix(core): Incorrect resource_dir when app run from new style target/PLATFORM+ARCH/(debug|release) dir (#8852)
* Fix resource_dir when app run from new target/someting/(debug|release) dir

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

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

* change file, update logic, add tests

* lint

* fix tests

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-18 15:10:21 -03:00
Fabian-Lars
ed33b851c7
docs: Fix PathResolver doc comment (#8876) 2024-02-18 10:43:26 -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
0cb0a15ce2
feat(core): capabilities on multiwebview contexts (#8789)
* feat(core): capabilities on multiwebview contexts

* fix cli

* lint

* sort
2024-02-16 08:24:51 -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
e52d5e573f
enhance: center window before creation (#8845)
* enhance: center window before creation

closes #4777

* simplify variable name

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-16 08:13:49 -03:00
Amr Bashir
16e550ec15
refactor(core): add webview events (#8844)
* refactor(core): add webview events

* license header

* clippy

* fix doctests

* more doctests

* fix JS `listen` with `EventTarget::Any`

* typo

* update module import

* clippy

* remove console.log

* fix api example

* fix documentation for emiTo [skip ci]

* actually add RunEvent::WebviewEvent

* update migration

* lint

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-16 08:07:39 -03:00
Amr Bashir
5618f6d2ff
feat: relax plugin identifier requirements to alphanumeric and - (#8856)
closes #8820
2024-02-16 07:27:56 -03:00
i-c-b
11a5816bdf
feat(core): recursive asset scope on directory file-drop event (#8864)
* allow recursive asset scope on directory file-drop events

* Create allow-recursive-asset-scope-on-file-drop-directory.md

* Update .changes/allow-recursive-asset-scope-on-file-drop-directory.md
2024-02-15 16:56:04 +02:00
amrbashir
7b5e8712e7
ci: update msrv test and cargo.lock 2024-02-14 04:01:01 +02:00
Lucas Fernandes Nogueira
2421073576
fix(macos): use BTreeMap for windows map to prevent crash on idle (#8117)
* fix(macos): use BTreeMap for windows map to prevent crash on idle

* use arc [skip ci]

* add change file
2024-02-14 01:15:21 +02:00
Philipp Bokatius
46b6598a94
fix: target specific window for window events (#8826)
* fix: target specific window for CLOSE_REQUESTED_EVENT emission

* fix: use emit_filter() instead of emit_to()

* fix: try sending event regardless of existing js listener

* cleanups

* change file

* emit_self -> emit_to_window

---------

Co-authored-by: amrbashir <amr.bashir2015@gmail.com>
2024-02-12 17:55:20 +02:00
Jason Tsai
cf3e40cc47
fix(core): use event.code to check which key pressed (#8819)
* fix(core): use event.code to check which key pressed

* Discard changes to .changes/fix-devtool-hotkey-code.md
2024-02-08 16:29:54 +02:00
Lucas Fernandes Nogueira
2f55bfecbf
chore(deps): update wry to 0.36 (#8795)
* chore(deps): update wry to 0.36

* rwh 0.6

* remove raw_window_handle usage

* fix build

* fix windows test
2024-02-07 22:26:29 -03:00
Lucas Fernandes Nogueira
dd7571a780
fix(core): do not generate files if plugin has no permissions (#8815) 2024-02-07 22:26:16 -03:00
Jason Tsai
8751c3299f
fix: correct invoke command for toggling devtools by hotkey, closes #8771 (#8793) 2024-02-06 07:41:54 -03:00
Amr Bashir
2e6db908d7
fix(core): make tauri::Error sync again (#8777)
* fix(core): make `tauri::Error` sync again

closes #8754

* add unit test

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-05 14:52:10 -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
Lucas Fernandes Nogueira
f2e4c9de3a
chore: remove nix workaround following zbus release (#8773) 2024-02-05 10:32:10 -03:00
Fabian-Lars
ae0fe47c4c
fix(core): Compile error when bundle.license is set (#8774)
* fix(core): Compile error when bundle.license is set

* wrong package
2024-02-05 15:08:32 +02:00
Lucas Fernandes Nogueira
bd73ab0a1a
fix(multiwebview): remove webview from store on close (#8766) 2024-02-04 23:22:09 -03:00
Lucas Fernandes Nogueira
48b1fd74b1
fix(tauri-runtime-wry): enable the nix user feature ref #8761 (#8765) 2024-02-04 17:40:46 -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
fe67ab7f25
fix(core): build on unix failing (#8761)
* fix(core): build on unix failing

* change file
2024-02-04 19:42:55 +01:00
Fabian-Lars
3bf6bc36da
docs: Fix broken config link (#8752)
* docs: Fix broken config link

* regen
2024-02-04 11:56:28 -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
timotheeMM
b43c423165
chore: fix a typo in core/tauri/CHANGELOG.md (#8748)
accomodate -> accommodate

[skip ci]
2024-02-04 00:29:49 +02:00
github-actions[bot]
509e35f209
Apply Version Updates From Current Changes (#8751)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-02-03 17:55:13 -03:00
Lucas Fernandes Nogueira
863bc9e55f
fix(core): regression on process-ipc-message-fn (#8749) 2024-02-03 17:18:19 -03:00
Lucas Nogueira
6b981d37dc
fix(core): properly import HeaderName 2024-02-03 13:00:39 -03:00
Lucas Nogueira
2333cd1c83
fix: set tauri-plugin crate description 2024-02-03 12:34:45 -03:00
Lucas Nogueira
f1d0f452a2
chore: pin tao to 0.25 2024-02-03 11:57:54 -03:00
Lucas Nogueira
ab57f9531a
chore: run pnpm format on the repo 2024-02-03 11:08:13 -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
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
Lucas Fernandes Nogueira
0a01b5b720
fix(core): do not embed assets on dev when using a URL (#8739) 2024-02-03 08:18:59 -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
Lucas Fernandes Nogueira
791e291a9f
fix(build): ignore changes on autogenerated files (#8736) 2024-02-02 20:55:27 -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
Jingyu
95da1a2747
fix(core): macos #5122 app.runtime panic in app.set_activation_policy (#8713)
* fix #5122 app.runtime panic in set_activation_policy

* allow setting the policy at runtime

* add change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-02 09:40:10 -03:00
Lucas Fernandes Nogueira
a35b416e38
refactor(core): merge scope and commands resolving permission sets (#8731) 2024-02-02 09:18: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
time-river
6639a579c7
feat(core): add support to setting a webview proxy, closes #4263 (#8441)
* feat(wry): support proxy in wry runtime

wry has been supported http/socks5 proxy in
[#1006](https://github.com/tauri-apps/wry/pull/1006), which has been
merged in [commit
3cc4d79](3cc4d79843).

This patch aims to support its feature.

Signed-off-by: lin fu <river@vvl.me>

* Apply suggestions from code review

* Apply suggestions from code review

* Update core/tauri-runtime-wry/src/lib.rs

* Update core/tauri/src/window/mod.rs

* add macos-proxy flag

* add change file

* delete file

* update change file

* use macos-14 runner to test core

---------

Signed-off-by: lin fu <river@vvl.me>
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>
2024-02-01 08:53:32 -03:00
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
John Smith
cc3d8e7731
fix(core): Command::output suspend while wait for response (#8539)
* fix: Command::output suspend while wait for response

* add change file

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-02-01 08:06:05 -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
8ce51cec3b
feat: retain cli args when relaunching after update, closes #7402 (#7718)
* feat: retain cli args when relaunching after update, closes #7402

* 1.61 compatible OsString join

* fix msi impl as well

* fix tests

* Update .changes/tauri-bundler-nsis-args.md

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

* Update .changes/tauri-updater-retain-args.md

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

* more typos

* fix update args

* pull args from Env

* check if not empty

* pin memchr

* Update core.rs

* Update core.rs

* move /args

* fix build

* lint

* more lints

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
2024-01-31 16:02:48 -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
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
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
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
f998fa0ec2
refactor(core): allow scope deserialization to run setup code (#8699)
* refactor(core): allow scope deserialization to run setup code

* Update core/tauri/src/command/authority.rs

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-01-29 13:31:03 -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
2631e97e2b
fix(acl): command scope should not error out if missing (#8675)
* fix(acl): command scope should not error out if missing

* propagate error
2024-01-29 11:39:56 -03:00
Lucas Fernandes Nogueira
ec9818accb
refactor(core)!: App::run_iteration improvements (#8696)
* refactor(core): App::run_iteration improvements

* lint

* fixes

* fix exit

* Apply suggestions from code review

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>

* update cargo.toml

* booooool

* fix mock runtime

* fix doctests

* fix doctest againrrrr

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-01-29 10:52:44 -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
AuTa
5e1ae87c0c
fix(core/window): set window_effects from config (#8677)
Signed-off-by: AuTa <auta520@live.com>
2024-01-25 14:07:39 +01: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
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
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
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
Amr Bashir
7f033f6dcd
fix(core): fix undecorated window resizing, #8519 (#8537)
* fix(core): fix undecorated window resizing, fixes #8519

* js api

* fix invoke call

* Update tauri-window-start-resize-dragging.md

* clippy
2024-01-18 19:34:55 +02:00
Amr Bashir
9f8037c288
fix(core): clear window surface for transparent windows (#8633)
* fix(core): clear window surface for transparent windows

closes #8632

this may conflict with `tauri-egui` rendering to the surface so we may need to add an option to disable internal rendering

* fix build
2024-01-18 18:35:20 +02:00
Naman Garg
7aa30dec85
feat: Add Section, Priority and Changelog options (#8620)
* Init section, priority and changelog

* Add section. priority and changelog support

* fix variable name

* Add .changes file

* Fix Formatting

* Apply suggestions from code review
2024-01-17 04:21:46 +02: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
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
阿良仔
1ca69bcf2f
fix(clipboard): build issues on wayland (fix #8515) (#8546)
* fix(clipboard): fail to build on wayland

* specify exact version

* bump MSRV to 1.63

* revert msrv changes

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2024-01-15 19:52:49 +02:00
Fabian-Lars
b546b42db7
fix(core): Retain order of map keys in ipc, fixes #7922 (#8577)
* fix(core): Retain order of map keys in ipc, fixes #7922

* enable dep on http-api feature instead of http-request

* Create fix-formbody-order.md

* Update fix-formbody-order.md
2024-01-10 21:03:25 +02:00
pashokitsme
29ced5ceec
feat: add WindowBuilder::on_download, closes #8157 (#8159)
* on_download_started & on_download_completed setters

* macos: default handler fn if not set

* remove default macos handler

* doc comments

* unify hooks, change files

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-12-30 11:46:53 -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
Amr Bashir
cb640c8e94
fix(runtime-wry): propagate wry file drop event to tao event loop, closes #8206 (#8393)
* fix(runtime-wry): propagate wry file drop event to tao event loop

* fix build

* always block default OS file drop behavior

* Update .changes/runevent-filedrop.md [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-12-28 10:20:24 -03:00
Lucas Fernandes Nogueira
af565c2a20
fix(macos): allow canceling data-tauri-drag-region maximization #8312 (#8487) 2023-12-28 10:03:14 -03:00
Amr Bashir
8f8729d918
fix(core): allow canceling data-tauri-drag-region maximization on macOS, closes #8306 (#8312)
* fix(core): allow canceling `data-tauri-drag-region` maximization on macOS, closes #8306

* Update .changes/tauri-data-drag-region-macos-maximize.md

* fix typo

* cancel if mouse moves

* Update tauri-data-drag-region-macos-maximize.md

[skip ci]

* Update core/tauri/scripts/core.js [skip ci]

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-12-28 09:13:48 -03:00
Amr Bashir
0ea1a47254
ci: use default options for repository-dispatch (#8455) 2023-12-27 13:00:39 -03:00
Amr Bashir
6e48837860
feat: re-export Url (#8474)
* feat: re-exoprt `Url`

`Url` is used/returned from public API, we should re-export it

* Update .changes/export-url.md
2023-12-27 12:59:26 -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
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
Fabian-Lars
b2f83f03a8
fix(core): Replace Rc with Arc to prevent crashes when sending events (#8402)
* fix(core): Prevent crash when sending events.

* add change file

* use dedicated type for windows refcell map

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-12-20 12:13:00 -03:00
Amr Bashir
645e1dcc6e
fix(core/updater): check if installer args are not empty before passing -ArgumentList closes #8296 (#8404) 2023-12-20 01:08:38 +02:00
Amr Bashir
2032228cad
refactor!: remove GlobalWindowEvent type (#8430)
* refactor!: remove `GlobalWindowEvent` type

* takee references instead
2023-12-19 14:20:00 -03:00
Lucas Nogueira
a9b87c057d
Merge branch '1.x' into dev 2023-12-19 13:52:53 -03:00
Lucas Nogueira
6cd6d3fb32
chore(utils): add change file for #7964 2023-12-19 12:48:05 -03:00
Lucas Nogueira
30c5d86f88
fix: bump tauri-runtime-wry for #8213 2023-12-19 11:33:35 -03:00
github-actions[bot]
e44b36fea4
Apply Version Updates From Current Changes (#8274)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-12-19 11:03:26 -03:00
Lucas Fernandes Nogueira
effe5871af
fix(core): scope checks on Android (#8420)
* fix(core): scope checks on Android

On Android, when we call canonicalize() on "/data/user/0/appid" (which is the data dir), the result is a "/data/data/appid" path, so we need to adjust our scope for that.

* clarify code

* apply the logic to all targets
2023-12-19 10:19:26 -03:00
Lucas Fernandes Nogueira
b59f2f54e7
feat(core): expose scope::fs::Scope::new (#8432) 2023-12-18 21:29:12 -03:00
Amr Bashir
50a3d170f2
fix(core/dialog): reconstruct path using appropriate separator, closes #8074 (#8408)
* fix(core/dialog): reconstruct path using appropraite separator, closes #8074

* Update dialog-window-forward-slash.md

* Update dialog.rs

* Update core/tauri/src/endpoints/dialog.rs

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-12-18 21:08:18 -03:00
Lucas Fernandes Nogueira
11a1529d6a
feat(core): set CORS headers on protocol errors (#8419)
* feat(core): set CORS headers on protocol errors

This ensures the frontend can read the error message instead of just showing a CORS error

* fix statuscode
2023-12-18 20:54:40 -03:00
Amr Bashir
9b230de7bc
fix(utils/config): fix parsing f64 values, closes #8252 (#8407) 2023-12-18 18:18:44 -03:00
Amr Bashir
428ea6524c
feat(api): expose Resource class (#8370)
* feat(api): expose `Resource` class

continuation of https://github.com/tauri-apps/tauri/pull/8276

* Apply suggestions from code review

* fmt

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-12-18 18:16:21 -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
Alexandre Dang
3c371aa8ee
feat(core): add test::test::get_ipc_response, closes #8199 (#8228)
* feat(core): Add additional functions to the

* Add documentation and cleanup the code

* Improve and add tests to helper functions

* Clean unecessary code and correct tests

* Make `Ipc` and `IpcKey` public

* Open `Ipc` with public functions

* Update core/tauri/src/test/mod.rs

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

* cleanup, change file

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
2023-12-14 11:52:45 -03:00
Alexandre Dang
db12777742
feat(core): allow the MockRuntime to call a command and get a return value + fix doctest (#8380)
* Add `get_ipc_response` to the `MockRuntime`

* Fix `MockRuntime` doctests

* Add support for raw ipc

* cleanup, add change file

* only a single get fn

---------

Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
2023-12-14 11:52:25 -03:00
Guillem Córdoba
5848b4e8e9
Fixed channel deserialisation in iOS (#8386)
* Fixed channel

* Change file
2023-12-14 09:25:28 -03:00
Michael Howell
f98ce5aa47
fix: fix incorrect predefined menu item for Close Window (#8328)
* Fix incorrect predefined menu item for Close Window

* change file

---------

Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-12-12 00:29:55 +02:00
amrbashir
cf7d584033
chore: manually bump tauri-utils 2023-12-01 03:46:30 +02:00
github-actions[bot]
61cc7d9c5a
Apply Version Updates From Current Changes (v1) (#8203)
* apply version updates

* fmt

---------

Co-authored-by: amrbashir <amrbashir@users.noreply.github.com>
Co-authored-by: amrbashir <amr.bashir2015@gmail.com>
2023-12-01 03:05:05 +02:00
Robin van Boven
c4b5df12bb
perf: skip large Window and AppHandle fields on traces (#8318)
* perf: Skip large Window and AppHandle fields on traces

These contain large fields like image buffers, causing spans/events to be very large when serialized.

Especially the `window::emit::eval` one which is in a hot code path.

* fix: MSRV issues
2023-11-30 16:56:24 +02:00
阿良仔
f78e5e4d4a
refactor: replace once_cell with std::sync::OnceLock (#8309)
Our MSRV is currently 1.70 and these new types were introduced in 1.70
2023-11-29 01:12:03 +02: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
Davide Ferrero
5ff6a74430
chore: aligned cocoa crate to 0.25 (#8297) 2023-11-24 22:09:15 +02:00
Davide Ferrero
ad8836b1d2
chore: remove unused import muda::AboutMetadataBuilder (#8294) 2023-11-23 17:15:40 +02: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
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
bf095df55a
feat: expose Manager::resources_table (#8276)
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2023-11-21 07:57:35 -03: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
5046270273
fix(api): add top-level main, module and types fields (#8267) 2023-11-20 18:12:52 -03:00
Amr Bashir
b8756bc34e
perf: remove extranous call in StateManager::get (#8272) 2023-11-20 17:55:18 -03:00
Fabian-Lars
c2ad4d28c4
refactor(api)!: Rename primitives mod to core (#8273) 2023-11-20 17:53:13 -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]
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
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
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
4b6a602a89
fix(updater): Use escaped installer path when starting the updater msi (#8234)
* fix(updater): Use escaped installer path when starting the updater msi

Continuation of https://github.com/tauri-apps/tauri/pull/7956

* fix build
2023-11-16 01:26:03 +02: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]
e221aae531
chore(deps) Update Tauri Utils (1.x) (#8105)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-11-14 09:52:58 -03:00
Lucas Fernandes Nogueira
2ba8856343
fix(core): docs.rs build failing for macOS (#8095) 2023-11-13 22:34:22 -03:00
i-c-b
b7add750ef
Fix file-drop event payload (#8204)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2023-11-13 21:40:59 -03:00