Amr Bashir
d1e77acd8d
refactor!(core): remove Icon
enum and add Image
type ( #9011 )
...
* refactor!(core): remove `Icon` enum and add `Image` type
* clippy
* revert api example config change
* Update image.rs
* fix build
* clippy
* change files
* add back removed methods as setter functions
* simplify error message
* Update .changes/runtime-icon-lifetime.md
* Update .changes/ico-featrue-flags.md
* Update core/tauri/src/image.rs
* update api lockfile
* update api ref
* lint
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-02-29 09:05:11 -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
f5f3ed5f6f
fix(cli): CLI path issues on mobile project initialization ( #9009 )
...
* fix(cli): fix panic when `android init` using cargo or yarn
closes #8531
* clippy
* try with fullpath
* clippy
* move cli
* Update test-android.yml
* add to path instead
* clippy
* try moving
* use cargo subcommand
* delete unused logic [skip ci]
* truncate on init [skip ci]
* enhance binary/args check
* update change files
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-02-28 14:38:24 -03:00
Lucas Fernandes Nogueira
3657ad82f8
feat(core): allow defining permissions for the app commands ( #9008 )
...
* feat(core): allow defining permissions for the app commands
* global scope
* command scope
* write to disk
* lint
* fix path
* get autogenerated commands from generate_handler macro
* revert
* remove cli
* use const instead of empty str
2024-02-28 08:45:28 -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 Fernandes Nogueira
cbd9755e09
fix: process logs not showing on iOS ( #8977 )
2024-02-25 17:38:27 -03:00
Lucas Nogueira
5ddea72c50
chore: update cargo-mobile2 to 0.10.2 ref #8949
2024-02-22 15:35:14 -03:00
Lucas Fernandes Nogueira
a029b9f77e
feat(cli): codesign on iOS is optional for the simulator ( #8910 )
...
* feat(cli): codesign on iOS is optional for the simulator
* cargo-mobile2 0.10
2024-02-21 09:52:46 -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
Lucas Nogueira
c426c0dca2
merge from 1.x
2024-02-19 08:03:05 -03:00
Lucas Nogueira
e816a46b95
chore: update lock files
2024-02-18 23:46:17 -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
dependabot[bot]
d72b6f3842
chore(deps): bump undici from 5.26.5 to 5.28.3 in /examples/api ( #8877 )
...
Bumps [undici](https://github.com/nodejs/undici ) from 5.26.5 to 5.28.3.
- [Release notes](https://github.com/nodejs/undici/releases )
- [Commits](https://github.com/nodejs/undici/compare/v5.26.5...v5.28.3 )
---
updated-dependencies:
- dependency-name: undici
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-18 10:42:24 -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
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
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
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
fb0d997117
fix(cli): regression on --config not accepting file paths ( #8783 )
...
* fix(cli): regression on --config not accepting file paths
* enhance dev server config parsing
* use serde_json::json!
* pass config to setup
2024-02-07 17:08:05 +02: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
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
Lucas Fernandes Nogueira
3364b6727c
fix(cli): build command features
and bundles
can have multiple values ( #8744 )
...
* fix(cli): build command and can have multiple values
* add value delimiter on bundles
* gitignore dist
2024-02-03 09:14:02 -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
Jingyu
b09b94204c
docs(examples): multiwindow example run command ( #8735 )
2024-02-02 19:54:59 +01: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
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
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
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
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
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
dependabot[bot]
303708d0aa
chore(deps-dev): bump vite from 4.4.12 to 4.5.2 in /examples/api ( #8646 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 4.4.12 to 4.5.2.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v4.5.2/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v4.5.2/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-20 04:50:55 +02: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
Fabian-Lars
5cb196976e
fix(examples): Update web example to latest dialog plugin ( #8567 )
2024-01-09 02:03:23 +02: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