Compare commits

..

25 Commits

Author SHA1 Message Date
github-actions[bot] d8efd3cd20 Publish New Versions (v2) (#1794)
Co-authored-by: amrbashir <amrbashir@users.noreply.github.com>
2024-09-16 07:00:22 -03:00
renovate[bot] 5d39ddcf22 chore(deps): lock file maintenance (#1791)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-16 10:21:19 +08:00
Tony 2050a3bea2 fix(upload): change tokio version to 1 instead of * (#1793) 2024-09-16 05:20:52 +03:00
Tony c078f57a09 Revert "Publish New Versions (v2)" (#1792)
This reverts commit dc5721ac13.
2024-09-16 05:20:21 +03:00
github-actions[bot] dc5721ac13 Publish New Versions (v2) (#1788)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-09-15 18:37:58 -03:00
Felix Salazar 1d9741b52b [upload - http-extra] fix: download content to file when unsuccessful response (and test) #1750 (#1783)
* fix and test

* Update Cargo.toml

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

* Update Cargo.toml

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

* add .change log

* clippy fixes

* print test error

* fix tests

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-09-15 18:37:02 -03:00
Tony 7a37355e17 fix(window-state): deadlock when trying to restore window states on initial load (#1787)
* Fix deadlock when trying to restore window the size on initial load

* Typo
2024-09-15 18:01:27 -03:00
github-actions[bot] 5cbd593e76 publish new versions (#1772)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-09-15 11:55:38 -03:00
renovate[bot] f7600b5fff chore(deps): update dependency @tauri-apps/cli to v2.0.0-rc.14 (#1786)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-15 11:37:09 -03:00
Lucas Fernandes Nogueira fb85e5dd76 chore(deps): update tauri to 2.0.0-rc.12 (#1785) 2024-09-15 11:36:23 -03:00
Lucas Fernandes Nogueira 6f3f66794a feat(deep-link): add on_open_url Rust API (#1780) 2024-09-14 21:35:31 -03:00
FabianLars 79d6e19c4b chore: Add changefile for #1777 2024-09-14 18:34:45 +02:00
Cole Shirley aebd4f6185 fix(barcode-scanner): Fix mixed up imports (internal) (#1777)
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-09-14 18:20:21 +02:00
Lucas Fernandes Nogueira 341a5320c3 fix(clipboard): Android warnings and build on SDK under 28 (#1771) 2024-09-13 12:03:10 -03:00
Lucas Fernandes Nogueira cc03ccf5e0 fix(fs): app scopes not properly enabling paths (#1774) 2024-09-13 09:57:46 -03:00
Lucas Nogueira 009299ebec chore(prettier): ignore mobile build artifacts 2024-09-13 09:10:01 -03:00
Tony 204e5aacad fix(window-state)!: saving minimized state (#1743)
* Fix saving minimized state again

* Add change file

* Fix saving minimized size

* Add change file

* Fix missing .md

* Remove window-shadows
2024-09-13 06:29:38 +03:00
github-actions[bot] 8a45c35160 publish new versions (#1764)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2024-09-12 15:49:29 -03:00
Lucas Nogueira ebf821afd1 chore(examples): update AndroidManifest.xml 2024-09-12 15:32:27 -03:00
Lucas Fernandes Nogueira 984110a978 fix(deep-link): emit new-url event on app load (#1770) 2024-09-12 11:20:16 -03:00
Lucas Fernandes Nogueira 2b898f0786 fix(dialog): update asset protocol scope on directory open, closes #1553 (#1769) 2024-09-12 11:10:16 -03:00
Tony b2269333e3 chore(single-instance): put deep link integration behined a feature (#1766)
* Make deep link optional for single instance

* Add change file

* Add deep-link feature to example

* Update plugins/deep-link/README.md

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

* format

* [skip ci] update readme

---------

Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
2024-09-12 18:20:15 +08:00
renovate[bot] 41afcae399 chore(deps): update dependency rollup to v4.21.3 (v2) (#1767)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-12 12:01:38 +02:00
SRutile 9291e4d2ca fix(fs): support any UTF-8 path in writeFile (#1640)
* In the `writeFile` function, when `options.baseDir` is not set, convert `path` to URL to avoid errors caused by Chinese characters.

* fmt

* use TextEncoder

* use percent encoding

* add change file

* fmt

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-09-11 12:02:24 -03:00
renovate[bot] 3715f3c9a6 chore(deps): update tauri monorepo (#1760)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-11 09:12:13 +08:00
132 changed files with 5446 additions and 8105 deletions
+6
View File
@@ -0,0 +1,6 @@
---
"deep-link": patch
---
Emit the `deep-link://new-url` event on Linux and Windows when the app is executed with a deep link CLI argument,
matching the iOS and macOS behavior.
+6
View File
@@ -0,0 +1,6 @@
---
"deep-link": patch
---
Added `DeepLink::on_open_url` function to match the JavaScript API implementation,
which wraps the `deep-link://new-url` event and also send the current deep link if there's any.
+5
View File
@@ -0,0 +1,5 @@
---
"dialog": patch
---
Update Tauri scopes (asset protocol) when using the `open()` command to select directories.
+5
View File
@@ -0,0 +1,5 @@
---
"barcode-scanner-js": patch
---
Fixed an issue which caused checkPermission and requestPermission to be mixed up.
+6
View File
@@ -0,0 +1,6 @@
---
"clipboard-manager": patch
"clipboard-manager-js": patch
---
Fix warnings and clear implementation on Android below SDK 28.
+5
View File
@@ -0,0 +1,5 @@
---
"fs": patch
---
Fix `scope-app`, `scope-app-recursive` and `scope-index` not properly enabling the application paths.
@@ -0,0 +1,5 @@
---
"window-state": patch
---
Fix can't restore a minimized window's size and position properly
@@ -0,0 +1,5 @@
---
"window-state": patch
---
Fix deadlock when trying to restore window states on initial load
@@ -0,0 +1,5 @@
---
"upload": 'patch:bug'
---
fix download content to file when unsuccessful response
+5
View File
@@ -0,0 +1,5 @@
---
"fs": patch
---
Support any UTF-8 character in the writeFile API.
+14 -1
View File
@@ -5,22 +5,32 @@
".changes/barcode-dependencies.md",
".changes/barcode-scanner-validate-plist.md",
".changes/consolidate-permission-state.md",
".changes/deep-link-event.md",
".changes/deep-link-get-current-desktop.md",
".changes/deep-link-on-new-url.md",
".changes/deep-link-register-all.md",
".changes/dialog-asset-scope.md",
".changes/dialog-file-response-non-exhaustive.md",
".changes/dialog-return-path.md",
".changes/fix-barcodae-scanner-imports.md",
".changes/fix-clipboard-warnings-sdk.md",
".changes/fix-deep-link-config.md",
".changes/fix-fs-app-scopes.md",
".changes/fix-fs-write-file-android.md",
".changes/fix-http-plugin-abort.md",
".changes/fix-ios-file-dialog-default-mode.md",
".changes/fix-linux-updater-permission-error.md",
".changes/fix-restore-minimized-window-position.md",
".changes/fix-restore-minimized-window-state.md",
".changes/fix-restore-window-state-deadlock.md",
".changes/fix-upload-handle-non-success-download.md",
".changes/fs-dialog-file-path-methods.md",
".changes/fs-dialog-file-path-traits.md",
".changes/fs-dialog-non-exhaustive-error.md",
".changes/fs-dialog-safe-file-path.md",
".changes/fs-scope-recursive-allow-read-dir.md",
".changes/fs-windows-path.md",
".changes/fs-write-file-utf8-chars.md",
".changes/geolocation-release.md",
".changes/global-shortcut-0.6.md",
".changes/haptics-release.md",
@@ -34,14 +44,17 @@
".changes/shell-open-regex-match-string.md",
".changes/shell-regex-match-string.md",
".changes/single-instance-deep-link.md",
".changes/single-instance-optional-deep-link.md",
".changes/single-instance-windows-sys.0.59.md",
".changes/sql-uuid-type.md",
".changes/store-remove-mobile-plugin.md",
".changes/swift-build-older-versions.md",
".changes/tauri-rc-8.md",
".changes/update-fs-api-docs.md",
".changes/update-tauri-rc-12.md",
".changes/update-tauri-rc-3.md",
".changes/updater-js-headers-download-crate.md",
".changes/updater-js-headers-download.md"
".changes/updater-js-headers-download.md",
".changes/window-state-physical-size.md"
]
}
@@ -0,0 +1,5 @@
---
"single-instance": "patch"
---
Put deep link integration behined a feature
+5
View File
@@ -0,0 +1,5 @@
---
"notification": patch
---
Update to tauri 2.0.0-rc.12.
+5
View File
@@ -0,0 +1,5 @@
---
"window-state": patch:breaking
---
Window's size is now stored in physical size instead of logical size
+5 -1
View File
@@ -19,4 +19,8 @@ plugins/*/examples/*/src-tauri/gen/
api-iife.js
init-iife.js
CHANGELOG.md
*schema.json
*schema.json
# mobile build
**/ios/.build
**/.tauri
Generated
+139 -130
View File
@@ -206,13 +206,13 @@ dependencies = [
[[package]]
name = "anyhow"
version = "1.0.87"
version = "1.0.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10f00e1f6e58a40e807377c75c6a7f97bf9044fab57816f2414e6f5f4499d7b8"
checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6"
[[package]]
name = "api"
version = "2.0.0-rc.5"
version = "2.0.0-rc.7"
dependencies = [
"log",
"serde",
@@ -235,8 +235,8 @@ dependencies = [
"tauri-plugin-shell",
"tauri-plugin-store",
"tauri-plugin-updater",
"tauri-plugin-window-state",
"tiny_http",
"window-shadows",
]
[[package]]
@@ -286,9 +286,9 @@ dependencies = [
[[package]]
name = "arboard"
version = "3.4.0"
version = "3.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fb4009533e8ff8f1450a5bcbc30f4242a1d34442221f72314bea1f5dc9c7f89"
checksum = "df099ccb16cd014ff054ac1bf392c67feeef57164b05c42f037cd40f5d4357f4"
dependencies = [
"clipboard-win",
"core-graphics 0.23.2",
@@ -304,9 +304,9 @@ dependencies = [
[[package]]
name = "arrayref"
version = "0.3.8"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a"
checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb"
[[package]]
name = "arrayvec"
@@ -337,6 +337,16 @@ dependencies = [
"zbus",
]
[[package]]
name = "assert-json-diff"
version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12"
dependencies = [
"serde",
"serde_json",
]
[[package]]
name = "async-broadcast"
version = "0.7.1"
@@ -431,9 +441,9 @@ dependencies = [
[[package]]
name = "async-process"
version = "2.2.4"
version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8a07789659a4d385b79b18b9127fc27e1a59e1e89117c78c5ea3b806f016374"
checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb"
dependencies = [
"async-channel",
"async-io",
@@ -446,7 +456,6 @@ dependencies = [
"futures-lite",
"rustix",
"tracing",
"windows-sys 0.59.0",
]
[[package]]
@@ -883,9 +892,9 @@ dependencies = [
[[package]]
name = "cc"
version = "1.1.18"
version = "1.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b62ac837cdb5cb22e10a256099b4fc502b1dfe560cb282963a974d7abd80e476"
checksum = "2d74707dde2ba56f86ae90effb3b43ddd369504387e718014de010cec7959800"
dependencies = [
"shlex",
]
@@ -1025,22 +1034,6 @@ dependencies = [
"error-code",
]
[[package]]
name = "cocoa"
version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c"
dependencies = [
"bitflags 1.3.2",
"block",
"cocoa-foundation 0.1.2",
"core-foundation 0.9.4",
"core-graphics 0.23.2",
"foreign-types 0.5.0",
"libc",
"objc",
]
[[package]]
name = "cocoa"
version = "0.26.0"
@@ -1049,7 +1042,7 @@ checksum = "f79398230a6e2c08f5c9760610eb6924b52aa9e7950a619602baba59dcbbdbb2"
dependencies = [
"bitflags 2.6.0",
"block",
"cocoa-foundation 0.2.0",
"cocoa-foundation",
"core-foundation 0.10.0",
"core-graphics 0.24.0",
"foreign-types 0.5.0",
@@ -1057,20 +1050,6 @@ dependencies = [
"objc",
]
[[package]]
name = "cocoa-foundation"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7"
dependencies = [
"bitflags 1.3.2",
"block",
"core-foundation 0.9.4",
"core-graphics-types 0.1.3",
"libc",
"objc",
]
[[package]]
name = "cocoa-foundation"
version = "0.2.0"
@@ -1118,6 +1097,16 @@ dependencies = [
"winapi",
]
[[package]]
name = "colored"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8"
dependencies = [
"lazy_static",
"windows-sys 0.48.0",
]
[[package]]
name = "combine"
version = "4.6.7"
@@ -1918,9 +1907,9 @@ dependencies = [
[[package]]
name = "error-code"
version = "3.2.0"
version = "3.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0474425d51df81997e2f90a21591180b38eccf27292d755f3e30750225c175b"
checksum = "a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f"
[[package]]
name = "etcetera"
@@ -1991,7 +1980,7 @@ version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9f0c14694cbd524c8720dd69b0e3179344f04ebb5f90f2e4a440c6ea3b2f1ee"
dependencies = [
"colored",
"colored 1.9.4",
"log",
]
@@ -2556,9 +2545,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
[[package]]
name = "global-hotkey"
version = "0.6.1"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4b86f7342b0e2abcf5e50ed8afd8bb9ffb6e30619d90f1e1a774b934a61f3e9"
checksum = "d1b75248f33c73df1ed69673f6cb36d2e048ae84d29aa1d3e53199d138ebb1df"
dependencies = [
"crossbeam-channel",
"keyboard-types",
@@ -2838,6 +2827,7 @@ dependencies = [
"http",
"http-body",
"httparse",
"httpdate",
"itoa 1.0.11",
"pin-project-lite",
"smallvec",
@@ -2882,9 +2872,9 @@ dependencies = [
[[package]]
name = "hyper-util"
version = "0.1.7"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9"
checksum = "da62f120a8a37763efb0cf8fdf264b884c7b8b9ac8660b900c8661030c00e6ba"
dependencies = [
"bytes",
"futures-channel",
@@ -3493,9 +3483,9 @@ checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
[[package]]
name = "mac-notification-sys"
version = "0.6.1"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51fca4d74ff9dbaac16a01b924bc3693fa2bba0862c2c633abc73f9a8ea21f64"
checksum = "dce8f34f3717aa37177e723df6c1fc5fb02b2a1087374ea3fe0ea42316dc8f91"
dependencies = [
"cc",
"dirs-next",
@@ -3653,13 +3643,37 @@ dependencies = [
"windows-sys 0.52.0",
]
[[package]]
name = "mockito"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09b34bd91b9e5c5b06338d392463e1318d683cf82ec3d3af4014609be6e2108d"
dependencies = [
"assert-json-diff",
"bytes",
"colored 2.1.0",
"futures-util",
"http",
"http-body",
"http-body-util",
"hyper",
"hyper-util",
"log",
"rand 0.8.5",
"regex",
"serde_json",
"serde_urlencoded",
"similar",
"tokio",
]
[[package]]
name = "muda"
version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba8ac4080fb1e097c2c22acae467e46e4da72d941f02e82b67a87a2a89fa38b1"
dependencies = [
"cocoa 0.26.0",
"cocoa",
"crossbeam-channel",
"dpi",
"gtk",
@@ -3700,7 +3714,7 @@ dependencies = [
"log",
"ndk-sys",
"num_enum",
"raw-window-handle 0.6.2",
"raw-window-handle",
"thiserror",
]
@@ -3801,9 +3815,9 @@ dependencies = [
[[package]]
name = "notify-rust"
version = "4.11.1"
version = "4.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26a1d03b6305ecefdd9c6c60150179bb8d9f0cd4e64bbcad1e41419e7bf5e414"
checksum = "5134a72dc570b178bff81b01e81ab14a6fcc015391ed4b3b14853090658cd3a3"
dependencies = [
"log",
"mac-notification-sys",
@@ -4044,9 +4058,9 @@ dependencies = [
[[package]]
name = "once_cell"
version = "1.19.0"
version = "1.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
checksum = "33ea5043e58958ee56f3e15a90aee535795cd7dfd319846288d93c5b57d85cbe"
[[package]]
name = "opaque-debug"
@@ -4824,12 +4838,6 @@ dependencies = [
"rand_core 0.5.1",
]
[[package]]
name = "raw-window-handle"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
[[package]]
name = "raw-window-handle"
version = "0.6.2"
@@ -4869,9 +4877,9 @@ dependencies = [
[[package]]
name = "redox_syscall"
version = "0.5.3"
version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4"
checksum = "0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853"
dependencies = [
"bitflags 2.6.0",
]
@@ -5024,7 +5032,7 @@ dependencies = [
"objc",
"objc-foundation",
"objc_id",
"raw-window-handle 0.6.2",
"raw-window-handle",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
@@ -5174,9 +5182,9 @@ dependencies = [
[[package]]
name = "rustix"
version = "0.38.36"
version = "0.38.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f55e80d50763938498dd5ebb18647174e0c76dc38c5505294bb224624f30f36"
checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811"
dependencies = [
"bitflags 2.6.0",
"errno",
@@ -5187,9 +5195,9 @@ dependencies = [
[[package]]
name = "rustls"
version = "0.23.12"
version = "0.23.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044"
checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8"
dependencies = [
"once_cell",
"ring",
@@ -5243,9 +5251,9 @@ checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0"
[[package]]
name = "rustls-webpki"
version = "0.102.7"
version = "0.102.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84678086bd54edf2b415183ed7a94d0efb049f1b646a33e22a36f3794be6ae56"
checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9"
dependencies = [
"ring",
"rustls-pki-types",
@@ -5650,6 +5658,12 @@ version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a"
[[package]]
name = "similar"
version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e"
[[package]]
name = "single-instance-example"
version = "0.1.0"
@@ -5711,7 +5725,7 @@ dependencies = [
"objc2",
"objc2-foundation",
"objc2-quartz-core",
"raw-window-handle 0.6.2",
"raw-window-handle",
"redox_syscall",
"wasm-bindgen",
"web-sys",
@@ -6229,7 +6243,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a93f2c6b8fdaeb7f417bda89b5bc767999745c3052969664ae1fa65892deb7e"
dependencies = [
"bitflags 2.6.0",
"cocoa 0.26.0",
"cocoa",
"core-foundation 0.10.0",
"core-graphics 0.24.0",
"crossbeam-channel",
@@ -6250,7 +6264,7 @@ dependencies = [
"objc",
"once_cell",
"parking_lot",
"raw-window-handle 0.6.2",
"raw-window-handle",
"scopeguard",
"tao-macros",
"unicode-segmentation",
@@ -6297,13 +6311,12 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
[[package]]
name = "tauri"
version = "2.0.0-rc.10"
version = "2.0.0-rc.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6327f79726c508efbbc3826b343fd7d39ebce786bdeff5881077b35d335d9e0"
checksum = "0a283cb3d25e46e2f5d99f0068928dadaca4a19558c555f91a5064e3299c691d"
dependencies = [
"anyhow",
"bytes",
"cocoa 0.26.0",
"dirs 5.0.1",
"dunce",
"embed_plist",
@@ -6320,9 +6333,12 @@ dependencies = [
"log",
"mime",
"muda",
"objc",
"objc2",
"objc2-app-kit",
"objc2-foundation",
"percent-encoding",
"raw-window-handle 0.6.2",
"plist",
"raw-window-handle",
"reqwest",
"serde",
"serde_json",
@@ -6350,9 +6366,9 @@ dependencies = [
[[package]]
name = "tauri-build"
version = "2.0.0-rc.9"
version = "2.0.0-rc.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7938a610d1474435fa38dfba66c95ce9be7f17b500672b6e00072bca5e52fef3"
checksum = "148441d64674b2885c1ba5baf3ae61662bb8753859ffcfb541962cbc6b847f39"
dependencies = [
"anyhow",
"cargo_toml",
@@ -6374,9 +6390,9 @@ dependencies = [
[[package]]
name = "tauri-codegen"
version = "2.0.0-rc.9"
version = "2.0.0-rc.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "467d3e95b57c860bea13b7c812820d9e7425e4b700e5e69b358d906f22022007"
checksum = "72a15c3f9282c82871c69ddb65d02ae552738bbac848c8adcab521bf14d8b9e6"
dependencies = [
"base64 0.22.1",
"brotli",
@@ -6401,9 +6417,9 @@ dependencies = [
[[package]]
name = "tauri-macros"
version = "2.0.0-rc.8"
version = "2.0.0-rc.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4585a906bd96bf57d063c3d60c52577ccc5de592d08f9d112e873ada79af9b9"
checksum = "f12d1aa317bec56f78388cf6012d788876d838595a48f95cbd7835642db356a0"
dependencies = [
"heck 0.5.0",
"proc-macro2",
@@ -6415,9 +6431,9 @@ dependencies = [
[[package]]
name = "tauri-plugin"
version = "2.0.0-rc.9"
version = "2.0.0-rc.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b905ecef194245bb35baba0447703f9fe40e4c03e946c7aba54c21c23e3452c7"
checksum = "d82a2adea16b8a71b7a5ad23f720bb13f8d2830b820cc1c266512314ba99bf67"
dependencies = [
"anyhow",
"glob",
@@ -6483,7 +6499,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-clipboard-manager"
version = "2.0.0-rc.3"
version = "2.0.0-rc.4"
dependencies = [
"arboard",
"image 0.24.9",
@@ -6497,7 +6513,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-deep-link"
version = "2.0.0-rc.4"
version = "2.0.0-rc.6"
dependencies = [
"dunce",
"log",
@@ -6515,10 +6531,10 @@ dependencies = [
[[package]]
name = "tauri-plugin-dialog"
version = "2.0.0-rc.5"
version = "2.0.0-rc.7"
dependencies = [
"log",
"raw-window-handle 0.6.2",
"raw-window-handle",
"rfd",
"serde",
"serde_json",
@@ -6531,13 +6547,14 @@ dependencies = [
[[package]]
name = "tauri-plugin-fs"
version = "2.0.0-rc.3"
version = "2.0.0-rc.5"
dependencies = [
"anyhow",
"dunce",
"glob",
"notify",
"notify-debouncer-full",
"percent-encoding",
"schemars",
"serde",
"serde_json",
@@ -6590,7 +6607,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-http"
version = "2.0.0-rc.3"
version = "2.0.0-rc.5"
dependencies = [
"data-url",
"http",
@@ -6627,7 +6644,7 @@ version = "2.0.0-rc.2"
dependencies = [
"android_logger",
"byte-unit",
"cocoa 0.26.0",
"cocoa",
"fern",
"log",
"objc",
@@ -6656,7 +6673,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-notification"
version = "2.0.0-rc.4"
version = "2.0.0-rc.5"
dependencies = [
"color-backtrace",
"ctor",
@@ -6694,7 +6711,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-persisted-scope"
version = "2.0.0-rc.3"
version = "2.0.0-rc.5"
dependencies = [
"aho-corasick",
"bincode",
@@ -6748,7 +6765,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-single-instance"
version = "2.0.0-rc.2"
version = "2.0.0-rc.4"
dependencies = [
"log",
"semver",
@@ -6841,10 +6858,11 @@ dependencies = [
[[package]]
name = "tauri-plugin-upload"
version = "2.0.0-rc.1"
version = "2.0.0-rc.2"
dependencies = [
"futures-util",
"log",
"mockito",
"read-progress-stream",
"reqwest",
"serde",
@@ -6875,7 +6893,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-window-state"
version = "2.0.0-rc.3"
version = "2.0.0-rc.5"
dependencies = [
"bitflags 2.6.0",
"log",
@@ -6888,15 +6906,15 @@ dependencies = [
[[package]]
name = "tauri-runtime"
version = "2.0.0-rc.9"
version = "2.0.0-rc.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b72cd110a6699ef44963504d4fa4f6c535677bb0177da2d178f4f822a53058ed"
checksum = "389f78c8e8e6eff3897d8d9581087943b5976ea96a0ab5036be691f28c2b0df0"
dependencies = [
"dpi",
"gtk",
"http",
"jni",
"raw-window-handle 0.6.2",
"raw-window-handle",
"serde",
"serde_json",
"tauri-utils",
@@ -6907,17 +6925,19 @@ dependencies = [
[[package]]
name = "tauri-runtime-wry"
version = "2.0.0-rc.9"
version = "2.0.0-rc.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1eb325cca17496ccbb469e7e2fef7f3e31a1005ab0c658dc3331c7781a573401"
checksum = "e17625b7cf63958d53945e199391d11c9f195fb3d1cb8aeb64dc3084d0091b92"
dependencies = [
"cocoa 0.26.0",
"gtk",
"http",
"jni",
"log",
"objc2",
"objc2-app-kit",
"objc2-foundation",
"percent-encoding",
"raw-window-handle 0.6.2",
"raw-window-handle",
"softbuffer",
"tao",
"tauri-runtime",
@@ -6931,9 +6951,9 @@ dependencies = [
[[package]]
name = "tauri-utils"
version = "2.0.0-rc.9"
version = "2.0.0-rc.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6746b87c4755f493b94920622e245aef2d771f001ddeffc203e315872d323e1c"
checksum = "3019641087c9039b57ebfca95fa42a93c07056845b7d8d57c8966061bcee83b4"
dependencies = [
"aes-gcm",
"brotli",
@@ -7147,6 +7167,7 @@ dependencies = [
"bytes",
"libc",
"mio 1.0.2",
"parking_lot",
"pin-project-lite",
"signal-hook-registry",
"socket2",
@@ -7525,9 +7546,9 @@ checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
[[package]]
name = "unicode-ident"
version = "1.0.12"
version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
[[package]]
name = "unicode-normalization"
@@ -7546,9 +7567,9 @@ checksum = "52ea75f83c0137a9b98608359a5f1af8144876eb67bcb1ce837368e906a9f524"
[[package]]
name = "unicode-segmentation"
version = "1.11.0"
version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
[[package]]
name = "unicode_categories"
@@ -7994,18 +8015,6 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "window-shadows"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67ff424735b1ac21293b0492b069394b0a189c8a463fb015a16dea7c2e221c08"
dependencies = [
"cocoa 0.25.0",
"objc",
"raw-window-handle 0.5.2",
"windows-sys 0.48.0",
]
[[package]]
name = "window-vibrancy"
version = "0.5.2"
@@ -8015,7 +8024,7 @@ dependencies = [
"objc2",
"objc2-app-kit",
"objc2-foundation",
"raw-window-handle 0.6.2",
"raw-window-handle",
"windows-sys 0.59.0",
"windows-version",
]
@@ -8468,7 +8477,7 @@ checksum = "f4d715cf5fe88e9647f3d17b207b6d060d4a88e7171d4ccb2d2c657dd1d44728"
dependencies = [
"base64 0.22.1",
"block",
"cocoa 0.26.0",
"cocoa",
"core-graphics 0.24.0",
"crossbeam-channel",
"dpi",
@@ -8486,7 +8495,7 @@ dependencies = [
"objc_id",
"once_cell",
"percent-encoding",
"raw-window-handle 0.6.2",
"raw-window-handle",
"sha2",
"soup3",
"tao-macros",
+4 -4
View File
@@ -11,10 +11,10 @@ resolver = "2"
[workspace.dependencies]
serde = { version = "1", features = ["derive"] }
log = "0.4"
tauri = { version = "2.0.0-rc.10", default-features = false }
tauri-build = "2.0.0-rc.9"
tauri-plugin = "2.0.0-rc.9"
tauri-utils = "2.0.0-rc.9"
tauri = { version = "2.0.0-rc.12", default-features = false }
tauri-build = "2.0.0-rc.11"
tauri-plugin = "2.0.0-rc.11"
tauri-utils = "2.0.0-rc.11"
serde_json = "1"
thiserror = "1"
url = "2"
+7
View File
@@ -1,5 +1,12 @@
# Changelog
## \[2.0.0-rc.4]
### Dependencies
- Upgraded to `barcode-scanner-js@2.0.0-rc.2`
- Upgraded to `clipboard-manager-js@2.0.0-rc.2`
## \[2.0.0-rc.3]
### Dependencies
+4 -4
View File
@@ -1,7 +1,7 @@
{
"name": "svelte-app",
"private": true,
"version": "2.0.0-rc.3",
"version": "2.0.0-rc.4",
"type": "module",
"scripts": {
"dev": "vite --clearScreen false",
@@ -10,10 +10,10 @@
},
"dependencies": {
"@tauri-apps/api": "2.0.0-rc.4",
"@tauri-apps/plugin-barcode-scanner": "2.0.0-rc.1",
"@tauri-apps/plugin-barcode-scanner": "2.0.0-rc.2",
"@tauri-apps/plugin-biometric": "2.0.0-rc.1",
"@tauri-apps/plugin-cli": "2.0.0-rc.1",
"@tauri-apps/plugin-clipboard-manager": "2.0.0-rc.1",
"@tauri-apps/plugin-clipboard-manager": "2.0.0-rc.2",
"@tauri-apps/plugin-dialog": "2.0.0-rc.1",
"@tauri-apps/plugin-fs": "2.0.0-rc.2",
"@tauri-apps/plugin-global-shortcut": "2.0.0-rc.1",
@@ -31,7 +31,7 @@
"@iconify-json/codicon": "^1.1.37",
"@iconify-json/ph": "^1.1.8",
"@sveltejs/vite-plugin-svelte": "^3.0.1",
"@tauri-apps/cli": "2.0.0-rc.12",
"@tauri-apps/cli": "2.0.0-rc.14",
"@unocss/extractor-svelte": "^0.62.0",
"svelte": "^4.2.19",
"unocss": "^0.62.0",
+18
View File
@@ -1,5 +1,23 @@
# Changelog
## \[2.0.0-rc.7]
### Dependencies
- Upgraded to `clipboard-manager@2.0.0-rc.4`
- Upgraded to `fs@2.0.0-rc.5`
- Upgraded to `notification@2.0.0-rc.5`
- Upgraded to `dialog@2.0.0-rc.7`
- Upgraded to `http@2.0.0-rc.5`
## \[2.0.0-rc.6]
### Dependencies
- Upgraded to `dialog@2.0.0-rc.6`
- Upgraded to `fs@2.0.0-rc.4`
- Upgraded to `http@2.0.0-rc.4`
## \[2.0.0-rc.5]
### Dependencies
+7 -9
View File
@@ -1,7 +1,7 @@
[package]
name = "api"
publish = false
version = "2.0.0-rc.5"
version = "2.0.0-rc.7"
description = "An example Tauri Application showcasing the api"
edition = "2021"
rust-version = { workspace = true }
@@ -20,15 +20,15 @@ serde = { workspace = true }
tiny_http = "0.12"
log = { workspace = true }
tauri-plugin-log = { path = "../../../plugins/log", version = "2.0.0-rc.2" }
tauri-plugin-fs = { path = "../../../plugins/fs", version = "2.0.0-rc.3", features = [
tauri-plugin-fs = { path = "../../../plugins/fs", version = "2.0.0-rc.5", features = [
"watch",
] }
tauri-plugin-clipboard-manager = { path = "../../../plugins/clipboard-manager", version = "2.0.0-rc.3" }
tauri-plugin-dialog = { path = "../../../plugins/dialog", version = "2.0.0-rc.5" }
tauri-plugin-clipboard-manager = { path = "../../../plugins/clipboard-manager", version = "2.0.0-rc.4" }
tauri-plugin-dialog = { path = "../../../plugins/dialog", version = "2.0.0-rc.7" }
tauri-plugin-http = { path = "../../../plugins/http", features = [
"multipart",
], version = "2.0.0-rc.3" }
tauri-plugin-notification = { path = "../../../plugins/notification", version = "2.0.0-rc.4", features = [
], version = "2.0.0-rc.5" }
tauri-plugin-notification = { path = "../../../plugins/notification", version = "2.0.0-rc.5", features = [
"windows7-compat",
] }
tauri-plugin-os = { path = "../../../plugins/os", version = "2.0.0-rc.1" }
@@ -53,14 +53,12 @@ features = [
tauri-plugin-cli = { path = "../../../plugins/cli", version = "2.0.0-rc.1" }
tauri-plugin-global-shortcut = { path = "../../../plugins/global-shortcut", version = "2.0.0-rc.2" }
tauri-plugin-updater = { path = "../../../plugins/updater", version = "2.0.0-rc.3" }
tauri-plugin-window-state = { path = "../../../plugins/window-state", version = "2.0.0-rc.3" }
[target."cfg(any(target_os = \"android\", target_os = \"ios\"))".dependencies]
tauri-plugin-barcode-scanner = { path = "../../../plugins/barcode-scanner/", version = "2.0.0-rc.4" }
tauri-plugin-nfc = { path = "../../../plugins/nfc", version = "2.0.0-rc.3" }
tauri-plugin-biometric = { path = "../../../plugins/biometric/", version = "2.0.0-rc.3" }
[target."cfg(target_os = \"windows\")".dependencies]
window-shadows = "0.2"
[features]
prod = ["tauri/custom-protocol"]
File diff suppressed because it is too large Load Diff
@@ -150,42 +150,42 @@
]
},
{
"description": "fs:allow-app-meta -> This allows non-recursive read access to metadata of the `$APP` folder, including file listing and statistics.",
"description": "fs:allow-app-meta -> This allows non-recursive read access to metadata of the application folders, including file listing and statistics.",
"type": "string",
"enum": [
"fs:allow-app-meta"
]
},
{
"description": "fs:allow-app-meta-recursive -> This allows full recursive read access to metadata of the `$APP` folder, including file listing and statistics.",
"description": "fs:allow-app-meta-recursive -> This allows full recursive read access to metadata of the application folders, including file listing and statistics.",
"type": "string",
"enum": [
"fs:allow-app-meta-recursive"
]
},
{
"description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.",
"description": "fs:allow-app-read -> This allows non-recursive read access to the application folders.",
"type": "string",
"enum": [
"fs:allow-app-read"
]
},
{
"description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.",
"description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete application folders, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-app-read-recursive"
]
},
{
"description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.",
"description": "fs:allow-app-write -> This allows non-recursive write access to the application folders.",
"type": "string",
"enum": [
"fs:allow-app-write"
]
},
{
"description": "fs:allow-app-write-recursive -> This allows full recursive write access to the complete `$APP` folder, files and subdirectories.",
"description": "fs:allow-app-write-recursive -> This allows full recursive write access to the complete application folders, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-app-write-recursive"
@@ -1606,28 +1606,28 @@
]
},
{
"description": "fs:scope-app -> This scope permits access to all files and list content of top level directories in the `$APP`folder.",
"description": "fs:scope-app -> This scope permits access to all files and list content of top level directories in the application folders.",
"type": "string",
"enum": [
"fs:scope-app"
]
},
{
"description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.",
"description": "fs:scope-app-index -> This scope permits to list all files and folders in the application directories.",
"type": "string",
"enum": [
"fs:scope-app-index"
]
},
{
"description": "fs:scope-app-recursive -> This scope permits recursive access to the complete `$APP` folder, including sub directories and files.",
"description": "fs:scope-app-recursive -> This scope permits recursive access to the complete application folders, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-app-recursive"
]
},
{
"description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.",
"description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE` folder.",
"type": "string",
"enum": [
"fs:scope-appcache"
@@ -1648,7 +1648,7 @@
]
},
{
"description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.",
"description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG` folder.",
"type": "string",
"enum": [
"fs:scope-appconfig"
@@ -1669,7 +1669,7 @@
]
},
{
"description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.",
"description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA` folder.",
"type": "string",
"enum": [
"fs:scope-appdata"
@@ -1690,7 +1690,7 @@
]
},
{
"description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.",
"description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA` folder.",
"type": "string",
"enum": [
"fs:scope-applocaldata"
@@ -1711,7 +1711,7 @@
]
},
{
"description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.",
"description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG` folder.",
"type": "string",
"enum": [
"fs:scope-applog"
@@ -1732,7 +1732,7 @@
]
},
{
"description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.",
"description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO` folder.",
"type": "string",
"enum": [
"fs:scope-audio"
@@ -1753,7 +1753,7 @@
]
},
{
"description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.",
"description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE` folder.",
"type": "string",
"enum": [
"fs:scope-cache"
@@ -1774,7 +1774,7 @@
]
},
{
"description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.",
"description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG` folder.",
"type": "string",
"enum": [
"fs:scope-config"
@@ -1795,7 +1795,7 @@
]
},
{
"description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.",
"description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA` folder.",
"type": "string",
"enum": [
"fs:scope-data"
@@ -1816,7 +1816,7 @@
]
},
{
"description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.",
"description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP` folder.",
"type": "string",
"enum": [
"fs:scope-desktop"
@@ -1837,7 +1837,7 @@
]
},
{
"description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.",
"description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT` folder.",
"type": "string",
"enum": [
"fs:scope-document"
@@ -1858,7 +1858,7 @@
]
},
{
"description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.",
"description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD` folder.",
"type": "string",
"enum": [
"fs:scope-download"
@@ -1879,7 +1879,7 @@
]
},
{
"description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.",
"description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE` folder.",
"type": "string",
"enum": [
"fs:scope-exe"
@@ -1900,7 +1900,7 @@
]
},
{
"description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.",
"description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT` folder.",
"type": "string",
"enum": [
"fs:scope-font"
@@ -1921,7 +1921,7 @@
]
},
{
"description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.",
"description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME` folder.",
"type": "string",
"enum": [
"fs:scope-home"
@@ -1942,7 +1942,7 @@
]
},
{
"description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.",
"description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA` folder.",
"type": "string",
"enum": [
"fs:scope-localdata"
@@ -1963,7 +1963,7 @@
]
},
{
"description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.",
"description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG` folder.",
"type": "string",
"enum": [
"fs:scope-log"
@@ -1984,7 +1984,7 @@
]
},
{
"description": "fs:scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.",
"description": "fs:scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE` folder.",
"type": "string",
"enum": [
"fs:scope-picture"
@@ -2005,7 +2005,7 @@
]
},
{
"description": "fs:scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.",
"description": "fs:scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC` folder.",
"type": "string",
"enum": [
"fs:scope-public"
@@ -2026,7 +2026,7 @@
]
},
{
"description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.",
"description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE` folder.",
"type": "string",
"enum": [
"fs:scope-resource"
@@ -2047,7 +2047,7 @@
]
},
{
"description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.",
"description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME` folder.",
"type": "string",
"enum": [
"fs:scope-runtime"
@@ -2068,7 +2068,7 @@
]
},
{
"description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.",
"description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP` folder.",
"type": "string",
"enum": [
"fs:scope-temp"
@@ -2089,7 +2089,7 @@
]
},
{
"description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.",
"description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE` folder.",
"type": "string",
"enum": [
"fs:scope-template"
@@ -2110,7 +2110,7 @@
]
},
{
"description": "fs:scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.",
"description": "fs:scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO` folder.",
"type": "string",
"enum": [
"fs:scope-video"
@@ -2427,7 +2427,7 @@
]
},
"cmd": {
"description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
"description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
"type": "string"
},
"name": {
@@ -2462,7 +2462,7 @@
]
},
"cmd": {
"description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
"description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
"type": "string"
},
"name": {
@@ -4746,42 +4746,42 @@
]
},
{
"description": "fs:allow-app-meta -> This allows non-recursive read access to metadata of the `$APP` folder, including file listing and statistics.",
"description": "fs:allow-app-meta -> This allows non-recursive read access to metadata of the application folders, including file listing and statistics.",
"type": "string",
"enum": [
"fs:allow-app-meta"
]
},
{
"description": "fs:allow-app-meta-recursive -> This allows full recursive read access to metadata of the `$APP` folder, including file listing and statistics.",
"description": "fs:allow-app-meta-recursive -> This allows full recursive read access to metadata of the application folders, including file listing and statistics.",
"type": "string",
"enum": [
"fs:allow-app-meta-recursive"
]
},
{
"description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.",
"description": "fs:allow-app-read -> This allows non-recursive read access to the application folders.",
"type": "string",
"enum": [
"fs:allow-app-read"
]
},
{
"description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.",
"description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete application folders, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-app-read-recursive"
]
},
{
"description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.",
"description": "fs:allow-app-write -> This allows non-recursive write access to the application folders.",
"type": "string",
"enum": [
"fs:allow-app-write"
]
},
{
"description": "fs:allow-app-write-recursive -> This allows full recursive write access to the complete `$APP` folder, files and subdirectories.",
"description": "fs:allow-app-write-recursive -> This allows full recursive write access to the complete application folders, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-app-write-recursive"
@@ -6209,28 +6209,28 @@
]
},
{
"description": "fs:scope-app -> This scope permits access to all files and list content of top level directories in the `$APP`folder.",
"description": "fs:scope-app -> This scope permits access to all files and list content of top level directories in the application folders.",
"type": "string",
"enum": [
"fs:scope-app"
]
},
{
"description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.",
"description": "fs:scope-app-index -> This scope permits to list all files and folders in the application directories.",
"type": "string",
"enum": [
"fs:scope-app-index"
]
},
{
"description": "fs:scope-app-recursive -> This scope permits recursive access to the complete `$APP` folder, including sub directories and files.",
"description": "fs:scope-app-recursive -> This scope permits recursive access to the complete application folders, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-app-recursive"
]
},
{
"description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.",
"description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE` folder.",
"type": "string",
"enum": [
"fs:scope-appcache"
@@ -6251,7 +6251,7 @@
]
},
{
"description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.",
"description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG` folder.",
"type": "string",
"enum": [
"fs:scope-appconfig"
@@ -6272,7 +6272,7 @@
]
},
{
"description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.",
"description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA` folder.",
"type": "string",
"enum": [
"fs:scope-appdata"
@@ -6293,7 +6293,7 @@
]
},
{
"description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.",
"description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA` folder.",
"type": "string",
"enum": [
"fs:scope-applocaldata"
@@ -6314,7 +6314,7 @@
]
},
{
"description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.",
"description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG` folder.",
"type": "string",
"enum": [
"fs:scope-applog"
@@ -6335,7 +6335,7 @@
]
},
{
"description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.",
"description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO` folder.",
"type": "string",
"enum": [
"fs:scope-audio"
@@ -6356,7 +6356,7 @@
]
},
{
"description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.",
"description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE` folder.",
"type": "string",
"enum": [
"fs:scope-cache"
@@ -6377,7 +6377,7 @@
]
},
{
"description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.",
"description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG` folder.",
"type": "string",
"enum": [
"fs:scope-config"
@@ -6398,7 +6398,7 @@
]
},
{
"description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.",
"description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA` folder.",
"type": "string",
"enum": [
"fs:scope-data"
@@ -6419,7 +6419,7 @@
]
},
{
"description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.",
"description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP` folder.",
"type": "string",
"enum": [
"fs:scope-desktop"
@@ -6440,7 +6440,7 @@
]
},
{
"description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.",
"description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT` folder.",
"type": "string",
"enum": [
"fs:scope-document"
@@ -6461,7 +6461,7 @@
]
},
{
"description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.",
"description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD` folder.",
"type": "string",
"enum": [
"fs:scope-download"
@@ -6482,7 +6482,7 @@
]
},
{
"description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.",
"description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE` folder.",
"type": "string",
"enum": [
"fs:scope-exe"
@@ -6503,7 +6503,7 @@
]
},
{
"description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.",
"description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT` folder.",
"type": "string",
"enum": [
"fs:scope-font"
@@ -6524,7 +6524,7 @@
]
},
{
"description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.",
"description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME` folder.",
"type": "string",
"enum": [
"fs:scope-home"
@@ -6545,7 +6545,7 @@
]
},
{
"description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.",
"description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA` folder.",
"type": "string",
"enum": [
"fs:scope-localdata"
@@ -6566,7 +6566,7 @@
]
},
{
"description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.",
"description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG` folder.",
"type": "string",
"enum": [
"fs:scope-log"
@@ -6587,7 +6587,7 @@
]
},
{
"description": "fs:scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.",
"description": "fs:scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE` folder.",
"type": "string",
"enum": [
"fs:scope-picture"
@@ -6608,7 +6608,7 @@
]
},
{
"description": "fs:scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.",
"description": "fs:scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC` folder.",
"type": "string",
"enum": [
"fs:scope-public"
@@ -6629,7 +6629,7 @@
]
},
{
"description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.",
"description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE` folder.",
"type": "string",
"enum": [
"fs:scope-resource"
@@ -6650,7 +6650,7 @@
]
},
{
"description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.",
"description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME` folder.",
"type": "string",
"enum": [
"fs:scope-runtime"
@@ -6671,7 +6671,7 @@
]
},
{
"description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.",
"description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP` folder.",
"type": "string",
"enum": [
"fs:scope-temp"
@@ -6692,7 +6692,7 @@
]
},
{
"description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.",
"description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE` folder.",
"type": "string",
"enum": [
"fs:scope-template"
@@ -6713,7 +6713,7 @@
]
},
{
"description": "fs:scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.",
"description": "fs:scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO` folder.",
"type": "string",
"enum": [
"fs:scope-video"
+3 -2
View File
@@ -45,6 +45,8 @@ pub fn run() {
app.handle().plugin(tauri_plugin_cli::init())?;
app.handle()
.plugin(tauri_plugin_global_shortcut::Builder::new().build())?;
app.handle()
.plugin(tauri_plugin_window_state::Builder::new().build())?;
app.handle()
.plugin(tauri_plugin_updater::Builder::new().build())?;
}
@@ -63,8 +65,7 @@ pub fn run() {
.user_agent(&format!("Tauri API - {}", std::env::consts::OS))
.title("Tauri API Validation")
.inner_size(1000., 800.)
.min_inner_size(600., 400.)
.content_protected(true);
.min_inner_size(600., 400.);
}
#[cfg(target_os = "windows")]
+1 -1
View File
@@ -1,5 +1,5 @@
{
"$schema": "../node_modules/@tauri-apps/cli/schema.json",
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
"productName": "Tauri API",
"version": "2.0.0",
"identifier": "com.tauri.api",
+28 -29
View File
@@ -1,59 +1,59 @@
<script>
import * as clipboard from "@tauri-apps/plugin-clipboard-manager";
import { open } from "@tauri-apps/plugin-dialog";
import { arrayBufferToBase64 } from "../lib/utils";
import { readFile } from "@tauri-apps/plugin-fs";
import * as clipboard from '@tauri-apps/plugin-clipboard-manager'
import { open } from '@tauri-apps/plugin-dialog'
import { arrayBufferToBase64 } from '../lib/utils'
import { readFile } from '@tauri-apps/plugin-fs'
export let onMessage;
export let insecureRenderHtml;
let text = "clipboard message";
export let onMessage
export let insecureRenderHtml
let text = 'clipboard message'
function writeText() {
clipboard
.writeText(text)
.then(() => {
onMessage("Wrote to the clipboard");
onMessage('Wrote to the clipboard')
})
.catch(onMessage);
.catch(onMessage)
}
async function writeImage() {
try {
const res = await open({
title: "Image to write to clipboard",
const path = await open({
title: 'Image to write to clipboard',
filters: [
{
name: "Clipboard IMG",
extensions: ["png", "jpg", "jpeg"],
},
],
});
const bytes = await readFile(res.path);
await clipboard.writeImage(bytes);
onMessage("wrote image");
name: 'Clipboard IMG',
extensions: ['png', 'jpg', 'jpeg']
}
]
})
const bytes = await readFile(path)
await clipboard.writeImage(bytes)
onMessage('wrote image')
} catch (e) {
onMessage(e);
onMessage(e)
}
}
async function read() {
try {
const image = await clipboard.readImage();
const image = await clipboard.readImage()
arrayBufferToBase64(await image.rgba(), function (base64) {
const src = "data:image/png;base64," + base64;
insecureRenderHtml('<img src="' + src + '"></img>');
});
return;
const src = 'data:image/png;base64,' + base64
insecureRenderHtml('<img src="' + src + '"></img>')
})
return
} catch (_) {}
clipboard
.readText()
.then((contents) => {
onMessage(`Clipboard contents: ${contents}`);
onMessage(`Clipboard contents: ${contents}`)
})
.catch((e) => {
onMessage(e);
});
onMessage(e)
})
}
</script>
@@ -65,6 +65,5 @@
/>
<button class="btn" type="button" on:click={writeText}>Write</button>
<button class="btn" type="button" on:click={writeImage}>Pick Image</button>
<button class="btn" type="button" on:click={read}>Read</button>
</div>
+1 -1
View File
@@ -20,7 +20,7 @@
"eslint-config-prettier": "9.1.0",
"eslint-plugin-security": "3.0.1",
"prettier": "3.3.3",
"rollup": "4.21.2",
"rollup": "4.21.3",
"tslib": "2.7.0",
"typescript": "5.6.2",
"typescript-eslint": "8.5.0"
@@ -295,53 +295,39 @@
"type": "string",
"oneOf": [
{
"description": "allow-disable -> Enables the disable command without any pre-configured scope.",
"description": "Enables the disable command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-disable"
]
"const": "allow-disable"
},
{
"description": "deny-disable -> Denies the disable command without any pre-configured scope.",
"description": "Denies the disable command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-disable"
]
"const": "deny-disable"
},
{
"description": "allow-enable -> Enables the enable command without any pre-configured scope.",
"description": "Enables the enable command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-enable"
]
"const": "allow-enable"
},
{
"description": "deny-enable -> Denies the enable command without any pre-configured scope.",
"description": "Denies the enable command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-enable"
]
"const": "deny-enable"
},
{
"description": "allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.",
"description": "Enables the is_enabled command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-is-enabled"
]
"const": "allow-is-enabled"
},
{
"description": "deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.",
"description": "Denies the is_enabled command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-is-enabled"
]
"const": "deny-is-enabled"
},
{
"description": "default -> This permission set configures if your\napplication can enable or disable auto\nstarting the application on boot.\n\n#### Granted Permissions\n\nIt allows all to check, enable and\ndisable the automatic start on boot.\n\n",
"description": "This permission set configures if your\napplication can enable or disable auto\nstarting the application on boot.\n\n#### Granted Permissions\n\nIt allows all to check, enable and\ndisable the automatic start on boot.\n\n",
"type": "string",
"enum": [
"default"
]
"const": "default"
}
]
}
+4
View File
@@ -1,5 +1,9 @@
# Changelog
## \[2.0.0-rc.2]
- [`79d6e19c`](https://github.com/tauri-apps/plugins-workspace/commit/79d6e19c4b38bae0cab29eb88df379e2237d9aac) ([#1777](https://github.com/tauri-apps/plugins-workspace/pull/1777)) Fixed an issue which caused checkPermission and requestPermission to be mixed up.
## \[2.0.0-rc.4]
- [`713c54ef`](https://github.com/tauri-apps/plugins-workspace/commit/713c54ef8365d36afd84585dcabed2fbb751223d) ([#1749](https://github.com/tauri-apps/plugins-workspace/pull/1749) by [@olivierlemasle](https://github.com/tauri-apps/plugins-workspace/../../olivierlemasle)) Remove unused Android dependencies.
+2 -2
View File
@@ -4,8 +4,8 @@
import {
invoke,
requestPermissions as checkPermissions_,
checkPermissions as requestPermissions_
requestPermissions as requestPermissions_,
checkPermissions as checkPermissions_
} from '@tauri-apps/api/core'
export type { PermissionState } from '@tauri-apps/api/core'
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@tauri-apps/plugin-barcode-scanner",
"version": "2.0.0-rc.1",
"version": "2.0.0-rc.2",
"description": "Scan QR codes, EAN-13 and other kinds of barcodes on Android and iOS",
"license": "MIT or APACHE-2.0",
"authors": [
@@ -295,95 +295,69 @@
"type": "string",
"oneOf": [
{
"description": "allow-cancel -> Enables the cancel command without any pre-configured scope.",
"description": "Enables the cancel command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-cancel"
]
"const": "allow-cancel"
},
{
"description": "deny-cancel -> Denies the cancel command without any pre-configured scope.",
"description": "Denies the cancel command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-cancel"
]
"const": "deny-cancel"
},
{
"description": "allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.",
"description": "Enables the check_permissions command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-check-permissions"
]
"const": "allow-check-permissions"
},
{
"description": "deny-check-permissions -> Denies the check_permissions command without any pre-configured scope.",
"description": "Denies the check_permissions command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-check-permissions"
]
"const": "deny-check-permissions"
},
{
"description": "allow-open-app-settings -> Enables the open_app_settings command without any pre-configured scope.",
"description": "Enables the open_app_settings command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-open-app-settings"
]
"const": "allow-open-app-settings"
},
{
"description": "deny-open-app-settings -> Denies the open_app_settings command without any pre-configured scope.",
"description": "Denies the open_app_settings command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-open-app-settings"
]
"const": "deny-open-app-settings"
},
{
"description": "allow-request-permissions -> Enables the request_permissions command without any pre-configured scope.",
"description": "Enables the request_permissions command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-request-permissions"
]
"const": "allow-request-permissions"
},
{
"description": "deny-request-permissions -> Denies the request_permissions command without any pre-configured scope.",
"description": "Denies the request_permissions command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-request-permissions"
]
"const": "deny-request-permissions"
},
{
"description": "allow-scan -> Enables the scan command without any pre-configured scope.",
"description": "Enables the scan command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-scan"
]
"const": "allow-scan"
},
{
"description": "deny-scan -> Denies the scan command without any pre-configured scope.",
"description": "Denies the scan command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-scan"
]
"const": "deny-scan"
},
{
"description": "allow-vibrate -> Enables the vibrate command without any pre-configured scope.",
"description": "Enables the vibrate command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-vibrate"
]
"const": "allow-vibrate"
},
{
"description": "deny-vibrate -> Denies the vibrate command without any pre-configured scope.",
"description": "Denies the vibrate command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-vibrate"
]
"const": "deny-vibrate"
},
{
"description": "default -> This permission set configures which\nbarcode scanning features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all barcode related features.\n\n",
"description": "This permission set configures which\nbarcode scanning features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all barcode related features.\n\n",
"type": "string",
"enum": [
"default"
]
"const": "default"
}
]
}
@@ -295,39 +295,29 @@
"type": "string",
"oneOf": [
{
"description": "allow-authenticate -> Enables the authenticate command without any pre-configured scope.",
"description": "Enables the authenticate command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-authenticate"
]
"const": "allow-authenticate"
},
{
"description": "deny-authenticate -> Denies the authenticate command without any pre-configured scope.",
"description": "Denies the authenticate command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-authenticate"
]
"const": "deny-authenticate"
},
{
"description": "allow-status -> Enables the status command without any pre-configured scope.",
"description": "Enables the status command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-status"
]
"const": "allow-status"
},
{
"description": "deny-status -> Denies the status command without any pre-configured scope.",
"description": "Denies the status command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-status"
]
"const": "deny-status"
},
{
"description": "default -> This permission set configures which\nbiometric features are by default exposed.\n\n#### Granted Permissions\n\nIt allows acccess to all biometric commands.\n\n",
"description": "This permission set configures which\nbiometric features are by default exposed.\n\n#### Granted Permissions\n\nIt allows acccess to all biometric commands.\n\n",
"type": "string",
"enum": [
"default"
]
"const": "default"
}
]
}
+6 -12
View File
@@ -295,25 +295,19 @@
"type": "string",
"oneOf": [
{
"description": "allow-cli-matches -> Enables the cli_matches command without any pre-configured scope.",
"description": "Enables the cli_matches command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-cli-matches"
]
"const": "allow-cli-matches"
},
{
"description": "deny-cli-matches -> Denies the cli_matches command without any pre-configured scope.",
"description": "Denies the cli_matches command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-cli-matches"
]
"const": "deny-cli-matches"
},
{
"description": "default -> Allows reading the CLI matches",
"description": "Allows reading the CLI matches",
"type": "string",
"enum": [
"default"
]
"const": "default"
}
]
}
+4
View File
@@ -1,5 +1,9 @@
# Changelog
## \[2.0.0-rc.2]
- [`341a5320`](https://github.com/tauri-apps/plugins-workspace/commit/341a5320c33d3c7b041abf7eb0ab7ad8009e6c3f) ([#1771](https://github.com/tauri-apps/plugins-workspace/pull/1771)) Fix warnings and clear implementation on Android below SDK 28.
## \[2.0.0-rc.1]
- [`e2e97db5`](https://github.com/tauri-apps/plugins-workspace/commit/e2e97db51983267f5be84d4f6f0278d58834d1f5) ([#1701](https://github.com/tauri-apps/plugins-workspace/pull/1701) by [@lucasfernog](https://github.com/tauri-apps/plugins-workspace/../../lucasfernog)) Update to tauri 2.0.0-rc.8
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "tauri-plugin-clipboard-manager"
version = "2.0.0-rc.3"
version = "2.0.0-rc.4"
description = "Read and write to the system clipboard."
edition = { workspace = true }
authors = { workspace = true }
@@ -4,12 +4,12 @@
package app.tauri.clipboard
import android.R.attr.value
import android.app.Activity
import android.content.ClipData
import android.content.ClipDescription
import android.content.ClipboardManager
import android.content.Context
import android.os.Build
import app.tauri.annotation.Command
import app.tauri.annotation.InvokeArg
import app.tauri.annotation.TauriPlugin
@@ -59,6 +59,9 @@ internal class ReadClipDataSerializer @JvmOverloads constructor(t: Class<ReadCli
jgen.writeEndObject()
}
else -> {
throw Exception("unimplemented ReadClipData")
}
}
jgen.writeEndObject()
@@ -93,7 +96,7 @@ class ClipboardPlugin(private val activity: Activity) : Plugin(activity) {
is WriteOptions.PlainText -> {
ClipData.newPlainText(args.label, args.text)
} else -> {
invoke.reject("Invalid write options provided")
invoke.reject("unimplemented WriteOptions")
return
}
@@ -128,7 +131,11 @@ class ClipboardPlugin(private val activity: Activity) : Plugin(activity) {
@Command
fun clear(invoke: Invoke) {
if (manager.hasPrimaryClip()) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
manager.clearPrimaryClip()
} else {
manager.setPrimaryClip(ClipData.newPlainText("", ""))
}
}
invoke.resolve()
}
@@ -114,6 +114,11 @@ async function writeHtml(html: string, altHtml?: string): Promise<void> {
/**
* Clears the clipboard.
*
* #### Platform-specific
*
* - **Android:** Only supported on SDK 28+. For older releases we write an empty string to the clipboard instead.
*
* @example
* ```typescript
* import { clear } from '@tauri-apps/plugin-clipboard-manager';
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@tauri-apps/plugin-clipboard-manager",
"version": "2.0.0-rc.1",
"version": "2.0.0-rc.2",
"license": "MIT or APACHE-2.0",
"authors": [
"Tauri Programme within The Commons Conservancy"
@@ -295,95 +295,69 @@
"type": "string",
"oneOf": [
{
"description": "allow-clear -> Enables the clear command without any pre-configured scope.",
"description": "Enables the clear command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-clear"
]
"const": "allow-clear"
},
{
"description": "deny-clear -> Denies the clear command without any pre-configured scope.",
"description": "Denies the clear command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-clear"
]
"const": "deny-clear"
},
{
"description": "allow-read-image -> Enables the read_image command without any pre-configured scope.",
"description": "Enables the read_image command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-read-image"
]
"const": "allow-read-image"
},
{
"description": "deny-read-image -> Denies the read_image command without any pre-configured scope.",
"description": "Denies the read_image command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-read-image"
]
"const": "deny-read-image"
},
{
"description": "allow-read-text -> Enables the read_text command without any pre-configured scope.",
"description": "Enables the read_text command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-read-text"
]
"const": "allow-read-text"
},
{
"description": "deny-read-text -> Denies the read_text command without any pre-configured scope.",
"description": "Denies the read_text command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-read-text"
]
"const": "deny-read-text"
},
{
"description": "allow-write-html -> Enables the write_html command without any pre-configured scope.",
"description": "Enables the write_html command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-write-html"
]
"const": "allow-write-html"
},
{
"description": "deny-write-html -> Denies the write_html command without any pre-configured scope.",
"description": "Denies the write_html command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-write-html"
]
"const": "deny-write-html"
},
{
"description": "allow-write-image -> Enables the write_image command without any pre-configured scope.",
"description": "Enables the write_image command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-write-image"
]
"const": "allow-write-image"
},
{
"description": "deny-write-image -> Denies the write_image command without any pre-configured scope.",
"description": "Denies the write_image command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-write-image"
]
"const": "deny-write-image"
},
{
"description": "allow-write-text -> Enables the write_text command without any pre-configured scope.",
"description": "Enables the write_text command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-write-text"
]
"const": "allow-write-text"
},
{
"description": "deny-write-text -> Denies the write_text command without any pre-configured scope.",
"description": "Denies the write_text command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-write-text"
]
"const": "deny-write-text"
},
{
"description": "default -> No features are enabled by default, as we believe\nthe clipboard can be inherently dangerous and it is \napplication specific if read and/or write access is needed.\n\nClipboard interaction needs to be explicitly enabled.\n",
"description": "No features are enabled by default, as we believe\nthe clipboard can be inherently dangerous and it is \napplication specific if read and/or write access is needed.\n\nClipboard interaction needs to be explicitly enabled.\n",
"type": "string",
"enum": [
"default"
]
"const": "default"
}
]
}
+11 -1
View File
@@ -1,5 +1,15 @@
# Changelog
## \[2.0.0-rc.6]
- [`6f3f6679`](https://github.com/tauri-apps/plugins-workspace/commit/6f3f66794a87ef9d1c16667c425d5ad7091a9c2f) ([#1780](https://github.com/tauri-apps/plugins-workspace/pull/1780)) Added `DeepLink::on_open_url` function to match the JavaScript API implementation,
which wraps the `deep-link://new-url` event and also send the current deep link if there's any.
## \[2.0.0-rc.5]
- [`984110a9`](https://github.com/tauri-apps/plugins-workspace/commit/984110a978774712bad4d746ed06134d54debcd0) ([#1770](https://github.com/tauri-apps/plugins-workspace/pull/1770) by [@lucasfernog](https://github.com/tauri-apps/plugins-workspace/../../lucasfernog)) Emit the `deep-link://new-url` event on Linux and Windows when the app is executed with a deep link CLI argument,
matching the iOS and macOS behavior.
## \[2.0.0-rc.2]
- [`64a6240f`](https://github.com/tauri-apps/plugins-workspace/commit/64a6240f79fcd52267c8d721b727ae695055d7ff) ([#1759](https://github.com/tauri-apps/plugins-workspace/pull/1759) by [@lucasfernog](https://github.com/tauri-apps/plugins-workspace/../../lucasfernog)) Implement `get_current` on Linux and Windows.
@@ -108,6 +118,6 @@
- [`eccd6f9`](https://github.com/tauri-apps/plugins-workspace/commit/eccd6f977af7629255b6f5a5205666c9079a86ed)([#504](https://github.com/tauri-apps/plugins-workspace/pull/504)) Initial release.
commit/eccd6f977af7629255b6f5a5205666c9079a86ed)([#504](https://github.com/tauri-apps/plugins-workspace/pull/504)) Initial release.
ithub.com/tauri-apps/plugins-workspace/pull/504)) Initial release.
](https://github.com/tauri-apps/plugins-workspace/commit/eccd6f977af7629255b6f5a5205666c9079a86ed)([#504](https://github.com/tauri-apps/plugins-workspace/pull/504)) Initial release.
]\(https://github.com/tauri-apps/plugins-workspace/commit/eccd6f977af7629255b6f5a5205666c9079a86ed)([#504](https://github.com/tauri-apps/plugins-workspace/pull/504)) Initial release.
commit/eccd6f977af7629255b6f5a5205666c9079a86ed)([#504](https://github.com/tauri-apps/plugins-workspace/pull/504)) Initial release.
ithub.com/tauri-apps/plugins-workspace/pull/504)) Initial release.
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "tauri-plugin-deep-link"
version = "2.0.0-rc.4"
version = "2.0.0-rc.6"
description = "Set your Tauri application as the default handler for an URL"
authors = { workspace = true }
license = { workspace = true }
+1 -1
View File
@@ -145,7 +145,7 @@ await onOpenUrl((urls) => {
})
```
Note that the Plugin will only emit events on macOS, iOS and Android. On Windows and Linux the OS will spawn a new instance of your app with the URL as a CLI argument. If you want your app to behave on Windows & Linux similar to the other platforms you can use the [single-instance](../single-instance/) plugin.
Note that the Plugin will only emit events on macOS, iOS and Android. On Windows and Linux the OS will spawn a new instance of your app with the URL as a CLI argument. If you want your app to behave on Windows & Linux similar to the other platforms you can use the [single-instance](../single-instance/) plugin with the `deep-link` feature enabled.
## Contributing
+1 -1
View File
@@ -14,7 +14,7 @@
"@tauri-apps/plugin-deep-link": "2.0.0-rc.2"
},
"devDependencies": {
"@tauri-apps/cli": "2.0.0-rc.12",
"@tauri-apps/cli": "2.0.0-rc.14",
"typescript": "^5.2.2",
"vite": "^5.0.13"
}
@@ -22,7 +22,9 @@ serde_json = { workspace = true }
tauri = { workspace = true, features = ["wry", "compression"] }
tauri-plugin-deep-link = { path = "../../../" }
tauri-plugin-log = { path = "../../../../log" }
tauri-plugin-single-instance = { path = "../../../../single-instance" }
tauri-plugin-single-instance = { path = "../../../../single-instance", features = [
"deep-link",
] }
log = "0.4"
[features]
@@ -41,15 +41,6 @@
<data android:host="tauri.app" />
</intent-filter>
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:host="91f4-177-23-156-161.ngrok-free.app" />
<data android:pathPrefix="/open" />
</intent-filter>
<!-- DEEP LINK PLUGIN. AUTO-GENERATED. DO NOT REMOVE. -->
</activity>
@@ -17,7 +17,7 @@
<key>CFBundleShortVersionString</key>
<string>0.0.0</string>
<key>CFBundleVersion</key>
<string>0.0.0</string>
<string>0.1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
@@ -6,7 +6,6 @@
<array>
<string>applinks:fabianlars.de</string>
<string>applinks:tauri.app</string>
<string>applinks:91f4-177-23-156-161.ngrok-free.app</string>
</array>
</dict>
</plist>
@@ -2,20 +2,27 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
use tauri::Listener;
use tauri_plugin_deep_link::DeepLinkExt;
// Learn more about Tauri commands at https://tauri.app/v1/guides/features/command
#[tauri::command]
fn greet(name: &str) -> String {
format!("Hello, {}! You've been greeted from Rust!", name)
format!("Hello, {name}! You've been greeted from Rust!")
}
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.plugin(tauri_plugin_single_instance::init(|_app, argv, _cwd| {
#[allow(unused_mut)]
let mut builder = tauri::Builder::default();
#[cfg(desktop)]
{
builder = builder.plugin(tauri_plugin_single_instance::init(|_app, argv, _cwd| {
println!("single instance triggered: {argv:?}");
}))
}));
}
builder
.plugin(tauri_plugin_deep_link::init())
.plugin(
tauri_plugin_log::Builder::default()
@@ -26,16 +33,14 @@ pub fn run() {
// ensure deep links are registered on the system
// this is useful because AppImages requires additional setup to be available in the system
// and calling register() makes the deep links immediately available - without any user input
#[cfg(target_os = "linux")]
{
use tauri_plugin_deep_link::DeepLinkExt;
// additionally, we manually register on Windows on debug builds for development
#[cfg(any(target_os = "linux", all(debug_assertions, windows)))]
app.deep_link().register_all()?;
app.deep_link().register_all()?;
}
app.listen("deep-link://new-url", |url| {
dbg!(url);
app.deep_link().on_open_url(|event| {
dbg!(event.urls());
});
Ok(())
})
.invoke_handler(tauri::generate_handler![greet])
@@ -295,67 +295,49 @@
"type": "string",
"oneOf": [
{
"description": "allow-get-current -> Enables the get_current command without any pre-configured scope.",
"description": "Enables the get_current command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-get-current"
]
"const": "allow-get-current"
},
{
"description": "deny-get-current -> Denies the get_current command without any pre-configured scope.",
"description": "Denies the get_current command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-get-current"
]
"const": "deny-get-current"
},
{
"description": "allow-is-registered -> Enables the is_registered command without any pre-configured scope.",
"description": "Enables the is_registered command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-is-registered"
]
"const": "allow-is-registered"
},
{
"description": "deny-is-registered -> Denies the is_registered command without any pre-configured scope.",
"description": "Denies the is_registered command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-is-registered"
]
"const": "deny-is-registered"
},
{
"description": "allow-register -> Enables the register command without any pre-configured scope.",
"description": "Enables the register command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-register"
]
"const": "allow-register"
},
{
"description": "deny-register -> Denies the register command without any pre-configured scope.",
"description": "Denies the register command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-register"
]
"const": "deny-register"
},
{
"description": "allow-unregister -> Enables the unregister command without any pre-configured scope.",
"description": "Enables the unregister command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-unregister"
]
"const": "allow-unregister"
},
{
"description": "deny-unregister -> Denies the unregister command without any pre-configured scope.",
"description": "Denies the unregister command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-unregister"
]
"const": "deny-unregister"
},
{
"description": "default -> Allows reading the opened deep link via the get_current command",
"description": "Allows reading the opened deep link via the get_current command",
"type": "string",
"enum": [
"default"
]
"const": "default"
}
]
}
+87 -45
View File
@@ -2,9 +2,11 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
use std::sync::Arc;
use tauri::{
plugin::{Builder, PluginApi, TauriPlugin},
AppHandle, Manager, Runtime,
AppHandle, EventId, Listener, Manager, Runtime,
};
mod commands;
@@ -57,7 +59,10 @@ fn init_deep_link<R: Runtime>(
},
)?;
return Ok(DeepLink(handle));
return Ok(DeepLink {
app: app.clone(),
plugin_handle: handle,
});
}
#[cfg(target_os = "ios")]
@@ -70,26 +75,22 @@ fn init_deep_link<R: Runtime>(
#[cfg(desktop)]
{
let args = std::env::args();
let current = if let Some(config) = api.config() {
imp::deep_link_from_args(config, args)
} else {
None
};
Ok(DeepLink {
let deep_link = DeepLink {
app: app.clone(),
current: std::sync::Mutex::new(current.map(|url| vec![url])),
current: Default::default(),
config: api.config().clone(),
})
};
deep_link.handle_cli_arguments(args);
Ok(deep_link)
}
}
#[cfg(target_os = "android")]
mod imp {
use tauri::{plugin::PluginHandle, Runtime};
use tauri::{ipc::Channel, plugin::PluginHandle, AppHandle, Runtime};
use serde::{Deserialize, Serialize};
use tauri::ipc::Channel;
#[derive(Serialize)]
#[serde(rename_all = "camelCase")]
@@ -104,7 +105,10 @@ mod imp {
}
/// Access to the deep-link APIs.
pub struct DeepLink<R: Runtime>(pub(crate) PluginHandle<R>);
pub struct DeepLink<R: Runtime> {
pub(crate) app: AppHandle<R>,
pub(crate) plugin_handle: PluginHandle<R>,
}
impl<R: Runtime> DeepLink<R> {
/// Get the current URLs that triggered the deep link. Use this on app load to check whether your app was started via a deep link.
@@ -115,7 +119,7 @@ mod imp {
/// Note that you must manually check the arguments when registering deep link schemes dynamically with [`Self::register`].
/// Additionally, the deep link might have been provided as a CLI argument so you should check if its format matches what you expect.
pub fn get_current(&self) -> crate::Result<Option<Vec<url::Url>>> {
self.0
self.plugin_handle
.run_mobile_plugin::<GetCurrentResponse>("getCurrent", ())
.map(|v| v.url.map(|url| vec![url]))
.map_err(Into::into)
@@ -179,31 +183,6 @@ mod imp {
pub(crate) config: Option<crate::config::Config>,
}
pub(crate) fn deep_link_from_args<S: AsRef<str>, I: Iterator<Item = S>>(
config: &crate::config::Config,
mut args: I,
) -> Option<url::Url> {
if cfg!(windows) || cfg!(target_os = "linux") {
args.next(); // bin name
let arg = args.next();
let maybe_deep_link = args.next().is_none(); // single argument
if !maybe_deep_link {
return None;
}
if let Some(url) = arg.and_then(|arg| arg.as_ref().parse::<url::Url>().ok()) {
if config.desktop.contains_scheme(&url.scheme().to_string()) {
return Some(url);
} else if cfg!(debug_assertions) {
log::warn!("argument {url} does not match any configured deep link scheme; skipping it");
}
}
}
None
}
impl<R: Runtime> DeepLink<R> {
/// Checks if the provided list of arguments (which should match [`std::env::args`])
/// contains a deep link argument (for Linux and Windows).
@@ -216,17 +195,31 @@ mod imp {
///
/// This function updates the [`Self::get_current`] value and emits a `deep-link://new-url` event.
#[cfg(desktop)]
pub fn handle_cli_arguments<S: AsRef<str>, I: Iterator<Item = S>>(&self, args: I) {
pub fn handle_cli_arguments<S: AsRef<str>, I: Iterator<Item = S>>(&self, mut args: I) {
use tauri::Emitter;
let Some(config) = &self.config else {
return;
};
if let Some(url) = deep_link_from_args(config, args) {
let mut current = self.current.lock().unwrap();
current.replace(vec![url.clone()]);
let _ = self.app.emit("deep-link://new-url", vec![url]);
if cfg!(windows) || cfg!(target_os = "linux") {
args.next(); // bin name
let arg = args.next();
let maybe_deep_link = args.next().is_none(); // single argument
if !maybe_deep_link {
return;
}
if let Some(url) = arg.and_then(|arg| arg.as_ref().parse::<url::Url>().ok()) {
if config.desktop.contains_scheme(&url.scheme().to_string()) {
let mut current = self.current.lock().unwrap();
current.replace(vec![url.clone()]);
let _ = self.app.emit("deep-link://new-url", vec![url]);
} else if cfg!(debug_assertions) {
log::warn!("argument {url} does not match any configured deep link scheme; skipping it");
}
}
}
}
@@ -451,6 +444,7 @@ mod imp {
}
pub use imp::DeepLink;
use url::Url;
/// Extensions to [`tauri::App`], [`tauri::AppHandle`], [`tauri::WebviewWindow`], [`tauri::Webview`] and [`tauri::Window`] to access the deep-link APIs.
pub trait DeepLinkExt<R: Runtime> {
@@ -463,6 +457,54 @@ impl<R: Runtime, T: Manager<R>> crate::DeepLinkExt<R> for T {
}
}
/// Event that is triggered when the app was requested to open a new URL.
///
/// Typed [`tauri::Event`].
pub struct OpenUrlEvent {
id: EventId,
urls: Vec<Url>,
}
impl OpenUrlEvent {
/// The event ID which can be used to stop listening to the event via [`tauri::Listener::unlisten`].
pub fn id(&self) -> EventId {
self.id
}
/// The event URLs.
pub fn urls(self) -> Vec<Url> {
self.urls
}
}
impl<R: Runtime> DeepLink<R> {
/// Handle a new deep link being triggered to open the app.
///
/// To avoid race conditions, if the app was started with a deep link,
/// the closure gets immediately called with the deep link URL.
pub fn on_open_url<F: Fn(OpenUrlEvent) + Send + Sync + 'static>(&self, f: F) -> EventId {
let f = Arc::new(f);
let f_ = f.clone();
let event_id = self.app.listen("deep-link://new-url", move |event| {
if let Ok(urls) = serde_json::from_str(event.payload()) {
f(OpenUrlEvent {
id: event.id(),
urls,
})
}
});
if let Ok(Some(current)) = self.get_current() {
f_(OpenUrlEvent {
id: event_id,
urls: current,
})
}
event_id
}
}
/// Initializes the plugin.
pub fn init<R: Runtime>() -> TauriPlugin<R, Option<config::Config>> {
Builder::new("deep-link")
+14
View File
@@ -1,5 +1,19 @@
# Changelog
## \[2.0.0-rc.7]
### Dependencies
- Upgraded to `fs@2.0.0-rc.5`
## \[2.0.0-rc.6]
- [`2b898f07`](https://github.com/tauri-apps/plugins-workspace/commit/2b898f078688c57309ca17962bf02e665c406514) ([#1769](https://github.com/tauri-apps/plugins-workspace/pull/1769) by [@lucasfernog](https://github.com/tauri-apps/plugins-workspace/../../lucasfernog)) Update Tauri scopes (asset protocol) when using the `open()` command to select directories.
### Dependencies
- Upgraded to `fs@2.0.0-rc.4`
## \[2.0.0-rc.5]
- [`a2fe5551`](https://github.com/tauri-apps/plugins-workspace/commit/a2fe55512f908dd11c814ce021d164f01677572a) ([#1727](https://github.com/tauri-apps/plugins-workspace/pull/1727) by [@amrbashir](https://github.com/tauri-apps/plugins-workspace/../../amrbashir)) Add utility methods on `FilePath` and `SafeFilePath` enums which are:
+2 -2
View File
@@ -1,6 +1,6 @@
[package]
name = "tauri-plugin-dialog"
version = "2.0.0-rc.5"
version = "2.0.0-rc.7"
description = "Native system dialogs for opening and saving files along with message dialogs on your Tauri application."
edition = { workspace = true }
authors = { workspace = true }
@@ -27,7 +27,7 @@ tauri = { workspace = true }
log = { workspace = true }
thiserror = { workspace = true }
url = { workspace = true }
tauri-plugin-fs = { path = "../fs", version = "2.0.0-rc.3" }
tauri-plugin-fs = { path = "../fs", version = "2.0.0-rc.5" }
[target.'cfg(target_os = "ios")'.dependencies]
tauri = { workspace = true, features = ["wry"] }
+22 -44
View File
@@ -295,81 +295,59 @@
"type": "string",
"oneOf": [
{
"description": "allow-ask -> Enables the ask command without any pre-configured scope.",
"description": "Enables the ask command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-ask"
]
"const": "allow-ask"
},
{
"description": "deny-ask -> Denies the ask command without any pre-configured scope.",
"description": "Denies the ask command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-ask"
]
"const": "deny-ask"
},
{
"description": "allow-confirm -> Enables the confirm command without any pre-configured scope.",
"description": "Enables the confirm command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-confirm"
]
"const": "allow-confirm"
},
{
"description": "deny-confirm -> Denies the confirm command without any pre-configured scope.",
"description": "Denies the confirm command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-confirm"
]
"const": "deny-confirm"
},
{
"description": "allow-message -> Enables the message command without any pre-configured scope.",
"description": "Enables the message command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-message"
]
"const": "allow-message"
},
{
"description": "deny-message -> Denies the message command without any pre-configured scope.",
"description": "Denies the message command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-message"
]
"const": "deny-message"
},
{
"description": "allow-open -> Enables the open command without any pre-configured scope.",
"description": "Enables the open command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-open"
]
"const": "allow-open"
},
{
"description": "deny-open -> Denies the open command without any pre-configured scope.",
"description": "Denies the open command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-open"
]
"const": "deny-open"
},
{
"description": "allow-save -> Enables the save command without any pre-configured scope.",
"description": "Enables the save command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-save"
]
"const": "allow-save"
},
{
"description": "deny-save -> Denies the save command without any pre-configured scope.",
"description": "Denies the save command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-save"
]
"const": "deny-save"
},
{
"description": "default -> This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n",
"description": "This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n",
"type": "string",
"enum": [
"default"
]
"const": "default"
}
]
}
+14 -5
View File
@@ -132,14 +132,17 @@ pub(crate) async fn open<R: Runtime>(
let res = if options.directory {
#[cfg(desktop)]
{
let tauri_scope = window.state::<tauri::scope::Scopes>();
if options.multiple {
let folders = dialog_builder.blocking_pick_folders();
if let Some(folders) = &folders {
for folder in folders {
if let Ok(path) = folder.clone().into_path() {
if let Some(s) = window.try_fs_scope() {
s.allow_directory(path, options.recursive);
s.allow_directory(&path, options.recursive);
}
tauri_scope.allow_directory(&path, options.directory)?;
}
}
}
@@ -151,8 +154,9 @@ pub(crate) async fn open<R: Runtime>(
if let Some(folder) = &folder {
if let Ok(path) = folder.clone().into_path() {
if let Some(s) = window.try_fs_scope() {
s.allow_directory(path, options.recursive);
s.allow_directory(&path, options.recursive);
}
tauri_scope.allow_directory(&path, options.directory)?;
}
}
OpenResponse::Folder(folder.map(|p| p.simplified()))
@@ -161,6 +165,8 @@ pub(crate) async fn open<R: Runtime>(
#[cfg(mobile)]
return Err(crate::Error::FolderPickerNotImplemented);
} else if options.multiple {
let tauri_scope = window.state::<tauri::scope::Scopes>();
let files = dialog_builder.blocking_pick_files();
if let Some(files) = &files {
for file in files {
@@ -169,12 +175,13 @@ pub(crate) async fn open<R: Runtime>(
s.allow_file(&path);
}
window.state::<tauri::scope::Scopes>().allow_file(&path)?;
tauri_scope.allow_file(&path)?;
}
}
}
OpenResponse::Files(files.map(|files| files.into_iter().map(|f| f.simplified()).collect()))
} else {
let tauri_scope = window.state::<tauri::scope::Scopes>();
let file = dialog_builder.blocking_pick_file();
if let Some(file) = &file {
@@ -182,7 +189,7 @@ pub(crate) async fn open<R: Runtime>(
if let Some(s) = window.try_fs_scope() {
s.allow_file(&path);
}
window.state::<tauri::scope::Scopes>().allow_file(&path)?;
tauri_scope.allow_file(&path)?;
}
}
OpenResponse::File(file.map(|f| f.simplified()))
@@ -216,13 +223,15 @@ pub(crate) async fn save<R: Runtime>(
dialog_builder = dialog_builder.add_filter(filter.name, &extensions);
}
let tauri_scope = window.state::<tauri::scope::Scopes>();
let path = dialog_builder.blocking_save_file();
if let Some(p) = &path {
if let Ok(path) = p.clone().into_path() {
if let Some(s) = window.try_fs_scope() {
s.allow_file(&path);
}
window.state::<tauri::scope::Scopes>().allow_file(&path)?;
tauri_scope.allow_file(&path)?;
}
}
+8
View File
@@ -1,5 +1,13 @@
# Changelog
## \[2.0.0-rc.5]
- [`cc03ccf5`](https://github.com/tauri-apps/plugins-workspace/commit/cc03ccf5e0e4be8bbf50bbdebe957c84be7f779b) ([#1774](https://github.com/tauri-apps/plugins-workspace/pull/1774)) Fix `scope-app`, `scope-app-recursive` and `scope-index` not properly enabling the application paths.
## \[2.0.0-rc.4]
- [`9291e4d2`](https://github.com/tauri-apps/plugins-workspace/commit/9291e4d2caa31c883c71e55f2193bd8754d72f03) ([#1640](https://github.com/tauri-apps/plugins-workspace/pull/1640) by [@SRutile](https://github.com/tauri-apps/plugins-workspace/../../SRutile)) Support any UTF-8 character in the writeFile API.
## \[2.0.0-rc.3]
- [`a2fe5551`](https://github.com/tauri-apps/plugins-workspace/commit/a2fe55512f908dd11c814ce021d164f01677572a) ([#1727](https://github.com/tauri-apps/plugins-workspace/pull/1727) by [@amrbashir](https://github.com/tauri-apps/plugins-workspace/../../amrbashir)) Add utility methods on `FilePath` and `SafeFilePath` enums which are:
+2 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "tauri-plugin-fs"
version = "2.0.0-rc.3"
version = "2.0.0-rc.5"
description = "Access the file system."
authors = { workspace = true }
license = { workspace = true }
@@ -31,6 +31,7 @@ glob = "0.3"
notify = { version = "6", optional = true, features = ["serde"] }
notify-debouncer-full = { version = "0.3", optional = true }
dunce = { workspace = true }
percent-encoding = "2"
[features]
watch = ["notify", "notify-debouncer-full"]
File diff suppressed because one or more lines are too long
+1 -2
View File
@@ -52,7 +52,6 @@ const BASE_DIR_VARS: &[&str] = &[
"TEMPLATE",
"VIDEO",
"RESOURCE",
"APP",
"LOG",
"TEMP",
"APPCONFIG",
@@ -118,7 +117,7 @@ path = "${upper}/**"
[[permission]]
identifier = "scope-{lower}"
description = "This scope permits access to all files and list content of top level directories in the `${upper}`folder."
description = "This scope permits access to all files and list content of top level directories in the `${upper}` folder."
[[permission.scope.allow]]
path = "${upper}"
+2 -2
View File
@@ -270,7 +270,7 @@ class FileHandle extends Resource {
* @example
* ```typescript
* import { open, BaseDirectory } from "@tauri-apps/plugin-fs"
* // if "$APP/foo/bar.txt" contains the text "hello world":
* // if "$APPCONFIG/foo/bar.txt" contains the text "hello world":
* const file = await open("foo/bar.txt", { baseDir: BaseDirectory.AppConfig });
* const buf = new Uint8Array(100);
* const numberOfBytesRead = await file.read(buf); // 11 bytes
@@ -1015,7 +1015,7 @@ async function writeFile(
await invoke('plugin:fs|write_file', data, {
headers: {
path: path instanceof URL ? path.toString() : path,
path: encodeURIComponent(path instanceof URL ? path.toString() : path),
options: JSON.stringify(options)
}
})
+114
View File
@@ -0,0 +1,114 @@
"$schema" = "schemas/schema.json"
# Scopes Section
# This section contains scopes, which define file level access
[[permission]]
identifier = "scope-app-recursive"
description = "This scope permits recursive access to the complete application folders, including sub directories and files."
[[permission.scope.allow]]
path = "$APPCONFIG"
[[permission.scope.allow]]
path = "$APPCONFIG/**"
[[permission.scope.allow]]
path = "$APPDATA"
[[permission.scope.allow]]
path = "$APPDATA/**"
[[permission.scope.allow]]
path = "$APPLOCALDATA"
[[permission.scope.allow]]
path = "$APPLOCALDATA/**"
[[permission.scope.allow]]
path = "$APPCACHE"
[[permission.scope.allow]]
path = "$APPCACHE/**"
[[permission.scope.allow]]
path = "$APPLOG"
[[permission.scope.allow]]
path = "$APPLOG/**"
[[permission]]
identifier = "scope-app"
description = "This scope permits access to all files and list content of top level directories in the application folders."
[[permission.scope.allow]]
path = "$APPCONFIG"
[[permission.scope.allow]]
path = "$APPCONFIG/*"
[[permission.scope.allow]]
path = "$APPDATA"
[[permission.scope.allow]]
path = "$APPDATA/*"
[[permission.scope.allow]]
path = "$APPLOCALDATA"
[[permission.scope.allow]]
path = "$APPLOCALDATA/*"
[[permission.scope.allow]]
path = "$APPCACHE"
[[permission.scope.allow]]
path = "$APPCACHE/*"
[[permission.scope.allow]]
path = "$APPLOG"
[[permission.scope.allow]]
path = "$APPLOG/*"
[[permission]]
identifier = "scope-app-index"
description = "This scope permits to list all files and folders in the application directories."
[[permission.scope.allow]]
path = "$APPCONFIG"
[[permission.scope.allow]]
path = "$APPDATA"
[[permission.scope.allow]]
path = "$APPLOCALDATA"
[[permission.scope.allow]]
path = "$APPCACHE"
[[permission.scope.allow]]
path = "$APPLOG"
# Sets Section
# This section combines the scope elements with enablement of commands
[[set]]
identifier = "allow-app-read-recursive"
description = "This allows full recursive read access to the complete application folders, files and subdirectories."
permissions = ["read-all", "scope-app-recursive"]
[[set]]
identifier = "allow-app-write-recursive"
description = "This allows full recursive write access to the complete application folders, files and subdirectories."
permissions = ["write-all", "scope-app-recursive"]
[[set]]
identifier = "allow-app-read"
description = "This allows non-recursive read access to the application folders."
permissions = ["read-all", "scope-app"]
[[set]]
identifier = "allow-app-write"
description = "This allows non-recursive write access to the application folders."
permissions = ["write-all", "scope-app"]
[[set]]
identifier = "allow-app-meta-recursive"
description = "This allows full recursive read access to metadata of the application folders, including file listing and statistics."
permissions = ["read-meta", "scope-app-recursive"]
[[set]]
identifier = "allow-app-meta"
description = "This allows non-recursive read access to metadata of the application folders, including file listing and statistics."
permissions = ["read-meta", "scope-app-index"]
@@ -1,82 +0,0 @@
# Automatically generated - DO NOT EDIT!
"$schema" = "../../schemas/schema.json"
# Scopes Section
# This section contains scopes, which define file level access
[[permission]]
identifier = "scope-app-recursive"
description = "This scope permits recursive access to the complete `$APP` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$APP"
[[permission.scope.allow]]
path = "$APP/**"
[[permission]]
identifier = "scope-app"
description = "This scope permits access to all files and list content of top level directories in the `$APP`folder."
[[permission.scope.allow]]
path = "$APP"
[[permission.scope.allow]]
path = "$APP/*"
[[permission]]
identifier = "scope-app-index"
description = "This scope permits to list all files and folders in the `$APP`folder."
[[permission.scope.allow]]
path = "$APP"
# Sets Section
# This section combines the scope elements with enablement of commands
[[set]]
identifier = "allow-app-read-recursive"
description = "This allows full recursive read access to the complete `$APP` folder, files and subdirectories."
permissions = [
"read-all",
"scope-app-recursive"
]
[[set]]
identifier = "allow-app-write-recursive"
description = "This allows full recursive write access to the complete `$APP` folder, files and subdirectories."
permissions = [
"write-all",
"scope-app-recursive"
]
[[set]]
identifier = "allow-app-read"
description = "This allows non-recursive read access to the `$APP` folder."
permissions = [
"read-all",
"scope-app"
]
[[set]]
identifier = "allow-app-write"
description = "This allows non-recursive write access to the `$APP` folder."
permissions = [
"write-all",
"scope-app"
]
[[set]]
identifier = "allow-app-meta-recursive"
description = "This allows full recursive read access to metadata of the `$APP` folder, including file listing and statistics."
permissions = [
"read-meta",
"scope-app-recursive"
]
[[set]]
identifier = "allow-app-meta"
description = "This allows non-recursive read access to metadata of the `$APP` folder, including file listing and statistics."
permissions = [
"read-meta",
"scope-app-index"
]
@@ -16,7 +16,7 @@ path = "$APPCACHE/**"
[[permission]]
identifier = "scope-appcache"
description = "This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder."
description = "This scope permits access to all files and list content of top level directories in the `$APPCACHE` folder."
[[permission.scope.allow]]
path = "$APPCACHE"
@@ -16,7 +16,7 @@ path = "$APPCONFIG/**"
[[permission]]
identifier = "scope-appconfig"
description = "This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder."
description = "This scope permits access to all files and list content of top level directories in the `$APPCONFIG` folder."
[[permission.scope.allow]]
path = "$APPCONFIG"
@@ -16,7 +16,7 @@ path = "$APPDATA/**"
[[permission]]
identifier = "scope-appdata"
description = "This scope permits access to all files and list content of top level directories in the `$APPDATA`folder."
description = "This scope permits access to all files and list content of top level directories in the `$APPDATA` folder."
[[permission.scope.allow]]
path = "$APPDATA"
@@ -16,7 +16,7 @@ path = "$APPLOCALDATA/**"
[[permission]]
identifier = "scope-applocaldata"
description = "This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder."
description = "This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA` folder."
[[permission.scope.allow]]
path = "$APPLOCALDATA"
@@ -16,7 +16,7 @@ path = "$APPLOG/**"
[[permission]]
identifier = "scope-applog"
description = "This scope permits access to all files and list content of top level directories in the `$APPLOG`folder."
description = "This scope permits access to all files and list content of top level directories in the `$APPLOG` folder."
[[permission.scope.allow]]
path = "$APPLOG"
@@ -16,7 +16,7 @@ path = "$AUDIO/**"
[[permission]]
identifier = "scope-audio"
description = "This scope permits access to all files and list content of top level directories in the `$AUDIO`folder."
description = "This scope permits access to all files and list content of top level directories in the `$AUDIO` folder."
[[permission.scope.allow]]
path = "$AUDIO"
@@ -16,7 +16,7 @@ path = "$CACHE/**"
[[permission]]
identifier = "scope-cache"
description = "This scope permits access to all files and list content of top level directories in the `$CACHE`folder."
description = "This scope permits access to all files and list content of top level directories in the `$CACHE` folder."
[[permission.scope.allow]]
path = "$CACHE"
@@ -16,7 +16,7 @@ path = "$CONFIG/**"
[[permission]]
identifier = "scope-config"
description = "This scope permits access to all files and list content of top level directories in the `$CONFIG`folder."
description = "This scope permits access to all files and list content of top level directories in the `$CONFIG` folder."
[[permission.scope.allow]]
path = "$CONFIG"
@@ -16,7 +16,7 @@ path = "$DATA/**"
[[permission]]
identifier = "scope-data"
description = "This scope permits access to all files and list content of top level directories in the `$DATA`folder."
description = "This scope permits access to all files and list content of top level directories in the `$DATA` folder."
[[permission.scope.allow]]
path = "$DATA"
@@ -16,7 +16,7 @@ path = "$DESKTOP/**"
[[permission]]
identifier = "scope-desktop"
description = "This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder."
description = "This scope permits access to all files and list content of top level directories in the `$DESKTOP` folder."
[[permission.scope.allow]]
path = "$DESKTOP"
@@ -16,7 +16,7 @@ path = "$DOCUMENT/**"
[[permission]]
identifier = "scope-document"
description = "This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder."
description = "This scope permits access to all files and list content of top level directories in the `$DOCUMENT` folder."
[[permission.scope.allow]]
path = "$DOCUMENT"
@@ -16,7 +16,7 @@ path = "$DOWNLOAD/**"
[[permission]]
identifier = "scope-download"
description = "This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder."
description = "This scope permits access to all files and list content of top level directories in the `$DOWNLOAD` folder."
[[permission.scope.allow]]
path = "$DOWNLOAD"
@@ -16,7 +16,7 @@ path = "$EXE/**"
[[permission]]
identifier = "scope-exe"
description = "This scope permits access to all files and list content of top level directories in the `$EXE`folder."
description = "This scope permits access to all files and list content of top level directories in the `$EXE` folder."
[[permission.scope.allow]]
path = "$EXE"
@@ -16,7 +16,7 @@ path = "$FONT/**"
[[permission]]
identifier = "scope-font"
description = "This scope permits access to all files and list content of top level directories in the `$FONT`folder."
description = "This scope permits access to all files and list content of top level directories in the `$FONT` folder."
[[permission.scope.allow]]
path = "$FONT"
@@ -16,7 +16,7 @@ path = "$HOME/**"
[[permission]]
identifier = "scope-home"
description = "This scope permits access to all files and list content of top level directories in the `$HOME`folder."
description = "This scope permits access to all files and list content of top level directories in the `$HOME` folder."
[[permission.scope.allow]]
path = "$HOME"
@@ -16,7 +16,7 @@ path = "$LOCALDATA/**"
[[permission]]
identifier = "scope-localdata"
description = "This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder."
description = "This scope permits access to all files and list content of top level directories in the `$LOCALDATA` folder."
[[permission.scope.allow]]
path = "$LOCALDATA"
@@ -16,7 +16,7 @@ path = "$LOG/**"
[[permission]]
identifier = "scope-log"
description = "This scope permits access to all files and list content of top level directories in the `$LOG`folder."
description = "This scope permits access to all files and list content of top level directories in the `$LOG` folder."
[[permission.scope.allow]]
path = "$LOG"
@@ -16,7 +16,7 @@ path = "$PICTURE/**"
[[permission]]
identifier = "scope-picture"
description = "This scope permits access to all files and list content of top level directories in the `$PICTURE`folder."
description = "This scope permits access to all files and list content of top level directories in the `$PICTURE` folder."
[[permission.scope.allow]]
path = "$PICTURE"
@@ -16,7 +16,7 @@ path = "$PUBLIC/**"
[[permission]]
identifier = "scope-public"
description = "This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder."
description = "This scope permits access to all files and list content of top level directories in the `$PUBLIC` folder."
[[permission.scope.allow]]
path = "$PUBLIC"
@@ -16,7 +16,7 @@ path = "$RESOURCE/**"
[[permission]]
identifier = "scope-resource"
description = "This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder."
description = "This scope permits access to all files and list content of top level directories in the `$RESOURCE` folder."
[[permission.scope.allow]]
path = "$RESOURCE"
@@ -16,7 +16,7 @@ path = "$RUNTIME/**"
[[permission]]
identifier = "scope-runtime"
description = "This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder."
description = "This scope permits access to all files and list content of top level directories in the `$RUNTIME` folder."
[[permission.scope.allow]]
path = "$RUNTIME"
@@ -16,7 +16,7 @@ path = "$TEMP/**"
[[permission]]
identifier = "scope-temp"
description = "This scope permits access to all files and list content of top level directories in the `$TEMP`folder."
description = "This scope permits access to all files and list content of top level directories in the `$TEMP` folder."
[[permission.scope.allow]]
path = "$TEMP"
@@ -16,7 +16,7 @@ path = "$TEMPLATE/**"
[[permission]]
identifier = "scope-template"
description = "This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder."
description = "This scope permits access to all files and list content of top level directories in the `$TEMPLATE` folder."
[[permission.scope.allow]]
path = "$TEMPLATE"
@@ -16,7 +16,7 @@ path = "$VIDEO/**"
[[permission]]
identifier = "scope-video"
description = "This scope permits access to all files and list content of top level directories in the `$VIDEO`folder."
description = "This scope permits access to all files and list content of top level directories in the `$VIDEO` folder."
[[permission.scope.allow]]
path = "$VIDEO"
@@ -47,7 +47,7 @@ On Windows the webview data folder access is denied.
</td>
<td>
This allows full recursive read access to the complete `$APP` folder, files and subdirectories.
This allows full recursive read access to the complete application folders, files and subdirectories.
</td>
</tr>
@@ -60,7 +60,7 @@ This allows full recursive read access to the complete `$APP` folder, files and
</td>
<td>
This allows full recursive write access to the complete `$APP` folder, files and subdirectories.
This allows full recursive write access to the complete application folders, files and subdirectories.
</td>
</tr>
@@ -73,7 +73,7 @@ This allows full recursive write access to the complete `$APP` folder, files and
</td>
<td>
This allows non-recursive read access to the `$APP` folder.
This allows non-recursive read access to the application folders.
</td>
</tr>
@@ -86,7 +86,7 @@ This allows non-recursive read access to the `$APP` folder.
</td>
<td>
This allows non-recursive write access to the `$APP` folder.
This allows non-recursive write access to the application folders.
</td>
</tr>
@@ -99,7 +99,7 @@ This allows non-recursive write access to the `$APP` folder.
</td>
<td>
This allows full recursive read access to metadata of the `$APP` folder, including file listing and statistics.
This allows full recursive read access to metadata of the application folders, including file listing and statistics.
</td>
</tr>
@@ -112,7 +112,7 @@ This allows full recursive read access to metadata of the `$APP` folder, includi
</td>
<td>
This allows non-recursive read access to metadata of the `$APP` folder, including file listing and statistics.
This allows non-recursive read access to metadata of the application folders, including file listing and statistics.
</td>
</tr>
@@ -125,7 +125,7 @@ This allows non-recursive read access to metadata of the `$APP` folder, includin
</td>
<td>
This scope permits recursive access to the complete `$APP` folder, including sub directories and files.
This scope permits recursive access to the complete application folders, including sub directories and files.
</td>
</tr>
@@ -138,7 +138,7 @@ This scope permits recursive access to the complete `$APP` folder, including sub
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$APP`folder.
This scope permits access to all files and list content of top level directories in the application folders.
</td>
</tr>
@@ -151,7 +151,7 @@ This scope permits access to all files and list content of top level directories
</td>
<td>
This scope permits to list all files and folders in the `$APP`folder.
This scope permits to list all files and folders in the application directories.
</td>
</tr>
@@ -255,7 +255,7 @@ This scope permits recursive access to the complete `$APPCACHE` folder, includin
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.
This scope permits access to all files and list content of top level directories in the `$APPCACHE` folder.
</td>
</tr>
@@ -372,7 +372,7 @@ This scope permits recursive access to the complete `$APPCONFIG` folder, includi
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.
This scope permits access to all files and list content of top level directories in the `$APPCONFIG` folder.
</td>
</tr>
@@ -489,7 +489,7 @@ This scope permits recursive access to the complete `$APPDATA` folder, including
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.
This scope permits access to all files and list content of top level directories in the `$APPDATA` folder.
</td>
</tr>
@@ -606,7 +606,7 @@ This scope permits recursive access to the complete `$APPLOCALDATA` folder, incl
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.
This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA` folder.
</td>
</tr>
@@ -723,7 +723,7 @@ This scope permits recursive access to the complete `$APPLOG` folder, including
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.
This scope permits access to all files and list content of top level directories in the `$APPLOG` folder.
</td>
</tr>
@@ -840,7 +840,7 @@ This scope permits recursive access to the complete `$AUDIO` folder, including s
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.
This scope permits access to all files and list content of top level directories in the `$AUDIO` folder.
</td>
</tr>
@@ -957,7 +957,7 @@ This scope permits recursive access to the complete `$CACHE` folder, including s
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$CACHE`folder.
This scope permits access to all files and list content of top level directories in the `$CACHE` folder.
</td>
</tr>
@@ -1074,7 +1074,7 @@ This scope permits recursive access to the complete `$CONFIG` folder, including
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.
This scope permits access to all files and list content of top level directories in the `$CONFIG` folder.
</td>
</tr>
@@ -1191,7 +1191,7 @@ This scope permits recursive access to the complete `$DATA` folder, including su
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$DATA`folder.
This scope permits access to all files and list content of top level directories in the `$DATA` folder.
</td>
</tr>
@@ -1308,7 +1308,7 @@ This scope permits recursive access to the complete `$DESKTOP` folder, including
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.
This scope permits access to all files and list content of top level directories in the `$DESKTOP` folder.
</td>
</tr>
@@ -1425,7 +1425,7 @@ This scope permits recursive access to the complete `$DOCUMENT` folder, includin
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.
This scope permits access to all files and list content of top level directories in the `$DOCUMENT` folder.
</td>
</tr>
@@ -1542,7 +1542,7 @@ This scope permits recursive access to the complete `$DOWNLOAD` folder, includin
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.
This scope permits access to all files and list content of top level directories in the `$DOWNLOAD` folder.
</td>
</tr>
@@ -1659,7 +1659,7 @@ This scope permits recursive access to the complete `$EXE` folder, including sub
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$EXE`folder.
This scope permits access to all files and list content of top level directories in the `$EXE` folder.
</td>
</tr>
@@ -1776,7 +1776,7 @@ This scope permits recursive access to the complete `$FONT` folder, including su
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$FONT`folder.
This scope permits access to all files and list content of top level directories in the `$FONT` folder.
</td>
</tr>
@@ -1893,7 +1893,7 @@ This scope permits recursive access to the complete `$HOME` folder, including su
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$HOME`folder.
This scope permits access to all files and list content of top level directories in the `$HOME` folder.
</td>
</tr>
@@ -2010,7 +2010,7 @@ This scope permits recursive access to the complete `$LOCALDATA` folder, includi
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.
This scope permits access to all files and list content of top level directories in the `$LOCALDATA` folder.
</td>
</tr>
@@ -2127,7 +2127,7 @@ This scope permits recursive access to the complete `$LOG` folder, including sub
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$LOG`folder.
This scope permits access to all files and list content of top level directories in the `$LOG` folder.
</td>
</tr>
@@ -2244,7 +2244,7 @@ This scope permits recursive access to the complete `$PICTURE` folder, including
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.
This scope permits access to all files and list content of top level directories in the `$PICTURE` folder.
</td>
</tr>
@@ -2361,7 +2361,7 @@ This scope permits recursive access to the complete `$PUBLIC` folder, including
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.
This scope permits access to all files and list content of top level directories in the `$PUBLIC` folder.
</td>
</tr>
@@ -2478,7 +2478,7 @@ This scope permits recursive access to the complete `$RESOURCE` folder, includin
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.
This scope permits access to all files and list content of top level directories in the `$RESOURCE` folder.
</td>
</tr>
@@ -2595,7 +2595,7 @@ This scope permits recursive access to the complete `$RUNTIME` folder, including
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.
This scope permits access to all files and list content of top level directories in the `$RUNTIME` folder.
</td>
</tr>
@@ -2712,7 +2712,7 @@ This scope permits recursive access to the complete `$TEMP` folder, including su
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$TEMP`folder.
This scope permits access to all files and list content of top level directories in the `$TEMP` folder.
</td>
</tr>
@@ -2829,7 +2829,7 @@ This scope permits recursive access to the complete `$TEMPLATE` folder, includin
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.
This scope permits access to all files and list content of top level directories in the `$TEMPLATE` folder.
</td>
</tr>
@@ -2946,7 +2946,7 @@ This scope permits recursive access to the complete `$VIDEO` folder, including s
</td>
<td>
This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.
This scope permits access to all files and list content of top level directories in the `$VIDEO` folder.
</td>
</tr>
@@ -5,19 +5,4 @@ identifier = "create-app-specific-dirs"
description = """
This permissions allows to create the application specific directories.
"""
commands.allow = ["mkdir"]
[[permission.scope.allow]]
path = "$APPCONFIG"
[[permission.scope.allow]]
path = "$APPDATA"
[[permission.scope.allow]]
path = "$APPLOCALDATA"
[[permission.scope.allow]]
path = "$APPCACHE"
[[permission.scope.allow]]
path = "$APPLOG"
commands.allow = ["mkdir", "scope-app-index"]
@@ -13,19 +13,5 @@ commands.allow = [
"read_text_file_lines",
"read_text_file_lines_next",
"exists",
"scope-app-recursive",
]
[[permission.scope.allow]]
path = "$APPCONFIG/**"
[[permission.scope.allow]]
path = "$APPDATA/**"
[[permission.scope.allow]]
path = "$APPLOCALDATA/**"
[[permission.scope.allow]]
path = "$APPCACHE/**"
[[permission.scope.allow]]
path = "$APPLOG/**"
File diff suppressed because it is too large Load Diff
+4 -3
View File
@@ -855,10 +855,11 @@ pub async fn write_file<R: Runtime>(
.get("path")
.ok_or_else(|| anyhow::anyhow!("missing file path").into())
.and_then(|p| {
p.to_str()
.map_err(|e| anyhow::anyhow!("invalid path: {e}").into())
percent_encoding::percent_decode(p.as_ref())
.decode_utf8()
.map_err(|_| anyhow::anyhow!("path is not a valid UTF-8").into())
})
.and_then(|p| SafeFilePath::from_str(p).map_err(CommandError::from))?;
.and_then(|p| SafeFilePath::from_str(&p).map_err(CommandError::from))?;
let options = request
.headers()
.get("options")
@@ -295,88 +295,64 @@
"type": "string",
"oneOf": [
{
"description": "allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.",
"description": "Enables the check_permissions command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-check-permissions"
]
"const": "allow-check-permissions"
},
{
"description": "deny-check-permissions -> Denies the check_permissions command without any pre-configured scope.",
"description": "Denies the check_permissions command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-check-permissions"
]
"const": "deny-check-permissions"
},
{
"description": "allow-clear-permissions -> Enables the clear_permissions command without any pre-configured scope.",
"description": "Enables the clear_permissions command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-clear-permissions"
]
"const": "allow-clear-permissions"
},
{
"description": "deny-clear-permissions -> Denies the clear_permissions command without any pre-configured scope.",
"description": "Denies the clear_permissions command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-clear-permissions"
]
"const": "deny-clear-permissions"
},
{
"description": "allow-clear-positions -> Enables the clear_positions command without any pre-configured scope.",
"description": "Enables the clear_positions command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-clear-positions"
]
"const": "allow-clear-positions"
},
{
"description": "deny-clear-positions -> Denies the clear_positions command without any pre-configured scope.",
"description": "Denies the clear_positions command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-clear-positions"
]
"const": "deny-clear-positions"
},
{
"description": "allow-clear-watch -> Enables the clear_watch command without any pre-configured scope.",
"description": "Enables the clear_watch command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-clear-watch"
]
"const": "allow-clear-watch"
},
{
"description": "deny-clear-watch -> Denies the clear_watch command without any pre-configured scope.",
"description": "Denies the clear_watch command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-clear-watch"
]
"const": "deny-clear-watch"
},
{
"description": "allow-get-current-position -> Enables the get_current_position command without any pre-configured scope.",
"description": "Enables the get_current_position command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-get-current-position"
]
"const": "allow-get-current-position"
},
{
"description": "deny-get-current-position -> Denies the get_current_position command without any pre-configured scope.",
"description": "Denies the get_current_position command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-get-current-position"
]
"const": "deny-get-current-position"
},
{
"description": "allow-watch-position -> Enables the watch_position command without any pre-configured scope.",
"description": "Enables the watch_position command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-watch-position"
]
"const": "allow-watch-position"
},
{
"description": "deny-watch-position -> Denies the watch_position command without any pre-configured scope.",
"description": "Denies the watch_position command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-watch-position"
]
"const": "deny-watch-position"
}
]
}
@@ -295,81 +295,59 @@
"type": "string",
"oneOf": [
{
"description": "allow-is-registered -> Enables the is_registered command without any pre-configured scope.",
"description": "Enables the is_registered command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-is-registered"
]
"const": "allow-is-registered"
},
{
"description": "deny-is-registered -> Denies the is_registered command without any pre-configured scope.",
"description": "Denies the is_registered command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-is-registered"
]
"const": "deny-is-registered"
},
{
"description": "allow-register -> Enables the register command without any pre-configured scope.",
"description": "Enables the register command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-register"
]
"const": "allow-register"
},
{
"description": "deny-register -> Denies the register command without any pre-configured scope.",
"description": "Denies the register command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-register"
]
"const": "deny-register"
},
{
"description": "allow-register-all -> Enables the register_all command without any pre-configured scope.",
"description": "Enables the register_all command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-register-all"
]
"const": "allow-register-all"
},
{
"description": "deny-register-all -> Denies the register_all command without any pre-configured scope.",
"description": "Denies the register_all command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-register-all"
]
"const": "deny-register-all"
},
{
"description": "allow-unregister -> Enables the unregister command without any pre-configured scope.",
"description": "Enables the unregister command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-unregister"
]
"const": "allow-unregister"
},
{
"description": "deny-unregister -> Denies the unregister command without any pre-configured scope.",
"description": "Denies the unregister command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-unregister"
]
"const": "deny-unregister"
},
{
"description": "allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.",
"description": "Enables the unregister_all command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-unregister-all"
]
"const": "allow-unregister-all"
},
{
"description": "deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.",
"description": "Denies the unregister_all command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-unregister-all"
]
"const": "deny-unregister-all"
},
{
"description": "default -> No features are enabled by default, as we believe\nthe shortcuts can be inherently dangerous and it is\napplication specific if specific shortcuts should be\nregistered or unregistered.\n",
"description": "No features are enabled by default, as we believe\nthe shortcuts can be inherently dangerous and it is\napplication specific if specific shortcuts should be\nregistered or unregistered.\n",
"type": "string",
"enum": [
"default"
]
"const": "default"
}
]
}
+16 -32
View File
@@ -295,60 +295,44 @@
"type": "string",
"oneOf": [
{
"description": "allow-impact-feedback -> Enables the impact_feedback command without any pre-configured scope.",
"description": "Enables the impact_feedback command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-impact-feedback"
]
"const": "allow-impact-feedback"
},
{
"description": "deny-impact-feedback -> Denies the impact_feedback command without any pre-configured scope.",
"description": "Denies the impact_feedback command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-impact-feedback"
]
"const": "deny-impact-feedback"
},
{
"description": "allow-notification-feedback -> Enables the notification_feedback command without any pre-configured scope.",
"description": "Enables the notification_feedback command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-notification-feedback"
]
"const": "allow-notification-feedback"
},
{
"description": "deny-notification-feedback -> Denies the notification_feedback command without any pre-configured scope.",
"description": "Denies the notification_feedback command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-notification-feedback"
]
"const": "deny-notification-feedback"
},
{
"description": "allow-selection-feedback -> Enables the selection_feedback command without any pre-configured scope.",
"description": "Enables the selection_feedback command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-selection-feedback"
]
"const": "allow-selection-feedback"
},
{
"description": "deny-selection-feedback -> Denies the selection_feedback command without any pre-configured scope.",
"description": "Denies the selection_feedback command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-selection-feedback"
]
"const": "deny-selection-feedback"
},
{
"description": "allow-vibrate -> Enables the vibrate command without any pre-configured scope.",
"description": "Enables the vibrate command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-vibrate"
]
"const": "allow-vibrate"
},
{
"description": "deny-vibrate -> Denies the vibrate command without any pre-configured scope.",
"description": "Denies the vibrate command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-vibrate"
]
"const": "deny-vibrate"
}
]
}
+12
View File
@@ -1,5 +1,17 @@
# Changelog
## \[2.0.0-rc.5]
### Dependencies
- Upgraded to `fs@2.0.0-rc.5`
## \[2.0.0-rc.4]
### Dependencies
- Upgraded to `fs@2.0.0-rc.4`
## \[2.0.0-rc.3]
### Dependencies
+2 -2
View File
@@ -1,6 +1,6 @@
[package]
name = "tauri-plugin-http"
version = "2.0.0-rc.3"
version = "2.0.0-rc.5"
description = "Access an HTTP client written in Rust."
edition = { workspace = true }
authors = { workspace = true }
@@ -27,7 +27,7 @@ serde_json = { workspace = true }
tauri = { workspace = true }
thiserror = { workspace = true }
tokio = { version = "1", features = ["sync", "macros"] }
tauri-plugin-fs = { path = "../fs", version = "2.0.0-rc.3" }
tauri-plugin-fs = { path = "../fs", version = "2.0.0-rc.5" }
urlpattern = "0.3"
regex = "1"
http = "1"
+18 -36
View File
@@ -295,67 +295,49 @@
"type": "string",
"oneOf": [
{
"description": "allow-fetch -> Enables the fetch command without any pre-configured scope.",
"description": "Enables the fetch command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-fetch"
]
"const": "allow-fetch"
},
{
"description": "deny-fetch -> Denies the fetch command without any pre-configured scope.",
"description": "Denies the fetch command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-fetch"
]
"const": "deny-fetch"
},
{
"description": "allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.",
"description": "Enables the fetch_cancel command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-fetch-cancel"
]
"const": "allow-fetch-cancel"
},
{
"description": "deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.",
"description": "Denies the fetch_cancel command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-fetch-cancel"
]
"const": "deny-fetch-cancel"
},
{
"description": "allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.",
"description": "Enables the fetch_read_body command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-fetch-read-body"
]
"const": "allow-fetch-read-body"
},
{
"description": "deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.",
"description": "Denies the fetch_read_body command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-fetch-read-body"
]
"const": "deny-fetch-read-body"
},
{
"description": "allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.",
"description": "Enables the fetch_send command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-fetch-send"
]
"const": "allow-fetch-send"
},
{
"description": "deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.",
"description": "Denies the fetch_send command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-fetch-send"
]
"const": "deny-fetch-send"
},
{
"description": "default -> This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n",
"description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n",
"type": "string",
"enum": [
"default"
]
"const": "default"
}
]
}
+6 -12
View File
@@ -295,25 +295,19 @@
"type": "string",
"oneOf": [
{
"description": "allow-log -> Enables the log command without any pre-configured scope.",
"description": "Enables the log command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-log"
]
"const": "allow-log"
},
{
"description": "deny-log -> Denies the log command without any pre-configured scope.",
"description": "Denies the log command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-log"
]
"const": "deny-log"
},
{
"description": "default -> Allows the log command",
"description": "Allows the log command",
"type": "string",
"enum": [
"default"
]
"const": "default"
}
]
}
+14 -28
View File
@@ -295,53 +295,39 @@
"type": "string",
"oneOf": [
{
"description": "allow-is-available -> Enables the is_available command without any pre-configured scope.",
"description": "Enables the is_available command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-is-available"
]
"const": "allow-is-available"
},
{
"description": "deny-is-available -> Denies the is_available command without any pre-configured scope.",
"description": "Denies the is_available command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-is-available"
]
"const": "deny-is-available"
},
{
"description": "allow-scan -> Enables the scan command without any pre-configured scope.",
"description": "Enables the scan command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-scan"
]
"const": "allow-scan"
},
{
"description": "deny-scan -> Denies the scan command without any pre-configured scope.",
"description": "Denies the scan command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-scan"
]
"const": "deny-scan"
},
{
"description": "allow-write -> Enables the write command without any pre-configured scope.",
"description": "Enables the write command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-write"
]
"const": "allow-write"
},
{
"description": "deny-write -> Denies the write command without any pre-configured scope.",
"description": "Denies the write command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-write"
]
"const": "deny-write"
},
{
"description": "default -> This permission set configures what kind of\noperations are available from the nfc plugin.\n\n#### Granted Permissions\n\nChecking if the NFC functionality is available\nand scanning nearby tags is allowed.\nWriting to tags needs to be manually enabled.\n\n",
"description": "This permission set configures what kind of\noperations are available from the nfc plugin.\n\n#### Granted Permissions\n\nChecking if the NFC functionality is available\nand scanning nearby tags is allowed.\nWriting to tags needs to be manually enabled.\n\n",
"type": "string",
"enum": [
"default"
]
"const": "default"
}
]
}
+4
View File
@@ -1,5 +1,9 @@
# Changelog
## \[2.0.0-rc.5]
- [`fb85e5dd`](https://github.com/tauri-apps/plugins-workspace/commit/fb85e5dd76688f3ae836890160f9bde843b70167) ([#1785](https://github.com/tauri-apps/plugins-workspace/pull/1785)) Update to tauri 2.0.0-rc.12.
## \[2.0.0-rc.4]
- [`3d301c65`](https://github.com/tauri-apps/plugins-workspace/commit/3d301c654e6f5e7f343e0e0cbb57648002e98f04) ([#1737](https://github.com/tauri-apps/plugins-workspace/pull/1737) by [@lucasfernog](https://github.com/tauri-apps/plugins-workspace/../../lucasfernog)) The notification body is now optional on iOS to match the other platforms.

Some files were not shown because too many files have changed in this diff Show More