mirror of
https://github.com/tauri-apps/plugins-workspace.git
synced 2026-06-20 14:50:07 +02:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8cf1cb9d02 |
@@ -2,6 +2,4 @@
|
|||||||
ignore = [
|
ignore = [
|
||||||
# time crate can't be updated in the repo because of MSRV, users are unaffected
|
# time crate can't be updated in the repo because of MSRV, users are unaffected
|
||||||
"RUSTSEC-2026-0009",
|
"RUSTSEC-2026-0009",
|
||||||
# libflate crates can't be updated in the repo because of MSRV, users are unaffected
|
|
||||||
"RUSTSEC-2026-0105",
|
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
"sql": minor
|
||||||
|
"sql-js": minor
|
||||||
|
---
|
||||||
|
|
||||||
|
Add support for Postgres `NUMERIC` and custom data types.
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
"fs": minor
|
||||||
|
"fs-js": minor
|
||||||
|
---
|
||||||
|
|
||||||
|
Add `encoding` option for `readTextFile` and `readTextFileLines`
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
"http": patch
|
||||||
|
"http-js": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Correct Response header initialization to support cloning and ensure Set-Cookie visibility.
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
"updater": patch
|
||||||
|
"updater-js": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
fix: preserve file extension of updater package, otherwise users may get confused when presented with a sudo dialog suggesting to install a file with the extension `.rpm` using `dpkg -i`
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
"dialog": minor
|
||||||
|
"dialog-js": minor
|
||||||
|
---
|
||||||
|
|
||||||
|
Re-use `message` command in Rust side for `ask` and `confirm` commands, `allow-ask` and `allow-confirm` permissions are now aliases to `allow-message`
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
"fs": minor
|
||||||
|
"fs-js": minor
|
||||||
|
---
|
||||||
|
|
||||||
|
Enable access for security-scoped resources on iOS by automatically calling `NSURL::startAccessingSecurityScopedResource` on resource access and adding the `stopAccessingSecurityScopedResource` API.
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
"deep-link": patch
|
||||||
|
"deep-link-js": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Validate Android new intent is actually a deep link before triggering the onOpenUrl event.
|
||||||
@@ -5,7 +5,6 @@ Hi! We, the maintainers, are really excited that you are interested in contribut
|
|||||||
- [Issue Reporting Guidelines](#issue-reporting-guidelines)
|
- [Issue Reporting Guidelines](#issue-reporting-guidelines)
|
||||||
- [Pull Request Guidelines](#pull-request-guidelines)
|
- [Pull Request Guidelines](#pull-request-guidelines)
|
||||||
- [Development Guide](#development-guide)
|
- [Development Guide](#development-guide)
|
||||||
- [AI Tool Policy](#ai-tool-policy)
|
|
||||||
|
|
||||||
## Issue Reporting Guidelines
|
## Issue Reporting Guidelines
|
||||||
|
|
||||||
@@ -61,13 +60,3 @@ The easiest way to test your changes is to use the [example app](https://github.
|
|||||||
To test local changes against your own application simply point the plugin create to your local repository, for example:
|
To test local changes against your own application simply point the plugin create to your local repository, for example:
|
||||||
|
|
||||||
`tauri-plugin-sample = { path = "path/to/local/tauri-plugin-sample/" }`
|
`tauri-plugin-sample = { path = "path/to/local/tauri-plugin-sample/" }`
|
||||||
|
|
||||||
## AI Tool Policy
|
|
||||||
|
|
||||||
It takes a lot of time to review a Pull Request while it's very easy to make a nonsensical but plausible looking one using AI tools.
|
|
||||||
It is unfair for other contributors and the reviewers to spend much of the time dealing with this, hence these rules:
|
|
||||||
|
|
||||||
1. Review and test all LLM-generated content before submitting, you're the one responsible for it, not the AI.
|
|
||||||
2. Don't use AI to respond to review comments (except for translations).
|
|
||||||
|
|
||||||
We will close the Pull Request with a `ai-slop` tag if you failed to do so.
|
|
||||||
|
|||||||
Generated
+346
-550
File diff suppressed because it is too large
Load Diff
+6
-4
@@ -13,6 +13,8 @@ serde = { version = "1", features = ["derive"] }
|
|||||||
tracing = "0.1"
|
tracing = "0.1"
|
||||||
log = "0.4"
|
log = "0.4"
|
||||||
tauri = { version = "2.10", default-features = false }
|
tauri = { version = "2.10", default-features = false }
|
||||||
|
tauri-runtime-wry = "2"
|
||||||
|
tauri-runtime-cef = { git = "https://github.com/tauri-apps/tauri.git", branch = "refactor/runtime-feature-flag" }
|
||||||
tauri-build = "2.5"
|
tauri-build = "2.5"
|
||||||
tauri-plugin = "2.5"
|
tauri-plugin = "2.5"
|
||||||
tauri-utils = "2.8"
|
tauri-utils = "2.8"
|
||||||
@@ -41,7 +43,7 @@ incremental = false
|
|||||||
opt-level = "s"
|
opt-level = "s"
|
||||||
|
|
||||||
[patch.crates-io]
|
[patch.crates-io]
|
||||||
tauri = { git = "https://github.com/tauri-apps/tauri.git", tag = "tauri-cef-v3.0.0-alpha.9" }
|
tauri = { git = "https://github.com/tauri-apps/tauri.git", branch = "refactor/runtime-feature-flag" }
|
||||||
tauri-utils = { git = "https://github.com/tauri-apps/tauri.git", tag = "tauri-cef-v3.0.0-alpha.9" }
|
tauri-utils = { git = "https://github.com/tauri-apps/tauri.git", branch = "refactor/runtime-feature-flag" }
|
||||||
tauri-plugin = { git = "https://github.com/tauri-apps/tauri.git", tag = "tauri-cef-v3.0.0-alpha.9" }
|
tauri-plugin = { git = "https://github.com/tauri-apps/tauri.git", branch = "refactor/runtime-feature-flag" }
|
||||||
tauri-build = { git = "https://github.com/tauri-apps/tauri.git", tag = "tauri-cef-v3.0.0-alpha.9" }
|
tauri-runtime-wry = { git = "https://github.com/tauri-apps/tauri.git", branch = "refactor/runtime-feature-flag" }
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ This repo and all plugins require a Rust version of at least **1.77.2**
|
|||||||
| [log](plugins/log) | Configurable logging. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| [log](plugins/log) | Configurable logging. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| [nfc](plugins/nfc) | Read and write NFC tags on Android and iOS. | ? | ? | ? | ✅ | ✅ |
|
| [nfc](plugins/nfc) | Read and write NFC tags on Android and iOS. | ? | ? | ? | ✅ | ✅ |
|
||||||
| [notification](plugins/notification) | Send message notifications (brief auto-expiring OS window element) to your user. Can also be used with the Notification Web API. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| [notification](plugins/notification) | Send message notifications (brief auto-expiring OS window element) to your user. Can also be used with the Notification Web API. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| [opener](plugins/opener) | Open files and URLs using their default application. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| [opener](plugins/opener) | Open files and URLs using their default application. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [os](plugins/os) | Read information about the operating system. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| [os](plugins/os) | Read information about the operating system. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| [persisted-scope](plugins/persisted-scope) | Persist runtime scope changes on the filesystem. | ✅ | ✅ | ✅ | ? | ? |
|
| [persisted-scope](plugins/persisted-scope) | Persist runtime scope changes on the filesystem. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [positioner](plugins/positioner) | Move windows to common locations. | ✅ | ✅ | ✅ | ❌ | ❌ |
|
| [positioner](plugins/positioner) | Move windows to common locations. | ✅ | ✅ | ✅ | ❌ | ❌ |
|
||||||
|
|||||||
@@ -1,25 +1,5 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## \[2.0.39]
|
|
||||||
|
|
||||||
### Dependencies
|
|
||||||
|
|
||||||
- Upgraded to `fs-js@2.5.1`
|
|
||||||
- Upgraded to `opener-js@2.5.4`
|
|
||||||
- Upgraded to `store-js@2.4.3`
|
|
||||||
- Upgraded to `dialog-js@2.7.1`
|
|
||||||
- Upgraded to `http-js@2.5.9`
|
|
||||||
|
|
||||||
## \[2.0.38]
|
|
||||||
|
|
||||||
### Dependencies
|
|
||||||
|
|
||||||
- Upgraded to `fs-js@2.5.0`
|
|
||||||
- Upgraded to `http-js@2.5.8`
|
|
||||||
- Upgraded to `updater-js@2.10.1`
|
|
||||||
- Upgraded to `nfc-js@2.3.5`
|
|
||||||
- Upgraded to `dialog-js@2.7.0`
|
|
||||||
|
|
||||||
## \[2.0.37]
|
## \[2.0.37]
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
|
|||||||
+19
-19
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "api",
|
"name": "api",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "2.0.39",
|
"version": "2.0.37",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite --clearScreen false",
|
"dev": "vite --clearScreen false",
|
||||||
@@ -10,36 +10,36 @@
|
|||||||
"tauri": "tauri"
|
"tauri": "tauri"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tauri-apps/api": "^2.11.0",
|
"@tauri-apps/api": "^2.10.1",
|
||||||
"@tauri-apps/plugin-barcode-scanner": "^2.4.4",
|
"@tauri-apps/plugin-barcode-scanner": "^2.4.4",
|
||||||
"@tauri-apps/plugin-biometric": "^2.3.2",
|
"@tauri-apps/plugin-biometric": "^2.3.2",
|
||||||
"@tauri-apps/plugin-cli": "^2.4.1",
|
"@tauri-apps/plugin-cli": "^2.4.1",
|
||||||
"@tauri-apps/plugin-clipboard-manager": "^2.3.2",
|
"@tauri-apps/plugin-clipboard-manager": "^2.3.2",
|
||||||
"@tauri-apps/plugin-dialog": "^2.7.1",
|
"@tauri-apps/plugin-dialog": "^2.6.0",
|
||||||
"@tauri-apps/plugin-fs": "^2.5.1",
|
"@tauri-apps/plugin-fs": "^2.4.5",
|
||||||
"@tauri-apps/plugin-geolocation": "^2.3.2",
|
"@tauri-apps/plugin-geolocation": "^2.2.0",
|
||||||
"@tauri-apps/plugin-global-shortcut": "^2.3.1",
|
"@tauri-apps/plugin-global-shortcut": "^2.3.1",
|
||||||
"@tauri-apps/plugin-haptics": "^2.3.2",
|
"@tauri-apps/plugin-haptics": "^2.2.0",
|
||||||
"@tauri-apps/plugin-http": "^2.5.9",
|
"@tauri-apps/plugin-http": "^2.5.7",
|
||||||
"@tauri-apps/plugin-nfc": "^2.3.5",
|
"@tauri-apps/plugin-nfc": "^2.3.4",
|
||||||
"@tauri-apps/plugin-notification": "^2.3.3",
|
"@tauri-apps/plugin-notification": "^2.3.3",
|
||||||
"@tauri-apps/plugin-opener": "^2.5.4",
|
"@tauri-apps/plugin-opener": "^2.5.3",
|
||||||
"@tauri-apps/plugin-os": "^2.3.2",
|
"@tauri-apps/plugin-os": "^2.3.2",
|
||||||
"@tauri-apps/plugin-process": "^2.3.1",
|
"@tauri-apps/plugin-process": "^2.3.1",
|
||||||
"@tauri-apps/plugin-shell": "^2.3.5",
|
"@tauri-apps/plugin-shell": "^2.3.5",
|
||||||
"@tauri-apps/plugin-store": "^2.4.3",
|
"@tauri-apps/plugin-store": "^2.4.2",
|
||||||
"@tauri-apps/plugin-updater": "^2.10.1",
|
"@tauri-apps/plugin-updater": "^2.10.0",
|
||||||
"@tauri-apps/plugin-upload": "^2.4.0",
|
"@tauri-apps/plugin-upload": "^2.3.0",
|
||||||
"@zerodevx/svelte-json-view": "1.0.11"
|
"@zerodevx/svelte-json-view": "1.0.11"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@iconify-json/codicon": "^1.2.49",
|
"@iconify-json/codicon": "^1.2.12",
|
||||||
"@iconify-json/ph": "^1.2.2",
|
"@iconify-json/ph": "^1.2.2",
|
||||||
"@sveltejs/vite-plugin-svelte": "^7.0.0",
|
"@sveltejs/vite-plugin-svelte": "^6.0.0",
|
||||||
"@tauri-apps/cli-cef": "3.0.0-alpha.5",
|
"@tauri-apps/cli": "2.10.1",
|
||||||
"@unocss/extractor-svelte": "^66.6.7",
|
"@unocss/extractor-svelte": "^66.3.3",
|
||||||
"svelte": "^5.54.0",
|
"svelte": "^5.20.4",
|
||||||
"unocss": "^66.6.7",
|
"unocss": "^66.3.3",
|
||||||
"vite": "^8.0.1"
|
"vite": "^7.0.7"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +1,5 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## \[2.0.43]
|
|
||||||
|
|
||||||
### Dependencies
|
|
||||||
|
|
||||||
- Upgraded to `fs@2.5.1`
|
|
||||||
- Upgraded to `opener@2.5.4`
|
|
||||||
- Upgraded to `store@2.4.3`
|
|
||||||
- Upgraded to `dialog@2.7.1`
|
|
||||||
- Upgraded to `http@2.5.9`
|
|
||||||
|
|
||||||
## \[2.0.42]
|
|
||||||
|
|
||||||
### Dependencies
|
|
||||||
|
|
||||||
- Upgraded to `fs@2.5.0`
|
|
||||||
- Upgraded to `http@2.5.8`
|
|
||||||
- Upgraded to `updater@2.10.1`
|
|
||||||
- Upgraded to `nfc@2.3.5`
|
|
||||||
- Upgraded to `dialog@2.7.0`
|
|
||||||
|
|
||||||
## \[2.0.41]
|
## \[2.0.41]
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "api"
|
name = "api"
|
||||||
publish = false
|
publish = false
|
||||||
version = "2.0.43"
|
version = "2.0.41"
|
||||||
description = "An example Tauri Application showcasing the api"
|
description = "An example Tauri Application showcasing the api"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
rust-version = { workspace = true }
|
rust-version = { workspace = true }
|
||||||
@@ -21,31 +21,32 @@ tiny_http = "0.12"
|
|||||||
time = "0.3"
|
time = "0.3"
|
||||||
log = { workspace = true }
|
log = { workspace = true }
|
||||||
tauri-plugin-log = { path = "../../../plugins/log", version = "2.8.0" }
|
tauri-plugin-log = { path = "../../../plugins/log", version = "2.8.0" }
|
||||||
tauri-plugin-fs = { path = "../../../plugins/fs", version = "2.5.1", features = [
|
tauri-plugin-fs = { path = "../../../plugins/fs", version = "2.4.5", features = [
|
||||||
"watch",
|
"watch",
|
||||||
] }
|
] }
|
||||||
tauri-plugin-clipboard-manager = { path = "../../../plugins/clipboard-manager", version = "2.3.2" }
|
tauri-plugin-clipboard-manager = { path = "../../../plugins/clipboard-manager", version = "2.3.2" }
|
||||||
tauri-plugin-dialog = { path = "../../../plugins/dialog", version = "2.7.1" }
|
tauri-plugin-dialog = { path = "../../../plugins/dialog", version = "2.6.0" }
|
||||||
tauri-plugin-http = { path = "../../../plugins/http", features = [
|
tauri-plugin-http = { path = "../../../plugins/http", features = [
|
||||||
"multipart",
|
"multipart",
|
||||||
"cookies",
|
"cookies",
|
||||||
], version = "2.5.9" }
|
], version = "2.5.7" }
|
||||||
tauri-plugin-notification = { path = "../../../plugins/notification", version = "2.3.3", features = [
|
tauri-plugin-notification = { path = "../../../plugins/notification", version = "2.3.3", features = [
|
||||||
"windows7-compat",
|
"windows7-compat",
|
||||||
] }
|
] }
|
||||||
tauri-plugin-os = { path = "../../../plugins/os", version = "2.3.2" }
|
tauri-plugin-os = { path = "../../../plugins/os", version = "2.3.2" }
|
||||||
tauri-plugin-process = { path = "../../../plugins/process", version = "2.3.1" }
|
tauri-plugin-process = { path = "../../../plugins/process", version = "2.3.1" }
|
||||||
tauri-plugin-opener = { path = "../../../plugins/opener", version = "2.5.4" }
|
tauri-plugin-opener = { path = "../../../plugins/opener", version = "2.5.3" }
|
||||||
tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.3.5" }
|
tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.3.5" }
|
||||||
tauri-plugin-store = { path = "../../../plugins/store", version = "2.4.3" }
|
tauri-plugin-store = { path = "../../../plugins/store", version = "2.4.2" }
|
||||||
tauri-plugin-upload = { path = "../../../plugins/upload", version = "2.3.0" }
|
tauri-plugin-upload = { path = "../../../plugins/upload", version = "2.3.0" }
|
||||||
|
tauri-runtime-wry = { workspace = true, optional = true, features = [
|
||||||
|
"macos-private-api",
|
||||||
|
] }
|
||||||
|
tauri-runtime-cef = { workspace = true, optional = true }
|
||||||
|
|
||||||
[dependencies.tauri]
|
[dependencies.tauri]
|
||||||
workspace = true
|
workspace = true
|
||||||
features = [
|
features = [
|
||||||
"wry",
|
|
||||||
"common-controls-v6",
|
|
||||||
"x11",
|
|
||||||
"image-ico",
|
"image-ico",
|
||||||
"image-png",
|
"image-png",
|
||||||
"isolation",
|
"isolation",
|
||||||
@@ -57,15 +58,18 @@ features = [
|
|||||||
[target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
|
[target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
|
||||||
tauri-plugin-cli = { path = "../../../plugins/cli", version = "2.4.1" }
|
tauri-plugin-cli = { path = "../../../plugins/cli", version = "2.4.1" }
|
||||||
tauri-plugin-global-shortcut = { path = "../../../plugins/global-shortcut", version = "2.3.1" }
|
tauri-plugin-global-shortcut = { path = "../../../plugins/global-shortcut", version = "2.3.1" }
|
||||||
tauri-plugin-updater = { path = "../../../plugins/updater", version = "2.10.1" }
|
tauri-plugin-updater = { path = "../../../plugins/updater", version = "2.10.0" }
|
||||||
tauri-plugin-window-state = { path = "../../../plugins/window-state", version = "2.2.0" }
|
tauri-plugin-window-state = { path = "../../../plugins/window-state", version = "2.2.0" }
|
||||||
|
|
||||||
[target."cfg(any(target_os = \"android\", target_os = \"ios\"))".dependencies]
|
[target."cfg(any(target_os = \"android\", target_os = \"ios\"))".dependencies]
|
||||||
tauri-plugin-barcode-scanner = { path = "../../../plugins/barcode-scanner/", version = "2.4.4" }
|
tauri-plugin-barcode-scanner = { path = "../../../plugins/barcode-scanner/", version = "2.4.4" }
|
||||||
tauri-plugin-nfc = { path = "../../../plugins/nfc", version = "2.3.5" }
|
tauri-plugin-nfc = { path = "../../../plugins/nfc", version = "2.3.4" }
|
||||||
tauri-plugin-biometric = { path = "../../../plugins/biometric/", version = "2.3.2" }
|
tauri-plugin-biometric = { path = "../../../plugins/biometric/", version = "2.3.2" }
|
||||||
tauri-plugin-geolocation = { path = "../../../plugins/geolocation/", version = "2.3.2" }
|
tauri-plugin-geolocation = { path = "../../../plugins/geolocation/", version = "2.3.2" }
|
||||||
tauri-plugin-haptics = { path = "../../../plugins/haptics/", version = "2.3.2" }
|
tauri-plugin-haptics = { path = "../../../plugins/haptics/", version = "2.3.2" }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
default = ["wry"]
|
||||||
|
wry = ["dep:tauri-runtime-wry"]
|
||||||
|
cef = ["dep:tauri-runtime-cef"]
|
||||||
prod = ["tauri/custom-protocol"]
|
prod = ["tauri/custom-protocol"]
|
||||||
|
|||||||
@@ -6,6 +6,11 @@ mod cmd;
|
|||||||
#[cfg(desktop)]
|
#[cfg(desktop)]
|
||||||
mod tray;
|
mod tray;
|
||||||
|
|
||||||
|
#[cfg(feature = "cef")]
|
||||||
|
type TauriRuntime = tauri_runtime_cef::CefRuntime<tauri::EventLoopMessage>;
|
||||||
|
#[cfg(feature = "wry")]
|
||||||
|
type TauriRuntime = tauri_runtime_wry::Wry<tauri::EventLoopMessage>;
|
||||||
|
|
||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
use tauri::{
|
use tauri::{
|
||||||
webview::{PageLoadEvent, WebviewWindowBuilder},
|
webview::{PageLoadEvent, WebviewWindowBuilder},
|
||||||
@@ -17,13 +22,13 @@ struct Reply {
|
|||||||
data: String,
|
data: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub type SetupHook = Box<dyn FnOnce(&mut App) -> Result<(), Box<dyn std::error::Error>> + Send>;
|
pub type SetupHook<R> = Box<dyn FnOnce(&mut App<R>) -> Result<(), Box<dyn std::error::Error>> + Send>;
|
||||||
pub type OnEvent = Box<dyn FnMut(&AppHandle, RunEvent)>;
|
pub type OnEvent<R> = Box<dyn FnMut(&AppHandle<R>, RunEvent)>;
|
||||||
|
|
||||||
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
||||||
pub fn run() {
|
pub fn run() {
|
||||||
#[allow(unused_mut)]
|
#[allow(unused_mut)]
|
||||||
let mut builder = tauri::Builder::default()
|
let mut builder = tauri::Builder::<TauriRuntime>::new()
|
||||||
.plugin(
|
.plugin(
|
||||||
tauri_plugin_log::Builder::default()
|
tauri_plugin_log::Builder::default()
|
||||||
.level(log::LevelFilter::Info)
|
.level(log::LevelFilter::Info)
|
||||||
|
|||||||
+4
-4
@@ -15,14 +15,14 @@
|
|||||||
"@rollup/plugin-node-resolve": "16.0.3",
|
"@rollup/plugin-node-resolve": "16.0.3",
|
||||||
"@rollup/plugin-terser": "1.0.0",
|
"@rollup/plugin-terser": "1.0.0",
|
||||||
"@rollup/plugin-typescript": "12.3.0",
|
"@rollup/plugin-typescript": "12.3.0",
|
||||||
"eslint": "10.2.0",
|
"eslint": "10.0.2",
|
||||||
"eslint-config-prettier": "10.1.8",
|
"eslint-config-prettier": "10.1.8",
|
||||||
"eslint-plugin-security": "4.0.0",
|
"eslint-plugin-security": "4.0.0",
|
||||||
"prettier": "3.8.1",
|
"prettier": "3.8.1",
|
||||||
"rollup": "4.60.3",
|
"rollup": "4.59.0",
|
||||||
"tslib": "2.8.1",
|
"tslib": "2.8.1",
|
||||||
"typescript": "6.0.3",
|
"typescript": "5.9.3",
|
||||||
"typescript-eslint": "8.58.2"
|
"typescript-eslint": "8.56.1"
|
||||||
},
|
},
|
||||||
"minimumReleaseAge": 4320,
|
"minimumReleaseAge": 4320,
|
||||||
"pnpm": {
|
"pnpm": {
|
||||||
|
|||||||
@@ -24,6 +24,6 @@
|
|||||||
"LICENSE"
|
"LICENSE"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tauri-apps/api": "^2.11.0"
|
"@tauri-apps/api": "^2.10.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
# Automatically generated - DO NOT EDIT!
|
|
||||||
|
|
||||||
"$schema" = "../../schemas/schema.json"
|
|
||||||
|
|
||||||
commands = ["enable","disable","is_enabled"]
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-disable"
|
||||||
|
description = "Enables the disable command without any pre-configured scope."
|
||||||
|
commands.allow = ["disable"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-disable"
|
||||||
|
description = "Denies the disable command without any pre-configured scope."
|
||||||
|
commands.deny = ["disable"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-enable"
|
||||||
|
description = "Enables the enable command without any pre-configured scope."
|
||||||
|
commands.allow = ["enable"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-enable"
|
||||||
|
description = "Denies the enable command without any pre-configured scope."
|
||||||
|
commands.deny = ["enable"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-is-enabled"
|
||||||
|
description = "Enables the is_enabled command without any pre-configured scope."
|
||||||
|
commands.allow = ["is_enabled"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-is-enabled"
|
||||||
|
description = "Denies the is_enabled command without any pre-configured scope."
|
||||||
|
commands.deny = ["is_enabled"]
|
||||||
@@ -29,13 +29,6 @@
|
|||||||
"$ref": "#/definitions/Permission"
|
"$ref": "#/definitions/Permission"
|
||||||
},
|
},
|
||||||
"default": []
|
"default": []
|
||||||
},
|
|
||||||
"commands": {
|
|
||||||
"description": "A list of command names that get `allow-$command` and `deny-$command` permissions\nautogenerated on demand instead of being stored as explicit permissions.\n\nSee [`Manifest::command_permission`] and the ACL resolver for how these are expanded.",
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"definitions": {
|
"definitions": {
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
{
|
{
|
||||||
"extends": "../../tsconfig.base.json",
|
"extends": "../../tsconfig.base.json",
|
||||||
"compilerOptions": {
|
|
||||||
"rootDir": "guest-js"
|
|
||||||
},
|
|
||||||
"include": ["guest-js/*.ts"]
|
"include": ["guest-js/*.ts"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,4 +31,4 @@ log = { workspace = true }
|
|||||||
thiserror = { workspace = true }
|
thiserror = { workspace = true }
|
||||||
|
|
||||||
[target.'cfg(target_os = "ios")'.dependencies]
|
[target.'cfg(target_os = "ios")'.dependencies]
|
||||||
tauri = { workspace = true, features = ["wry"] }
|
tauri = { workspace = true }
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
if("__TAURI__"in window){var __TAURI_PLUGIN_BARCODE_SCANNER__=function(n){"use strict";async function a(n,a={},e){return window.__TAURI_INTERNALS__.invoke(n,a,e)}var e;return"function"==typeof SuppressedError&&SuppressedError,n.Format=void 0,(e=n.Format||(n.Format={})).QRCode="QR_CODE",e.UPC_A="UPC_A",e.UPC_E="UPC_E",e.EAN8="EAN_8",e.EAN13="EAN_13",e.Code39="CODE_39",e.Code93="CODE_93",e.Code128="CODE_128",e.Codabar="CODABAR",e.ITF="ITF",e.Aztec="AZTEC",e.DataMatrix="DATA_MATRIX",e.PDF417="PDF_417",e.GS1DataBar="GS1_DATA_BAR",e.GS1DataBarLimited="GS1_DATA_BAR_LIMITED",e.GS1DataBarExpanded="GS1_DATA_BAR_EXPANDED",n.cancel=async function(){await a("plugin:barcode-scanner|cancel")},n.checkPermissions=async function(){return await async function(n){return a(`plugin:${n}|check_permissions`)}("barcode-scanner").then(n=>n.camera)},n.openAppSettings=async function(){await a("plugin:barcode-scanner|open_app_settings")},n.requestPermissions=async function(){return await async function(n){return a(`plugin:${n}|request_permissions`)}("barcode-scanner").then(n=>n.camera)},n.scan=async function(n){return await a("plugin:barcode-scanner|scan",{...n})},n}({});Object.defineProperty(window.__TAURI__,"barcodeScanner",{value:__TAURI_PLUGIN_BARCODE_SCANNER__})}
|
if("__TAURI__"in window){var __TAURI_PLUGIN_BARCODE_SCANNER__=function(n){"use strict";async function a(n,a={},e){return window.__TAURI_INTERNALS__.invoke(n,a,e)}var e;return"function"==typeof SuppressedError&&SuppressedError,n.Format=void 0,(e=n.Format||(n.Format={})).QRCode="QR_CODE",e.UPC_A="UPC_A",e.UPC_E="UPC_E",e.EAN8="EAN_8",e.EAN13="EAN_13",e.Code39="CODE_39",e.Code93="CODE_93",e.Code128="CODE_128",e.Codabar="CODABAR",e.ITF="ITF",e.Aztec="AZTEC",e.DataMatrix="DATA_MATRIX",e.PDF417="PDF_417",e.GS1DataBar="GS1_DATA_BAR",e.GS1DataBarLimited="GS1_DATA_BAR_LIMITED",e.GS1DataBarExpanded="GS1_DATA_BAR_EXPANDED",n.cancel=async function(){await a("plugin:barcode-scanner|cancel")},n.checkPermissions=async function(){return await async function(n){return a(`plugin:${n}|check_permissions`)}("barcode-scanner").then((n=>n.camera))},n.openAppSettings=async function(){await a("plugin:barcode-scanner|open_app_settings")},n.requestPermissions=async function(){return await async function(n){return a(`plugin:${n}|request_permissions`)}("barcode-scanner").then((n=>n.camera))},n.scan=async function(n){return await a("plugin:barcode-scanner|scan",{...n})},n}({});Object.defineProperty(window.__TAURI__,"barcodeScanner",{value:__TAURI_PLUGIN_BARCODE_SCANNER__})}
|
||||||
|
|||||||
@@ -25,6 +25,6 @@
|
|||||||
"LICENSE"
|
"LICENSE"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tauri-apps/api": "^2.11.0"
|
"@tauri-apps/api": "^2.10.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-cancel"
|
||||||
|
description = "Enables the cancel command without any pre-configured scope."
|
||||||
|
commands.allow = ["cancel"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-cancel"
|
||||||
|
description = "Denies the cancel command without any pre-configured scope."
|
||||||
|
commands.deny = ["cancel"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-check-permissions"
|
||||||
|
description = "Enables the check_permissions command without any pre-configured scope."
|
||||||
|
commands.allow = ["check_permissions"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-check-permissions"
|
||||||
|
description = "Denies the check_permissions command without any pre-configured scope."
|
||||||
|
commands.deny = ["check_permissions"]
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Automatically generated - DO NOT EDIT!
|
|
||||||
|
|
||||||
"$schema" = "../../schemas/schema.json"
|
|
||||||
|
|
||||||
commands = ["scan","cancel","request_permissions","check_permissions","open_app_settings","vibrate"]
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-open-app-settings"
|
||||||
|
description = "Enables the open_app_settings command without any pre-configured scope."
|
||||||
|
commands.allow = ["open_app_settings"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-open-app-settings"
|
||||||
|
description = "Denies the open_app_settings command without any pre-configured scope."
|
||||||
|
commands.deny = ["open_app_settings"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-request-permissions"
|
||||||
|
description = "Enables the request_permissions command without any pre-configured scope."
|
||||||
|
commands.allow = ["request_permissions"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-request-permissions"
|
||||||
|
description = "Denies the request_permissions command without any pre-configured scope."
|
||||||
|
commands.deny = ["request_permissions"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-scan"
|
||||||
|
description = "Enables the scan command without any pre-configured scope."
|
||||||
|
commands.allow = ["scan"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-scan"
|
||||||
|
description = "Denies the scan command without any pre-configured scope."
|
||||||
|
commands.deny = ["scan"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-vibrate"
|
||||||
|
description = "Enables the vibrate command without any pre-configured scope."
|
||||||
|
commands.allow = ["vibrate"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-vibrate"
|
||||||
|
description = "Denies the vibrate command without any pre-configured scope."
|
||||||
|
commands.deny = ["vibrate"]
|
||||||
@@ -29,13 +29,6 @@
|
|||||||
"$ref": "#/definitions/Permission"
|
"$ref": "#/definitions/Permission"
|
||||||
},
|
},
|
||||||
"default": []
|
"default": []
|
||||||
},
|
|
||||||
"commands": {
|
|
||||||
"description": "A list of command names that get `allow-$command` and `deny-$command` permissions\nautogenerated on demand instead of being stored as explicit permissions.\n\nSee [`Manifest::command_permission`] and the ACL resolver for how these are expanded.",
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"definitions": {
|
"definitions": {
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
{
|
{
|
||||||
"extends": "../../tsconfig.base.json",
|
"extends": "../../tsconfig.base.json",
|
||||||
"compilerOptions": {
|
|
||||||
"rootDir": "guest-js"
|
|
||||||
},
|
|
||||||
"include": ["guest-js/*.ts"]
|
"include": ["guest-js/*.ts"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,6 @@
|
|||||||
"LICENSE"
|
"LICENSE"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tauri-apps/api": "^2.11.0"
|
"@tauri-apps/api": "^2.10.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-authenticate"
|
||||||
|
description = "Enables the authenticate command without any pre-configured scope."
|
||||||
|
commands.allow = ["authenticate"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-authenticate"
|
||||||
|
description = "Denies the authenticate command without any pre-configured scope."
|
||||||
|
commands.deny = ["authenticate"]
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Automatically generated - DO NOT EDIT!
|
|
||||||
|
|
||||||
"$schema" = "../../schemas/schema.json"
|
|
||||||
|
|
||||||
commands = ["authenticate","status"]
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-status"
|
||||||
|
description = "Enables the status command without any pre-configured scope."
|
||||||
|
commands.allow = ["status"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-status"
|
||||||
|
description = "Denies the status command without any pre-configured scope."
|
||||||
|
commands.deny = ["status"]
|
||||||
@@ -29,13 +29,6 @@
|
|||||||
"$ref": "#/definitions/Permission"
|
"$ref": "#/definitions/Permission"
|
||||||
},
|
},
|
||||||
"default": []
|
"default": []
|
||||||
},
|
|
||||||
"commands": {
|
|
||||||
"description": "A list of command names that get `allow-$command` and `deny-$command` permissions\nautogenerated on demand instead of being stored as explicit permissions.\n\nSee [`Manifest::command_permission`] and the ACL resolver for how these are expanded.",
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"definitions": {
|
"definitions": {
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
{
|
{
|
||||||
"extends": "../../tsconfig.base.json",
|
"extends": "../../tsconfig.base.json",
|
||||||
"compilerOptions": {
|
|
||||||
"rootDir": "guest-js"
|
|
||||||
},
|
|
||||||
"include": ["guest-js/*.ts"]
|
"include": ["guest-js/*.ts"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,6 @@
|
|||||||
"LICENSE"
|
"LICENSE"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tauri-apps/api": "^2.11.0"
|
"@tauri-apps/api": "^2.10.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-cli-matches"
|
||||||
|
description = "Enables the cli_matches command without any pre-configured scope."
|
||||||
|
commands.allow = ["cli_matches"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-cli-matches"
|
||||||
|
description = "Denies the cli_matches command without any pre-configured scope."
|
||||||
|
commands.deny = ["cli_matches"]
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Automatically generated - DO NOT EDIT!
|
|
||||||
|
|
||||||
"$schema" = "../../schemas/schema.json"
|
|
||||||
|
|
||||||
commands = ["cli_matches"]
|
|
||||||
@@ -29,13 +29,6 @@
|
|||||||
"$ref": "#/definitions/Permission"
|
"$ref": "#/definitions/Permission"
|
||||||
},
|
},
|
||||||
"default": []
|
"default": []
|
||||||
},
|
|
||||||
"commands": {
|
|
||||||
"description": "A list of command names that get `allow-$command` and `deny-$command` permissions\nautogenerated on demand instead of being stored as explicit permissions.\n\nSee [`Manifest::command_permission`] and the ACL resolver for how these are expanded.",
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"definitions": {
|
"definitions": {
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
{
|
{
|
||||||
"extends": "../../tsconfig.base.json",
|
"extends": "../../tsconfig.base.json",
|
||||||
"compilerOptions": {
|
|
||||||
"rootDir": "guest-js"
|
|
||||||
},
|
|
||||||
"include": ["guest-js/*.ts"]
|
"include": ["guest-js/*.ts"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ log = { workspace = true }
|
|||||||
thiserror = { workspace = true }
|
thiserror = { workspace = true }
|
||||||
|
|
||||||
[target.'cfg(target_os = "ios")'.dependencies]
|
[target.'cfg(target_os = "ios")'.dependencies]
|
||||||
tauri = { workspace = true, features = ["wry"] }
|
tauri = { workspace = true }
|
||||||
|
|
||||||
[target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
|
[target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
|
||||||
arboard = { version = "3", features = ["wayland-data-control"] }
|
arboard = { version = "3", features = ["wayland-data-control"] }
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
if("__TAURI__"in window){var __TAURI_PLUGIN_CLIPBOARD_MANAGER__=function(e){"use strict";var n;async function t(e,n={},t){return window.__TAURI_INTERNALS__.invoke(e,n,t)}"function"==typeof SuppressedError&&SuppressedError;class r{get rid(){return function(e,n,t,r){if("function"==typeof n?e!==n||!r:!n.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?r:"a"===t?r.call(e):r?r.value:n.get(e)}(this,n,"f")}constructor(e){n.set(this,void 0),function(e,n,t){if("function"==typeof n||!n.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");n.set(e,t)}(this,n,e)}async close(){return t("plugin:resources|close",{rid:this.rid})}}n=new WeakMap;class a extends r{constructor(e){super(e)}static async new(e,n,r){return t("plugin:image|new",{rgba:i(e),width:n,height:r}).then(e=>new a(e))}static async fromBytes(e){return t("plugin:image|from_bytes",{bytes:i(e)}).then(e=>new a(e))}static async fromPath(e){return t("plugin:image|from_path",{path:e}).then(e=>new a(e))}async rgba(){return t("plugin:image|rgba",{rid:this.rid}).then(e=>new Uint8Array(e))}async size(){return t("plugin:image|size",{rid:this.rid})}}function i(e){return null==e?null:"string"==typeof e?e:e instanceof a?e.rid:e}return e.clear=async function(){await t("plugin:clipboard-manager|clear")},e.readImage=async function(){return await t("plugin:clipboard-manager|read_image").then(e=>new a(e))},e.readText=async function(){return await t("plugin:clipboard-manager|read_text")},e.writeHtml=async function(e,n){await t("plugin:clipboard-manager|write_html",{html:e,altText:n})},e.writeImage=async function(e){await t("plugin:clipboard-manager|write_image",{image:i(e)})},e.writeText=async function(e,n){await t("plugin:clipboard-manager|write_text",{label:n?.label,text:e})},e}({});Object.defineProperty(window.__TAURI__,"clipboardManager",{value:__TAURI_PLUGIN_CLIPBOARD_MANAGER__})}
|
if("__TAURI__"in window){var __TAURI_PLUGIN_CLIPBOARD_MANAGER__=function(e){"use strict";var n;async function t(e,n={},t){return window.__TAURI_INTERNALS__.invoke(e,n,t)}"function"==typeof SuppressedError&&SuppressedError;class r{get rid(){return function(e,n,t,r){if("function"==typeof n?e!==n||!r:!n.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?r:"a"===t?r.call(e):r?r.value:n.get(e)}(this,n,"f")}constructor(e){n.set(this,void 0),function(e,n,t){if("function"==typeof n||!n.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");n.set(e,t)}(this,n,e)}async close(){return t("plugin:resources|close",{rid:this.rid})}}n=new WeakMap;class a extends r{constructor(e){super(e)}static async new(e,n,r){return t("plugin:image|new",{rgba:i(e),width:n,height:r}).then((e=>new a(e)))}static async fromBytes(e){return t("plugin:image|from_bytes",{bytes:i(e)}).then((e=>new a(e)))}static async fromPath(e){return t("plugin:image|from_path",{path:e}).then((e=>new a(e)))}async rgba(){return t("plugin:image|rgba",{rid:this.rid}).then((e=>new Uint8Array(e)))}async size(){return t("plugin:image|size",{rid:this.rid})}}function i(e){return null==e?null:"string"==typeof e?e:e instanceof a?e.rid:e}return e.clear=async function(){await t("plugin:clipboard-manager|clear")},e.readImage=async function(){return await t("plugin:clipboard-manager|read_image").then((e=>new a(e)))},e.readText=async function(){return await t("plugin:clipboard-manager|read_text")},e.writeHtml=async function(e,n){await t("plugin:clipboard-manager|write_html",{html:e,altText:n})},e.writeImage=async function(e){await t("plugin:clipboard-manager|write_image",{image:i(e)})},e.writeText=async function(e,n){await t("plugin:clipboard-manager|write_text",{label:n?.label,text:e})},e}({});Object.defineProperty(window.__TAURI__,"clipboardManager",{value:__TAURI_PLUGIN_CLIPBOARD_MANAGER__})}
|
||||||
|
|||||||
@@ -24,6 +24,6 @@
|
|||||||
"LICENSE"
|
"LICENSE"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tauri-apps/api": "^2.11.0"
|
"@tauri-apps/api": "^2.10.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-clear"
|
||||||
|
description = "Enables the clear command without any pre-configured scope."
|
||||||
|
commands.allow = ["clear"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-clear"
|
||||||
|
description = "Denies the clear command without any pre-configured scope."
|
||||||
|
commands.deny = ["clear"]
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Automatically generated - DO NOT EDIT!
|
|
||||||
|
|
||||||
"$schema" = "../../schemas/schema.json"
|
|
||||||
|
|
||||||
commands = ["write_text","read_text","write_image","read_image","write_html","clear"]
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-read-image"
|
||||||
|
description = "Enables the read_image command without any pre-configured scope."
|
||||||
|
commands.allow = ["read_image"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-read-image"
|
||||||
|
description = "Denies the read_image command without any pre-configured scope."
|
||||||
|
commands.deny = ["read_image"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-read-text"
|
||||||
|
description = "Enables the read_text command without any pre-configured scope."
|
||||||
|
commands.allow = ["read_text"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-read-text"
|
||||||
|
description = "Denies the read_text command without any pre-configured scope."
|
||||||
|
commands.deny = ["read_text"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-write-html"
|
||||||
|
description = "Enables the write_html command without any pre-configured scope."
|
||||||
|
commands.allow = ["write_html"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-write-html"
|
||||||
|
description = "Denies the write_html command without any pre-configured scope."
|
||||||
|
commands.deny = ["write_html"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-write-image"
|
||||||
|
description = "Enables the write_image command without any pre-configured scope."
|
||||||
|
commands.allow = ["write_image"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-write-image"
|
||||||
|
description = "Denies the write_image command without any pre-configured scope."
|
||||||
|
commands.deny = ["write_image"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-write-text"
|
||||||
|
description = "Enables the write_text command without any pre-configured scope."
|
||||||
|
commands.allow = ["write_text"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-write-text"
|
||||||
|
description = "Denies the write_text command without any pre-configured scope."
|
||||||
|
commands.deny = ["write_text"]
|
||||||
@@ -29,13 +29,6 @@
|
|||||||
"$ref": "#/definitions/Permission"
|
"$ref": "#/definitions/Permission"
|
||||||
},
|
},
|
||||||
"default": []
|
"default": []
|
||||||
},
|
|
||||||
"commands": {
|
|
||||||
"description": "A list of command names that get `allow-$command` and `deny-$command` permissions\nautogenerated on demand instead of being stored as explicit permissions.\n\nSee [`Manifest::command_permission`] and the ACL resolver for how these are expanded.",
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"definitions": {
|
"definitions": {
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
{
|
{
|
||||||
"extends": "../../tsconfig.base.json",
|
"extends": "../../tsconfig.base.json",
|
||||||
"compilerOptions": {
|
|
||||||
"rootDir": "guest-js"
|
|
||||||
},
|
|
||||||
"include": ["guest-js/*.ts"]
|
"include": ["guest-js/*.ts"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,5 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## \[2.4.9]
|
|
||||||
|
|
||||||
- [`e6cdc9f5`](https://github.com/tauri-apps/plugins-workspace/commit/e6cdc9f52e2cd975b11b8e4c12879d597f1f76c3) ([#3396](https://github.com/tauri-apps/plugins-workspace/pull/3396) by [@Legend-Master](https://github.com/tauri-apps/plugins-workspace/../../Legend-Master)) Fix broken iOS custom URL schemes
|
|
||||||
|
|
||||||
## \[2.4.8]
|
|
||||||
|
|
||||||
- [`024ec0c2`](https://github.com/tauri-apps/plugins-workspace/commit/024ec0c29c20cf94579dab9b79d6be0da61a8daa) ([#3214](https://github.com/tauri-apps/plugins-workspace/pull/3214) by [@joshIsCoding](https://github.com/tauri-apps/plugins-workspace/../../joshIsCoding)) Account for differing Android VIEW intent in ChromeOS, fixing deep-link behaviour on Chromium platforms.
|
|
||||||
- [`015e817c`](https://github.com/tauri-apps/plugins-workspace/commit/015e817cf2d7f66c1b9268606af8318dfe0bc4ee) ([#3186](https://github.com/tauri-apps/plugins-workspace/pull/3186) by [@lucasfernog](https://github.com/tauri-apps/plugins-workspace/../../lucasfernog)) Validate Android new intent is actually a deep link before triggering the onOpenUrl event.
|
|
||||||
|
|
||||||
## \[2.4.7]
|
## \[2.4.7]
|
||||||
|
|
||||||
- [`8374e997`](https://github.com/tauri-apps/plugins-workspace/commit/8374e997b82c95516fc0c1f6d665d9fc3b52edf8) ([#3258](https://github.com/tauri-apps/plugins-workspace/pull/3258) by [@lucasfernog](https://github.com/tauri-apps/plugins-workspace/../../lucasfernog)) Fix runtime deep link registration failing on Linux when the app path has spaces.
|
- [`8374e997`](https://github.com/tauri-apps/plugins-workspace/commit/8374e997b82c95516fc0c1f6d665d9fc3b52edf8) ([#3258](https://github.com/tauri-apps/plugins-workspace/pull/3258) by [@lucasfernog](https://github.com/tauri-apps/plugins-workspace/../../lucasfernog)) Fix runtime deep link registration failing on Linux when the app path has spaces.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "tauri-plugin-deep-link"
|
name = "tauri-plugin-deep-link"
|
||||||
version = "2.4.9"
|
version = "2.4.7"
|
||||||
description = "Set your Tauri application as the default handler for an URL"
|
description = "Set your Tauri application as the default handler for an URL"
|
||||||
authors = { workspace = true }
|
authors = { workspace = true }
|
||||||
license = { workspace = true }
|
license = { workspace = true }
|
||||||
|
|||||||
@@ -44,14 +44,11 @@ class DeepLinkPlugin(private val activity: Activity): Plugin(activity) {
|
|||||||
private var currentUrl: String? = null
|
private var currentUrl: String? = null
|
||||||
private var channel: Channel? = null
|
private var channel: Channel? = null
|
||||||
private var config: PluginConfig? = null
|
private var config: PluginConfig? = null
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
var instance: DeepLinkPlugin? = null
|
var instance: DeepLinkPlugin? = null
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun isViewIntent(action: String?): Boolean {
|
|
||||||
return action == Intent.ACTION_VIEW || action == "org.chromium.arc.intent.action.VIEW"
|
|
||||||
}
|
|
||||||
|
|
||||||
@Command
|
@Command
|
||||||
fun getCurrent(invoke: Invoke) {
|
fun getCurrent(invoke: Invoke) {
|
||||||
val ret = JSObject()
|
val ret = JSObject()
|
||||||
@@ -77,7 +74,7 @@ class DeepLinkPlugin(private val activity: Activity): Plugin(activity) {
|
|||||||
|
|
||||||
val intent = activity.intent
|
val intent = activity.intent
|
||||||
|
|
||||||
if (isViewIntent(intent.action) && intent.data != null) {
|
if (intent.action == Intent.ACTION_VIEW && intent.data != null) {
|
||||||
val url = intent.data.toString()
|
val url = intent.data.toString()
|
||||||
if (isDeepLink(url)) {
|
if (isDeepLink(url)) {
|
||||||
// TODO: check if it makes sense to split up init url and last url
|
// TODO: check if it makes sense to split up init url and last url
|
||||||
@@ -90,7 +87,7 @@ class DeepLinkPlugin(private val activity: Activity): Plugin(activity) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onNewIntent(intent: Intent) {
|
override fun onNewIntent(intent: Intent) {
|
||||||
if (isViewIntent(intent.action) && intent.data != null) {
|
if (intent.action == Intent.ACTION_VIEW && intent.data != null) {
|
||||||
val url = intent.data.toString()
|
val url = intent.data.toString()
|
||||||
if (isDeepLink(url)) {
|
if (isDeepLink(url)) {
|
||||||
this.currentUrl = url
|
this.currentUrl = url
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
if("__TAURI__"in window){var __TAURI_PLUGIN_DEEP_LINK__=function(e){"use strict";function n(e,n=!1){return window.__TAURI_INTERNALS__.transformCallback(e,n)}async function r(e,n={},r){return window.__TAURI_INTERNALS__.invoke(e,n,r)}var t;async function i(e,t,i){const _={kind:"Any"};return r("plugin:event|listen",{event:e,target:_,handler:n(t)}).then(n=>async()=>async function(e,n){window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(e,n),await r("plugin:event|unlisten",{event:e,eventId:n})}(e,n))}return"function"==typeof SuppressedError&&SuppressedError,function(e){e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WINDOW_CREATED="tauri://window-created",e.WINDOW_SUSPENDED="tauri://suspended",e.WINDOW_RESUMED="tauri://resumed",e.WEBVIEW_CREATED="tauri://webview-created",e.DRAG_ENTER="tauri://drag-enter",e.DRAG_OVER="tauri://drag-over",e.DRAG_DROP="tauri://drag-drop",e.DRAG_LEAVE="tauri://drag-leave"}(t||(t={})),e.getCurrent=async function(){return await r("plugin:deep-link|get_current")},e.isRegistered=async function(e){return await r("plugin:deep-link|is_registered",{protocol:e})},e.onOpenUrl=async function(e){return await i("deep-link://new-url",n=>{e(n.payload)})},e.register=async function(e){return await r("plugin:deep-link|register",{protocol:e})},e.unregister=async function(e){return await r("plugin:deep-link|unregister",{protocol:e})},e}({});Object.defineProperty(window.__TAURI__,"deepLink",{value:__TAURI_PLUGIN_DEEP_LINK__})}
|
if("__TAURI__"in window){var __TAURI_PLUGIN_DEEP_LINK__=function(e){"use strict";function n(e,n=!1){return window.__TAURI_INTERNALS__.transformCallback(e,n)}async function r(e,n={},r){return window.__TAURI_INTERNALS__.invoke(e,n,r)}var t;async function i(e,t,i){const _={kind:"Any"};return r("plugin:event|listen",{event:e,target:_,handler:n(t)}).then((n=>async()=>async function(e,n){window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(e,n),await r("plugin:event|unlisten",{event:e,eventId:n})}(e,n)))}return"function"==typeof SuppressedError&&SuppressedError,function(e){e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WINDOW_CREATED="tauri://window-created",e.WEBVIEW_CREATED="tauri://webview-created",e.DRAG_ENTER="tauri://drag-enter",e.DRAG_OVER="tauri://drag-over",e.DRAG_DROP="tauri://drag-drop",e.DRAG_LEAVE="tauri://drag-leave"}(t||(t={})),e.getCurrent=async function(){return await r("plugin:deep-link|get_current")},e.isRegistered=async function(e){return await r("plugin:deep-link|is_registered",{protocol:e})},e.onOpenUrl=async function(e){return await i("deep-link://new-url",(n=>{e(n.payload)}))},e.register=async function(e){return await r("plugin:deep-link|register",{protocol:e})},e.unregister=async function(e){return await r("plugin:deep-link|unregister",{protocol:e})},e}({});Object.defineProperty(window.__TAURI__,"deepLink",{value:__TAURI_PLUGIN_DEEP_LINK__})}
|
||||||
|
|||||||
@@ -25,8 +25,6 @@ fn intent_filter(domain: &AssociatedDomain) -> String {
|
|||||||
format!(
|
format!(
|
||||||
r#"<intent-filter {auto_verify}>
|
r#"<intent-filter {auto_verify}>
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
<!-- ChromeOS ARC++ uses a different action for deep links -->
|
|
||||||
<action android:name="org.chromium.arc.intent.action.VIEW" />
|
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
<category android:name="android.intent.category.BROWSABLE" />
|
<category android:name="android.intent.category.BROWSABLE" />
|
||||||
{schemes}
|
{schemes}
|
||||||
@@ -139,7 +137,7 @@ fn main() {
|
|||||||
let deep_link_domains = config
|
let deep_link_domains = config
|
||||||
.mobile
|
.mobile
|
||||||
.iter()
|
.iter()
|
||||||
.filter(|domain| !domain.is_app_link())
|
.filter(|domain| domain.is_app_link())
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
|
||||||
if deep_link_domains.is_empty() {
|
if deep_link_domains.is_empty() {
|
||||||
|
|||||||
@@ -1,17 +1,5 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## \[2.2.12]
|
|
||||||
|
|
||||||
### Dependencies
|
|
||||||
|
|
||||||
- Upgraded to `deep-link-js@2.4.9`
|
|
||||||
|
|
||||||
## \[2.2.11]
|
|
||||||
|
|
||||||
### Dependencies
|
|
||||||
|
|
||||||
- Upgraded to `deep-link-js@2.4.8`
|
|
||||||
|
|
||||||
## \[2.2.10]
|
## \[2.2.10]
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "deep-link-example",
|
"name": "deep-link-example",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "2.2.12",
|
"version": "2.2.10",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
@@ -10,12 +10,12 @@
|
|||||||
"tauri": "tauri"
|
"tauri": "tauri"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tauri-apps/api": "^2.11.0",
|
"@tauri-apps/api": "^2.10.1",
|
||||||
"@tauri-apps/plugin-deep-link": "2.4.9"
|
"@tauri-apps/plugin-deep-link": "2.4.7"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tauri-apps/cli-cef": "3.0.0-alpha.5",
|
"@tauri-apps/cli": "2.10.1",
|
||||||
"typescript": "^6.0.0",
|
"typescript": "^5.7.3",
|
||||||
"vite": "^8.0.1"
|
"vite": "^7.3.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,9 @@ tauri-build = { workspace = true }
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
serde = { workspace = true }
|
serde = { workspace = true }
|
||||||
serde_json = { workspace = true }
|
serde_json = { workspace = true }
|
||||||
tauri = { workspace = true, features = ["wry", "common-controls-v6", "x11"] }
|
tauri = { workspace = true }
|
||||||
|
tauri-runtime-wry = { workspace = true, optional = true }
|
||||||
|
tauri-runtime-cef = { workspace = true, optional = true }
|
||||||
tauri-plugin-deep-link = { path = "../../../" }
|
tauri-plugin-deep-link = { path = "../../../" }
|
||||||
tauri-plugin-log = { path = "../../../../log" }
|
tauri-plugin-log = { path = "../../../../log" }
|
||||||
tauri-plugin-single-instance = { path = "../../../../single-instance", features = [
|
tauri-plugin-single-instance = { path = "../../../../single-instance", features = [
|
||||||
@@ -28,6 +30,9 @@ tauri-plugin-single-instance = { path = "../../../../single-instance", features
|
|||||||
log = "0.4"
|
log = "0.4"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
default = ["wry"]
|
||||||
|
wry = ["dep:tauri-runtime-wry"]
|
||||||
|
cef = ["dep:tauri-runtime-cef"]
|
||||||
# this feature is used for production builds or when `devUrl` points to the filesystem and the built-in dev server is disabled.
|
# this feature is used for production builds or when `devUrl` points to the filesystem and the built-in dev server is disabled.
|
||||||
# If you use cargo directly instead of tauri's cli you can use this feature flag to switch between tauri's `dev` and `build` modes.
|
# If you use cargo directly instead of tauri's cli you can use this feature flag to switch between tauri's `dev` and `build` modes.
|
||||||
# DO NOT REMOVE!!
|
# DO NOT REMOVE!!
|
||||||
|
|||||||
@@ -2,6 +2,11 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
#[cfg(feature = "cef")]
|
||||||
|
type TauriRuntime = tauri_runtime_cef::CefRuntime<tauri::EventLoopMessage>;
|
||||||
|
#[cfg(feature = "wry")]
|
||||||
|
type TauriRuntime = tauri_runtime_wry::Wry<tauri::EventLoopMessage>;
|
||||||
|
|
||||||
use tauri_plugin_deep_link::DeepLinkExt;
|
use tauri_plugin_deep_link::DeepLinkExt;
|
||||||
|
|
||||||
// Learn more about Tauri commands at https://tauri.app/v1/guides/features/command
|
// Learn more about Tauri commands at https://tauri.app/v1/guides/features/command
|
||||||
@@ -13,7 +18,7 @@ fn greet(name: &str) -> String {
|
|||||||
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
||||||
pub fn run() {
|
pub fn run() {
|
||||||
#[allow(unused_mut)]
|
#[allow(unused_mut)]
|
||||||
let mut builder = tauri::Builder::default();
|
let mut builder = tauri::Builder::<TauriRuntime>::new();
|
||||||
|
|
||||||
#[cfg(desktop)]
|
#[cfg(desktop)]
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@tauri-apps/plugin-deep-link",
|
"name": "@tauri-apps/plugin-deep-link",
|
||||||
"version": "2.4.9",
|
"version": "2.4.7",
|
||||||
"description": "Set your Tauri application as the default handler for an URL",
|
"description": "Set your Tauri application as the default handler for an URL",
|
||||||
"license": "MIT OR Apache-2.0",
|
"license": "MIT OR Apache-2.0",
|
||||||
"authors": [
|
"authors": [
|
||||||
@@ -25,9 +25,9 @@
|
|||||||
"LICENSE"
|
"LICENSE"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tauri-apps/api": "^2.11.0"
|
"@tauri-apps/api": "^2.10.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tauri-apps/cli-cef": "3.0.0-alpha.5"
|
"@tauri-apps/cli": "2.10.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
# Automatically generated - DO NOT EDIT!
|
|
||||||
|
|
||||||
"$schema" = "../../schemas/schema.json"
|
|
||||||
|
|
||||||
commands = ["get_current","register","unregister","is_registered"]
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-get-current"
|
||||||
|
description = "Enables the get_current command without any pre-configured scope."
|
||||||
|
commands.allow = ["get_current"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-get-current"
|
||||||
|
description = "Denies the get_current command without any pre-configured scope."
|
||||||
|
commands.deny = ["get_current"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-is-registered"
|
||||||
|
description = "Enables the is_registered command without any pre-configured scope."
|
||||||
|
commands.allow = ["is_registered"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-is-registered"
|
||||||
|
description = "Denies the is_registered command without any pre-configured scope."
|
||||||
|
commands.deny = ["is_registered"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-register"
|
||||||
|
description = "Enables the register command without any pre-configured scope."
|
||||||
|
commands.allow = ["register"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-register"
|
||||||
|
description = "Denies the register command without any pre-configured scope."
|
||||||
|
commands.deny = ["register"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-unregister"
|
||||||
|
description = "Enables the unregister command without any pre-configured scope."
|
||||||
|
commands.allow = ["unregister"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-unregister"
|
||||||
|
description = "Denies the unregister command without any pre-configured scope."
|
||||||
|
commands.deny = ["unregister"]
|
||||||
@@ -29,13 +29,6 @@
|
|||||||
"$ref": "#/definitions/Permission"
|
"$ref": "#/definitions/Permission"
|
||||||
},
|
},
|
||||||
"default": []
|
"default": []
|
||||||
},
|
|
||||||
"commands": {
|
|
||||||
"description": "A list of command names that get `allow-$command` and `deny-$command` permissions\nautogenerated on demand instead of being stored as explicit permissions.\n\nSee [`Manifest::command_permission`] and the ACL resolver for how these are expanded.",
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"definitions": {
|
"definitions": {
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
{
|
{
|
||||||
"extends": "../../tsconfig.base.json",
|
"extends": "../../tsconfig.base.json",
|
||||||
"compilerOptions": {
|
|
||||||
"rootDir": "guest-js"
|
|
||||||
},
|
|
||||||
"include": ["guest-js/*.ts"]
|
"include": ["guest-js/*.ts"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,5 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## \[2.7.1]
|
|
||||||
|
|
||||||
### Dependencies
|
|
||||||
|
|
||||||
- Upgraded to `fs-js@2.5.1`
|
|
||||||
|
|
||||||
## \[2.7.0]
|
|
||||||
|
|
||||||
- [`24154472`](https://github.com/tauri-apps/plugins-workspace/commit/24154472a6710a690173df0a121125d1f1b871e8) ([#3287](https://github.com/tauri-apps/plugins-workspace/pull/3287) by [@Legend-Master](https://github.com/tauri-apps/plugins-workspace/../../Legend-Master)) Re-use `message` command in Rust side for `ask` and `confirm` commands, `allow-ask` and `allow-confirm` permissions are now aliases to `allow-message`
|
|
||||||
|
|
||||||
### Dependencies
|
|
||||||
|
|
||||||
- Upgraded to `fs-js@2.5.0`
|
|
||||||
|
|
||||||
## \[2.6.0]
|
## \[2.6.0]
|
||||||
|
|
||||||
- [`d7a0bb32`](https://github.com/tauri-apps/plugins-workspace/commit/d7a0bb325dad919d6cc132eb3898c33540de77c4) ([#3136](https://github.com/tauri-apps/plugins-workspace/pull/3136) by [@onehumandev](https://github.com/tauri-apps/plugins-workspace/../../onehumandev)) Add `fileAccessMode` option to file picker.
|
- [`d7a0bb32`](https://github.com/tauri-apps/plugins-workspace/commit/d7a0bb325dad919d6cc132eb3898c33540de77c4) ([#3136](https://github.com/tauri-apps/plugins-workspace/pull/3136) by [@onehumandev](https://github.com/tauri-apps/plugins-workspace/../../onehumandev)) Add `fileAccessMode` option to file picker.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "tauri-plugin-dialog"
|
name = "tauri-plugin-dialog"
|
||||||
version = "2.7.1"
|
version = "2.6.0"
|
||||||
description = "Native system dialogs for opening and saving files along with message dialogs on your Tauri application."
|
description = "Native system dialogs for opening and saving files along with message dialogs on your Tauri application."
|
||||||
edition = { workspace = true }
|
edition = { workspace = true }
|
||||||
authors = { workspace = true }
|
authors = { workspace = true }
|
||||||
@@ -28,7 +28,7 @@ ios = { level = "partial", notes = "Does not support folder picker" }
|
|||||||
tauri-plugin = { workspace = true, features = ["build"] }
|
tauri-plugin = { workspace = true, features = ["build"] }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
tauri = { workspace = true, features = ["wry"] }
|
tauri = { workspace = true }
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
serde = { workspace = true }
|
serde = { workspace = true }
|
||||||
@@ -37,10 +37,10 @@ tauri = { workspace = true }
|
|||||||
log = { workspace = true }
|
log = { workspace = true }
|
||||||
thiserror = { workspace = true }
|
thiserror = { workspace = true }
|
||||||
url = { workspace = true }
|
url = { workspace = true }
|
||||||
tauri-plugin-fs = { path = "../fs", version = "2.5.1" }
|
tauri-plugin-fs = { path = "../fs", version = "2.4.5" }
|
||||||
|
|
||||||
[target.'cfg(target_os = "ios")'.dependencies]
|
[target.'cfg(target_os = "ios")'.dependencies]
|
||||||
tauri = { workspace = true, features = ["wry"] }
|
tauri = { workspace = true }
|
||||||
|
|
||||||
[target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
|
[target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
|
||||||
rfd = { version = "0.16", default-features = false, features = [
|
rfd = { version = "0.16", default-features = false, features = [
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@tauri-apps/plugin-dialog",
|
"name": "@tauri-apps/plugin-dialog",
|
||||||
"version": "2.7.1",
|
"version": "2.6.0",
|
||||||
"license": "MIT OR Apache-2.0",
|
"license": "MIT OR Apache-2.0",
|
||||||
"authors": [
|
"authors": [
|
||||||
"Tauri Programme within The Commons Conservancy"
|
"Tauri Programme within The Commons Conservancy"
|
||||||
@@ -24,6 +24,6 @@
|
|||||||
"LICENSE"
|
"LICENSE"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tauri-apps/api": "^2.11.0"
|
"@tauri-apps/api": "^2.10.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
# Automatically generated - DO NOT EDIT!
|
|
||||||
|
|
||||||
"$schema" = "../../schemas/schema.json"
|
|
||||||
|
|
||||||
commands = ["open","save","message"]
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-message"
|
||||||
|
description = "Enables the message command without any pre-configured scope."
|
||||||
|
commands.allow = ["message"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-message"
|
||||||
|
description = "Denies the message command without any pre-configured scope."
|
||||||
|
commands.deny = ["message"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-open"
|
||||||
|
description = "Enables the open command without any pre-configured scope."
|
||||||
|
commands.allow = ["open"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-open"
|
||||||
|
description = "Denies the open command without any pre-configured scope."
|
||||||
|
commands.deny = ["open"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-save"
|
||||||
|
description = "Enables the save command without any pre-configured scope."
|
||||||
|
commands.allow = ["save"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-save"
|
||||||
|
description = "Denies the save command without any pre-configured scope."
|
||||||
|
commands.deny = ["save"]
|
||||||
@@ -29,13 +29,6 @@
|
|||||||
"$ref": "#/definitions/Permission"
|
"$ref": "#/definitions/Permission"
|
||||||
},
|
},
|
||||||
"default": []
|
"default": []
|
||||||
},
|
|
||||||
"commands": {
|
|
||||||
"description": "A list of command names that get `allow-$command` and `deny-$command` permissions\nautogenerated on demand instead of being stored as explicit permissions.\n\nSee [`Manifest::command_permission`] and the ACL resolver for how these are expanded.",
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"definitions": {
|
"definitions": {
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
{
|
{
|
||||||
"extends": "../../tsconfig.base.json",
|
"extends": "../../tsconfig.base.json",
|
||||||
"compilerOptions": {
|
|
||||||
"rootDir": "guest-js"
|
|
||||||
},
|
|
||||||
"include": ["guest-js/*.ts"]
|
"include": ["guest-js/*.ts"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,5 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## \[2.5.1]
|
|
||||||
|
|
||||||
- [`ec054013`](https://github.com/tauri-apps/plugins-workspace/commit/ec0540138bece081e9a87982091947360e61987a) ([#3323](https://github.com/tauri-apps/plugins-workspace/pull/3323) by [@renovate](https://github.com/tauri-apps/plugins-workspace/../../renovate)) Updated dependency `toml` from 0.9 to 1
|
|
||||||
|
|
||||||
## \[2.5.0]
|
|
||||||
|
|
||||||
- [`e97a4ded`](https://github.com/tauri-apps/plugins-workspace/commit/e97a4dedab8608d9d57029784ee8a2607ca3a996) ([#3244](https://github.com/tauri-apps/plugins-workspace/pull/3244) by [@SeijiOkuda](https://github.com/tauri-apps/plugins-workspace/../../SeijiOkuda)) Add `encoding` option for `readTextFile` and `readTextFileLines`
|
|
||||||
- [`f75d21db`](https://github.com/tauri-apps/plugins-workspace/commit/f75d21db3351d6f12adf585c2c797c20ece94f7f) ([#3360](https://github.com/tauri-apps/plugins-workspace/pull/3360) by [@Legend-Master](https://github.com/tauri-apps/plugins-workspace/../../Legend-Master)) Removed the dependency on `tauri-utils`'s `build` feature
|
|
||||||
- [`f5f68063`](https://github.com/tauri-apps/plugins-workspace/commit/f5f68063e459c33522f44a04df3120d9d039ec13) ([#3185](https://github.com/tauri-apps/plugins-workspace/pull/3185) by [@lucasfernog](https://github.com/tauri-apps/plugins-workspace/../../lucasfernog)) Enable access for security-scoped resources on iOS by automatically calling `NSURL::startAccessingSecurityScopedResource` on resource access and adding the `stopAccessingSecurityScopedResource` API.
|
|
||||||
|
|
||||||
## \[2.4.5]
|
## \[2.4.5]
|
||||||
|
|
||||||
- [`521cd8b3`](https://github.com/tauri-apps/plugins-workspace/commit/521cd8b372c862d96b1637775710e4d7cf2443e2) ([#3155](https://github.com/tauri-apps/plugins-workspace/pull/3155) by [@EliasStar](https://github.com/tauri-apps/plugins-workspace/../../EliasStar)) Fix off by one error in the implementation of readTextFileLines causing all lines to end with an (additional) null byte.
|
- [`521cd8b3`](https://github.com/tauri-apps/plugins-workspace/commit/521cd8b372c862d96b1637775710e4d7cf2443e2) ([#3155](https://github.com/tauri-apps/plugins-workspace/pull/3155) by [@EliasStar](https://github.com/tauri-apps/plugins-workspace/../../EliasStar)) Fix off by one error in the implementation of readTextFileLines causing all lines to end with an (additional) null byte.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "tauri-plugin-fs"
|
name = "tauri-plugin-fs"
|
||||||
version = "2.5.1"
|
version = "2.4.5"
|
||||||
description = "Access the file system."
|
description = "Access the file system."
|
||||||
authors = { workspace = true }
|
authors = { workspace = true }
|
||||||
license = { workspace = true }
|
license = { workspace = true }
|
||||||
@@ -20,6 +20,8 @@ ios = { level = "partial", notes = "Access is restricted to Application folder b
|
|||||||
tauri-plugin = { workspace = true, features = ["build"] }
|
tauri-plugin = { workspace = true, features = ["build"] }
|
||||||
schemars = { workspace = true }
|
schemars = { workspace = true }
|
||||||
serde = { workspace = true }
|
serde = { workspace = true }
|
||||||
|
toml = "0.9"
|
||||||
|
tauri-utils = { workspace = true, features = ["build"] }
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
serde = { workspace = true }
|
serde = { workspace = true }
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
+81
-29
@@ -7,6 +7,8 @@ use std::{
|
|||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
use tauri_utils::acl::manifest::PermissionFile;
|
||||||
|
|
||||||
#[path = "src/scope.rs"]
|
#[path = "src/scope.rs"]
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
mod scope;
|
mod scope;
|
||||||
@@ -75,35 +77,35 @@ const BASE_DIR_VARS: &[&str] = &[
|
|||||||
"APPCACHE",
|
"APPCACHE",
|
||||||
"APPLOG",
|
"APPLOG",
|
||||||
];
|
];
|
||||||
// `write_file` and `read_text_file_lines` allow nested commands, so their permissions are
|
const COMMANDS: &[(&str, &[&str])] = &[
|
||||||
// manually authored in `permissions/commands/` instead of being autogenerated from this list.
|
("mkdir", &[]),
|
||||||
const COMMANDS: &[&str] = &[
|
("create", &[]),
|
||||||
"mkdir",
|
("copy_file", &[]),
|
||||||
"create",
|
("remove", &[]),
|
||||||
"copy_file",
|
("rename", &[]),
|
||||||
"remove",
|
("truncate", &[]),
|
||||||
"rename",
|
("ftruncate", &[]),
|
||||||
"truncate",
|
("write", &[]),
|
||||||
"ftruncate",
|
("write_file", &["open", "write"]),
|
||||||
"write",
|
("write_text_file", &[]),
|
||||||
"write_text_file",
|
("read_dir", &[]),
|
||||||
"read_dir",
|
("read_file", &[]),
|
||||||
"read_file",
|
("read", &[]),
|
||||||
"read",
|
("open", &[]),
|
||||||
"open",
|
("read_text_file", &[]),
|
||||||
"read_text_file",
|
("read_text_file_lines", &["read_text_file_lines_next"]),
|
||||||
"read_text_file_lines_next",
|
("read_text_file_lines_next", &[]),
|
||||||
"seek",
|
("seek", &[]),
|
||||||
"stat",
|
("stat", &[]),
|
||||||
"lstat",
|
("lstat", &[]),
|
||||||
"fstat",
|
("fstat", &[]),
|
||||||
"exists",
|
("exists", &[]),
|
||||||
"watch",
|
("watch", &[]),
|
||||||
// TODO: Remove this in v3
|
// TODO: Remove this in v3
|
||||||
"unwatch",
|
("unwatch", &[]),
|
||||||
"size",
|
("size", &[]),
|
||||||
"start_accessing_security_scoped_resource",
|
("start_accessing_security_scoped_resource", &[]),
|
||||||
"stop_accessing_security_scoped_resource",
|
("stop_accessing_security_scoped_resource", &[]),
|
||||||
];
|
];
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
@@ -209,7 +211,14 @@ permissions = [
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tauri_plugin::Builder::new(COMMANDS)
|
tauri_plugin::Builder::new(
|
||||||
|
&COMMANDS
|
||||||
|
.iter()
|
||||||
|
// FIXME: https://docs.rs/crate/tauri-plugin-fs/2.1.0/builds/1571296
|
||||||
|
.filter(|c| c.1.is_empty())
|
||||||
|
.map(|c| c.0)
|
||||||
|
.collect::<Vec<_>>(),
|
||||||
|
)
|
||||||
.global_api_script_path("./api-iife.js")
|
.global_api_script_path("./api-iife.js")
|
||||||
.global_scope_schema(
|
.global_scope_schema(
|
||||||
schemars::SchemaGenerator::new(schemars::generate::SchemaSettings::draft07())
|
schemars::SchemaGenerator::new(schemars::generate::SchemaSettings::draft07())
|
||||||
@@ -217,4 +226,47 @@ permissions = [
|
|||||||
)
|
)
|
||||||
.android_path("android")
|
.android_path("android")
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
// workaround to include nested permissions as `tauri_plugin` doesn't support it
|
||||||
|
let permissions_dir = autogenerated.join("commands");
|
||||||
|
for (command, nested_commands) in COMMANDS {
|
||||||
|
if nested_commands.is_empty() {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
let permission_path = permissions_dir.join(format!("{command}.toml"));
|
||||||
|
|
||||||
|
let content = std::fs::read_to_string(&permission_path)
|
||||||
|
.unwrap_or_else(|_| panic!("failed to read {command}.toml"));
|
||||||
|
|
||||||
|
let mut permission_file = toml::from_str::<PermissionFile>(&content)
|
||||||
|
.unwrap_or_else(|_| panic!("failed to deserialize {command}.toml"));
|
||||||
|
|
||||||
|
for p in permission_file
|
||||||
|
.permission
|
||||||
|
.iter_mut()
|
||||||
|
.filter(|p| p.identifier.starts_with("allow"))
|
||||||
|
{
|
||||||
|
for c in nested_commands.iter().map(|s| s.to_string()) {
|
||||||
|
if !p.commands.allow.contains(&c) {
|
||||||
|
p.commands.allow.push(c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let out = toml::to_string_pretty(&permission_file)
|
||||||
|
.unwrap_or_else(|_| panic!("failed to serialize {command}.toml"));
|
||||||
|
let out = format!(
|
||||||
|
r#"# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
{out}"#
|
||||||
|
);
|
||||||
|
|
||||||
|
if content != out {
|
||||||
|
std::fs::write(permission_path, out)
|
||||||
|
.unwrap_or_else(|_| panic!("failed to write {command}.toml"));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@tauri-apps/plugin-fs",
|
"name": "@tauri-apps/plugin-fs",
|
||||||
"version": "2.5.1",
|
"version": "2.4.5",
|
||||||
"description": "Access the file system.",
|
"description": "Access the file system.",
|
||||||
"license": "MIT OR Apache-2.0",
|
"license": "MIT OR Apache-2.0",
|
||||||
"authors": [
|
"authors": [
|
||||||
@@ -25,6 +25,6 @@
|
|||||||
"LICENSE"
|
"LICENSE"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tauri-apps/api": "^2.11.0"
|
"@tauri-apps/api": "^2.10.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
# Automatically generated - DO NOT EDIT!
|
|
||||||
|
|
||||||
"$schema" = "../../schemas/schema.json"
|
|
||||||
|
|
||||||
commands = ["mkdir","create","copy_file","remove","rename","truncate","ftruncate","write","write_text_file","read_dir","read_file","read","open","read_text_file","read_text_file_lines_next","seek","stat","lstat","fstat","exists","watch","unwatch","size","start_accessing_security_scoped_resource","stop_accessing_security_scoped_resource"]
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-copy-file"
|
||||||
|
description = "Enables the copy_file command without any pre-configured scope."
|
||||||
|
commands.allow = ["copy_file"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-copy-file"
|
||||||
|
description = "Denies the copy_file command without any pre-configured scope."
|
||||||
|
commands.deny = ["copy_file"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-create"
|
||||||
|
description = "Enables the create command without any pre-configured scope."
|
||||||
|
commands.allow = ["create"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-create"
|
||||||
|
description = "Denies the create command without any pre-configured scope."
|
||||||
|
commands.deny = ["create"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-exists"
|
||||||
|
description = "Enables the exists command without any pre-configured scope."
|
||||||
|
commands.allow = ["exists"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-exists"
|
||||||
|
description = "Denies the exists command without any pre-configured scope."
|
||||||
|
commands.deny = ["exists"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-fstat"
|
||||||
|
description = "Enables the fstat command without any pre-configured scope."
|
||||||
|
commands.allow = ["fstat"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-fstat"
|
||||||
|
description = "Denies the fstat command without any pre-configured scope."
|
||||||
|
commands.deny = ["fstat"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-ftruncate"
|
||||||
|
description = "Enables the ftruncate command without any pre-configured scope."
|
||||||
|
commands.allow = ["ftruncate"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-ftruncate"
|
||||||
|
description = "Denies the ftruncate command without any pre-configured scope."
|
||||||
|
commands.deny = ["ftruncate"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-lstat"
|
||||||
|
description = "Enables the lstat command without any pre-configured scope."
|
||||||
|
commands.allow = ["lstat"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-lstat"
|
||||||
|
description = "Denies the lstat command without any pre-configured scope."
|
||||||
|
commands.deny = ["lstat"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-mkdir"
|
||||||
|
description = "Enables the mkdir command without any pre-configured scope."
|
||||||
|
commands.allow = ["mkdir"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-mkdir"
|
||||||
|
description = "Denies the mkdir command without any pre-configured scope."
|
||||||
|
commands.deny = ["mkdir"]
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Automatically generated - DO NOT EDIT!
|
||||||
|
|
||||||
|
"$schema" = "../../schemas/schema.json"
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "allow-open"
|
||||||
|
description = "Enables the open command without any pre-configured scope."
|
||||||
|
commands.allow = ["open"]
|
||||||
|
|
||||||
|
[[permission]]
|
||||||
|
identifier = "deny-open"
|
||||||
|
description = "Denies the open command without any pre-configured scope."
|
||||||
|
commands.deny = ["open"]
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user