Compare commits

..

16 Commits

Author SHA1 Message Date
FabianLars 24ca81e23f fix(notification): Fix is-installed logic to prevent issue when a custom build.target-dir is set 2024-06-27 14:08:46 +02:00
Micheal Winger 03d3cc3677 docs: use join in readDir documentation example (#1500) 2024-06-27 04:43:11 +03:00
Fabian-Lars 469c277407 docs(sqlite): Update BaseDir mention to AppConfig
App was removed in v2 but was an alias for AppConfig
2024-06-26 17:31:29 +02:00
Amr Bashir 757ab74c8e refactor(updater): cleanup install logic on Windows and add unit test (#1496) 2024-06-26 12:19:10 +02:00
Tillmann 0cb1baf09a Feat: Add default permissions to most plugins (#1460)
* Add default permissions to most plugins.

Co-authored-by: chippers <chip@chip.sh>
Co-authored-by: fabianlars <fabianlars@fabianlars.de>

* updated default description

* mobile plugin relevant changes

---------

Co-authored-by: chippers <chip@chip.sh>
Co-authored-by: fabianlars <fabianlars@fabianlars.de>
2024-06-26 08:35:08 +03:00
Andrew Ferreira f1372adc9d feat(window-state): add Builder::map_label method (#1497) 2024-06-26 06:46:02 +03:00
Fabian-Lars 29751ee939 fix(updater): Escape msi path string (#1495)
* fix(updater): Escape msi path string

* fmt
2024-06-25 04:12:57 +03:00
renovate[bot] 9db5a6a0f5 chore(deps): lock file maintenance (#1492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-24 14:40:51 +02:00
Fabian-Lars 1146f068e1 fix(fs): Make read/write commands async to not block the main thread (#1477)
* fix(fs): Make commands async to not block the main thread so long

* more async

* changefile
2024-06-24 11:27:34 +03:00
Richard Stromer 0ee590366b fix(docs): add missing "permits" to fs reference.md (#1493)
* add missing "permits" to scope description

* autogenerated permissions with typo fix
2024-06-24 11:25:28 +03:00
Victor Aremu 7873d2b3f5 chore(docs): fix typo (#1489) 2024-06-24 10:45:55 +03:00
renovate[bot] ce9a97c45c chore(deps): update dependency typescript to v5.5.2 (#1486)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-21 11:06:42 +02:00
Naman Garg 17c42fd42a fix(notification): Add permission commands for Actions (#1459)
* Add the permission commands

* Add changes file
2024-06-18 10:58:16 +02:00
Fabian-Lars b18a03a376 chore(deps): Update iota_stronghold to v2 (#1480)
ref https://github.com/tauri-apps/plugins-workspace/pull/950
2024-06-17 17:20:33 +02:00
Fabian-Lars d126183d0a ci: Disable lockfile maintenance on v1 branch 2024-06-17 17:19:58 +02:00
Amr Bashir 0959fe3757 refactor(os)!: make platform, arch, type, family, version and exe_extension functions sync (#1353)
closes #1351
2024-06-17 17:03:04 +02:00
129 changed files with 2286 additions and 947 deletions
+5
View File
@@ -0,0 +1,5 @@
---
"fs": patch
---
Fixes an issue that caused the app to freeze when the `fs` plugin's read/write apis were used on large files.
@@ -0,0 +1,5 @@
---
notification: patch
---
Fixed an issue that prevented notifications from showing up on Windows in dev mode when a custom `build.target-dir` was set.
+5
View File
@@ -0,0 +1,5 @@
---
"updater": patch
---
On Windows, escape the path to the downloaded msi updater to fix an issue causing the update to fail when the `productName` contained spaces.
@@ -0,0 +1,5 @@
---
"notification": patch
---
Add `register_action_types` and `register_listener` permission command, so that new Action types can be registered and used on Android.
+6
View File
@@ -0,0 +1,6 @@
---
"os": "patch"
"os-js": "patch"
---
**Breaking** Changed `platform`, `arch`, `type`, `family`, `version` and `exe_extension` functions to be sync.
+5
View File
@@ -0,0 +1,5 @@
---
"window-state": patch
---
Add `Builder::map_label` option to transform the window label when saving the window state, this could be used to group different windows to use the same state.
Generated
+511 -570
View File
File diff suppressed because it is too large Load Diff
@@ -142,7 +142,7 @@
"identifier": {
"oneOf": [
{
"description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\n### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n",
"description": "fs:default -> This set of permissions describes the what kind of\nfile system access the `fs` plugin has enabled or denied by default.\n\n#### Granted Permissions\n\nThis default permission set enables read access to the\napplication specific directories (AppConfig, AppData, AppLocalData, AppCache,\nAppLog) and all files and sub directories created in it.\nThe location of these directories depends on the operating system,\nwhere the application is run.\n\nIn general these directories need to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\nTherefore, it is also allowed to create all of these folders via\nthe `mkdir` command.\n\n#### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n",
"type": "string",
"enum": [
"fs:default"
@@ -1373,6 +1373,13 @@
"fs:allow-write-text-file"
]
},
{
"description": "fs:create-app-specific-dirs -> This permissions allows to create the application specific directories.\n",
"type": "string",
"enum": [
"fs:create-app-specific-dirs"
]
},
{
"description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.",
"type": "string",
@@ -1562,6 +1569,13 @@
"fs:read-all"
]
},
{
"description": "fs:read-app-specific-dirs-recursive -> This permission allows recursive read functionality on the application\nspecific base directories. \n",
"type": "string",
"enum": [
"fs:read-app-specific-dirs-recursive"
]
},
{
"description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.",
"type": "string",
@@ -1605,7 +1619,7 @@
]
},
{
"description": "fs:scope-app-recursive -> This scope 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 `$APP` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-app-recursive"
@@ -1626,7 +1640,7 @@
]
},
{
"description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.",
"description": "fs:scope-appcache-recursive -> This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-appcache-recursive"
@@ -1647,7 +1661,7 @@
]
},
{
"description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.",
"description": "fs:scope-appconfig-recursive -> This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-appconfig-recursive"
@@ -1668,7 +1682,7 @@
]
},
{
"description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.",
"description": "fs:scope-appdata-recursive -> This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-appdata-recursive"
@@ -1689,7 +1703,7 @@
]
},
{
"description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.",
"description": "fs:scope-applocaldata-recursive -> This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-applocaldata-recursive"
@@ -1710,7 +1724,7 @@
]
},
{
"description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.",
"description": "fs:scope-applog-recursive -> This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-applog-recursive"
@@ -1731,7 +1745,7 @@
]
},
{
"description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.",
"description": "fs:scope-audio-recursive -> This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-audio-recursive"
@@ -1752,7 +1766,7 @@
]
},
{
"description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.",
"description": "fs:scope-cache-recursive -> This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-cache-recursive"
@@ -1773,7 +1787,7 @@
]
},
{
"description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.",
"description": "fs:scope-config-recursive -> This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-config-recursive"
@@ -1794,7 +1808,7 @@
]
},
{
"description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.",
"description": "fs:scope-data-recursive -> This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-data-recursive"
@@ -1815,7 +1829,7 @@
]
},
{
"description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.",
"description": "fs:scope-desktop-recursive -> This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-desktop-recursive"
@@ -1836,7 +1850,7 @@
]
},
{
"description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.",
"description": "fs:scope-document-recursive -> This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-document-recursive"
@@ -1857,7 +1871,7 @@
]
},
{
"description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.",
"description": "fs:scope-download-recursive -> This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-download-recursive"
@@ -1878,7 +1892,7 @@
]
},
{
"description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.",
"description": "fs:scope-exe-recursive -> This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-exe-recursive"
@@ -1899,7 +1913,7 @@
]
},
{
"description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.",
"description": "fs:scope-font-recursive -> This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-font-recursive"
@@ -1920,7 +1934,7 @@
]
},
{
"description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.",
"description": "fs:scope-home-recursive -> This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-home-recursive"
@@ -1941,7 +1955,7 @@
]
},
{
"description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.",
"description": "fs:scope-localdata-recursive -> This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-localdata-recursive"
@@ -1962,7 +1976,7 @@
]
},
{
"description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.",
"description": "fs:scope-log-recursive -> This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-log-recursive"
@@ -1983,7 +1997,7 @@
]
},
{
"description": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.",
"description": "fs:scope-picture-recursive -> This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-picture-recursive"
@@ -2004,7 +2018,7 @@
]
},
{
"description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.",
"description": "fs:scope-public-recursive -> This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-public-recursive"
@@ -2025,7 +2039,7 @@
]
},
{
"description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.",
"description": "fs:scope-resource-recursive -> This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-resource-recursive"
@@ -2046,7 +2060,7 @@
]
},
{
"description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.",
"description": "fs:scope-runtime-recursive -> This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-runtime-recursive"
@@ -2067,7 +2081,7 @@
]
},
{
"description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.",
"description": "fs:scope-temp-recursive -> This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-temp-recursive"
@@ -2088,7 +2102,7 @@
]
},
{
"description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.",
"description": "fs:scope-template-recursive -> This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-template-recursive"
@@ -2109,7 +2123,7 @@
]
},
{
"description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.",
"description": "fs:scope-video-recursive -> This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-video-recursive"
@@ -2190,7 +2204,7 @@
"identifier": {
"oneOf": [
{
"description": "http:default -> Allows all fetch operations",
"description": "http: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",
"type": "string",
"enum": [
"http:default"
@@ -2313,6 +2327,7 @@
"identifier": {
"oneOf": [
{
"description": "shell:default -> This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n",
"type": "string",
"enum": [
"shell:default"
@@ -2567,6 +2582,7 @@
]
},
{
"description": "clipboard-manager: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",
"type": "string",
"enum": [
"clipboard-manager:default"
@@ -2657,6 +2673,7 @@
]
},
{
"description": "dialog: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",
"type": "string",
"enum": [
"dialog:default"
@@ -3853,7 +3870,7 @@
]
},
{
"description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\n### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n",
"description": "fs:default -> This set of permissions describes the what kind of\nfile system access the `fs` plugin has enabled or denied by default.\n\n#### Granted Permissions\n\nThis default permission set enables read access to the\napplication specific directories (AppConfig, AppData, AppLocalData, AppCache,\nAppLog) and all files and sub directories created in it.\nThe location of these directories depends on the operating system,\nwhere the application is run.\n\nIn general these directories need to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\nTherefore, it is also allowed to create all of these folders via\nthe `mkdir` command.\n\n#### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n",
"type": "string",
"enum": [
"fs:default"
@@ -4027,6 +4044,13 @@
"fs:allow-write-text-file"
]
},
{
"description": "fs:create-app-specific-dirs -> This permissions allows to create the application specific directories.\n",
"type": "string",
"enum": [
"fs:create-app-specific-dirs"
]
},
{
"description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.",
"type": "string",
@@ -4216,6 +4240,13 @@
"fs:read-all"
]
},
{
"description": "fs:read-app-specific-dirs-recursive -> This permission allows recursive read functionality on the application\nspecific base directories. \n",
"type": "string",
"enum": [
"fs:read-app-specific-dirs-recursive"
]
},
{
"description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.",
"type": "string",
@@ -4259,7 +4290,7 @@
]
},
{
"description": "fs:scope-app-recursive -> This scope 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 `$APP` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-app-recursive"
@@ -4280,7 +4311,7 @@
]
},
{
"description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.",
"description": "fs:scope-appcache-recursive -> This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-appcache-recursive"
@@ -4301,7 +4332,7 @@
]
},
{
"description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.",
"description": "fs:scope-appconfig-recursive -> This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-appconfig-recursive"
@@ -4322,7 +4353,7 @@
]
},
{
"description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.",
"description": "fs:scope-appdata-recursive -> This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-appdata-recursive"
@@ -4343,7 +4374,7 @@
]
},
{
"description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.",
"description": "fs:scope-applocaldata-recursive -> This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-applocaldata-recursive"
@@ -4364,7 +4395,7 @@
]
},
{
"description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.",
"description": "fs:scope-applog-recursive -> This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-applog-recursive"
@@ -4385,7 +4416,7 @@
]
},
{
"description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.",
"description": "fs:scope-audio-recursive -> This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-audio-recursive"
@@ -4406,7 +4437,7 @@
]
},
{
"description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.",
"description": "fs:scope-cache-recursive -> This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-cache-recursive"
@@ -4427,7 +4458,7 @@
]
},
{
"description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.",
"description": "fs:scope-config-recursive -> This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-config-recursive"
@@ -4448,7 +4479,7 @@
]
},
{
"description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.",
"description": "fs:scope-data-recursive -> This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-data-recursive"
@@ -4469,7 +4500,7 @@
]
},
{
"description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.",
"description": "fs:scope-desktop-recursive -> This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-desktop-recursive"
@@ -4490,7 +4521,7 @@
]
},
{
"description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.",
"description": "fs:scope-document-recursive -> This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-document-recursive"
@@ -4511,7 +4542,7 @@
]
},
{
"description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.",
"description": "fs:scope-download-recursive -> This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-download-recursive"
@@ -4532,7 +4563,7 @@
]
},
{
"description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.",
"description": "fs:scope-exe-recursive -> This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-exe-recursive"
@@ -4553,7 +4584,7 @@
]
},
{
"description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.",
"description": "fs:scope-font-recursive -> This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-font-recursive"
@@ -4574,7 +4605,7 @@
]
},
{
"description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.",
"description": "fs:scope-home-recursive -> This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-home-recursive"
@@ -4595,7 +4626,7 @@
]
},
{
"description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.",
"description": "fs:scope-localdata-recursive -> This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-localdata-recursive"
@@ -4616,7 +4647,7 @@
]
},
{
"description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.",
"description": "fs:scope-log-recursive -> This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-log-recursive"
@@ -4637,7 +4668,7 @@
]
},
{
"description": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.",
"description": "fs:scope-picture-recursive -> This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-picture-recursive"
@@ -4658,7 +4689,7 @@
]
},
{
"description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.",
"description": "fs:scope-public-recursive -> This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-public-recursive"
@@ -4679,7 +4710,7 @@
]
},
{
"description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.",
"description": "fs:scope-resource-recursive -> This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-resource-recursive"
@@ -4700,7 +4731,7 @@
]
},
{
"description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.",
"description": "fs:scope-runtime-recursive -> This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-runtime-recursive"
@@ -4721,7 +4752,7 @@
]
},
{
"description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.",
"description": "fs:scope-temp-recursive -> This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-temp-recursive"
@@ -4742,7 +4773,7 @@
]
},
{
"description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.",
"description": "fs:scope-template-recursive -> This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-template-recursive"
@@ -4763,7 +4794,7 @@
]
},
{
"description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.",
"description": "fs:scope-video-recursive -> This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.",
"type": "string",
"enum": [
"fs:scope-video-recursive"
@@ -4784,6 +4815,7 @@
]
},
{
"description": "global-shortcut: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",
"type": "string",
"enum": [
"global-shortcut:default"
@@ -4860,7 +4892,7 @@
]
},
{
"description": "http:default -> Allows all fetch operations",
"description": "http: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",
"type": "string",
"enum": [
"http:default"
@@ -5336,12 +5368,61 @@
]
},
{
"description": "notification:default -> Allows requesting permission, checking permission state and sending notifications",
"description": "notification:default -> This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n",
"type": "string",
"enum": [
"notification:default"
]
},
{
"description": "notification:allow-batch -> Enables the batch command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:allow-batch"
]
},
{
"description": "notification:allow-cancel -> Enables the cancel command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:allow-cancel"
]
},
{
"description": "notification:allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:allow-check-permissions"
]
},
{
"description": "notification:allow-create-channel -> Enables the create_channel command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:allow-create-channel"
]
},
{
"description": "notification:allow-delete-channel -> Enables the delete_channel command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:allow-delete-channel"
]
},
{
"description": "notification:allow-get-active -> Enables the get_active command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:allow-get-active"
]
},
{
"description": "notification:allow-get-pending -> Enables the get_pending command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:allow-get-pending"
]
},
{
"description": "notification:allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.",
"type": "string",
@@ -5349,6 +5430,13 @@
"notification:allow-is-permission-granted"
]
},
{
"description": "notification:allow-list-channels -> Enables the list_channels command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:allow-list-channels"
]
},
{
"description": "notification:allow-notify -> Enables the notify command without any pre-configured scope.",
"type": "string",
@@ -5356,6 +5444,34 @@
"notification:allow-notify"
]
},
{
"description": "notification:allow-permission-state -> Enables the permission_state command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:allow-permission-state"
]
},
{
"description": "notification:allow-register-action-types -> Enables the register_action_types command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:allow-register-action-types"
]
},
{
"description": "notification:allow-register-listener -> Enables the register_listener command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:allow-register-listener"
]
},
{
"description": "notification:allow-remove-active -> Enables the remove_active command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:allow-remove-active"
]
},
{
"description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.",
"type": "string",
@@ -5363,6 +5479,62 @@
"notification:allow-request-permission"
]
},
{
"description": "notification:allow-show -> Enables the show command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:allow-show"
]
},
{
"description": "notification:deny-batch -> Denies the batch command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:deny-batch"
]
},
{
"description": "notification:deny-cancel -> Denies the cancel command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:deny-cancel"
]
},
{
"description": "notification:deny-check-permissions -> Denies the check_permissions command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:deny-check-permissions"
]
},
{
"description": "notification:deny-create-channel -> Denies the create_channel command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:deny-create-channel"
]
},
{
"description": "notification:deny-delete-channel -> Denies the delete_channel command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:deny-delete-channel"
]
},
{
"description": "notification:deny-get-active -> Denies the get_active command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:deny-get-active"
]
},
{
"description": "notification:deny-get-pending -> Denies the get_pending command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:deny-get-pending"
]
},
{
"description": "notification:deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.",
"type": "string",
@@ -5370,6 +5542,13 @@
"notification:deny-is-permission-granted"
]
},
{
"description": "notification:deny-list-channels -> Denies the list_channels command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:deny-list-channels"
]
},
{
"description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.",
"type": "string",
@@ -5377,6 +5556,34 @@
"notification:deny-notify"
]
},
{
"description": "notification:deny-permission-state -> Denies the permission_state command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:deny-permission-state"
]
},
{
"description": "notification:deny-register-action-types -> Denies the register_action_types command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:deny-register-action-types"
]
},
{
"description": "notification:deny-register-listener -> Denies the register_listener command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:deny-register-listener"
]
},
{
"description": "notification:deny-remove-active -> Denies the remove_active command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:deny-remove-active"
]
},
{
"description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.",
"type": "string",
@@ -5385,6 +5592,14 @@
]
},
{
"description": "notification:deny-show -> Denies the show command without any pre-configured scope.",
"type": "string",
"enum": [
"notification:deny-show"
]
},
{
"description": "os:default -> This permission set configures which\noperating system information are available\nto gather from the frontend.\n\n#### Granted Permissions\n\nAll information except the host name are available.\n\n",
"type": "string",
"enum": [
"os:default"
@@ -5622,6 +5837,7 @@
]
},
{
"description": "process:default -> This permission set configures which\nprocess feeatures are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n",
"type": "string",
"enum": [
"process:default"
@@ -5677,6 +5893,7 @@
]
},
{
"description": "shell:default -> This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n",
"type": "string",
"enum": [
"shell:default"
@@ -5914,7 +6131,7 @@
]
},
{
"description": "updater:default -> Allows checking for new updates and installing them",
"description": "updater:default -> This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n",
"type": "string",
"enum": [
"updater:default"
+1 -1
View File
@@ -22,7 +22,7 @@
"prettier": "3.3.2",
"rollup": "4.18.0",
"tslib": "2.6.3",
"typescript": "5.4.5",
"typescript": "5.5.2",
"typescript-eslint": "rc-v8"
},
"resolutions": {
@@ -6,3 +6,13 @@
|`deny-enable`|Denies the enable command without any pre-configured scope.|
|`allow-is-enabled`|Enables the is_enabled command without any pre-configured scope.|
|`deny-is-enabled`|Denies the is_enabled command without any pre-configured scope.|
|`default`|This permission set configures if your
application can enable or disable auto
starting the application on boot.
#### Granted Permissions
It allows all to check, enable and
disable the automatic start on boot.
|
@@ -0,0 +1,19 @@
"$schema" = "schemas/schema.json"
[default]
description = """
This permission set configures if your
application can enable or disable auto
starting the application on boot.
#### Granted Permissions
It allows all to check, enable and
disable the automatic start on boot.
"""
permissions = [
"allow-enable",
"allow-disable",
"allow-is-enabled",
]
@@ -335,6 +335,13 @@
"enum": [
"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",
"type": "string",
"enum": [
"default"
]
}
]
}
@@ -12,3 +12,11 @@
|`deny-scan`|Denies the scan command without any pre-configured scope.|
|`allow-vibrate`|Enables the vibrate command without any pre-configured scope.|
|`deny-vibrate`|Denies the vibrate command without any pre-configured scope.|
|`default`|This permission set configures which
barcode scanning features are by default exposed.
#### Granted Permissions
It allows all barcode related features.
|
@@ -0,0 +1,20 @@
"$schema" = "schemas/schema.json"
[default]
description = """
This permission set configures which
barcode scanning features are by default exposed.
#### Granted Permissions
It allows all barcode related features.
"""
permissions = [
"allow-cancel",
"allow-check-permissions",
"allow-open-app-settings",
"allow-request-permissions",
"allow-scan",
"allow-vibrate",
]
@@ -377,6 +377,13 @@
"enum": [
"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",
"type": "string",
"enum": [
"default"
]
}
]
}
@@ -4,3 +4,11 @@
|`deny-authenticate`|Denies the authenticate command without any pre-configured scope.|
|`allow-status`|Enables the status command without any pre-configured scope.|
|`deny-status`|Denies the status command without any pre-configured scope.|
|`default`|This permission set configures which
biometric features are by default exposed.
#### Granted Permissions
It allows acccess to all biometric commands.
|
@@ -0,0 +1,16 @@
"$schema" = "schemas/schema.json"
[default]
description = """
This permission set configures which
biometric features are by default exposed.
#### Granted Permissions
It allows acccess to all biometric commands.
"""
permissions = [
"allow-authenticate",
"allow-status",
]
@@ -321,6 +321,13 @@
"enum": [
"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",
"type": "string",
"enum": [
"default"
]
}
]
}
@@ -12,3 +12,9 @@
|`deny-write-image`|Denies the write_image command without any pre-configured scope.|
|`allow-write-text`|Enables the write_text command without any pre-configured scope.|
|`deny-write-text`|Denies the write_text command without any pre-configured scope.|
|`default`|No features are enabled by default, as we believe
the clipboard can be inherently dangerous and it is
application specific if read and/or write access is needed.
Clipboard interaction needs to be explicitly enabled.
|
@@ -0,0 +1,11 @@
"$schema" = "schemas/schema.json"
[default]
description = """
No features are enabled by default, as we believe
the clipboard can be inherently dangerous and it is
application specific if read and/or write access is needed.
Clipboard interaction needs to be explicitly enabled.
"""
permissions = []
@@ -377,6 +377,13 @@
"enum": [
"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",
"type": "string",
"enum": [
"default"
]
}
]
}
@@ -40,6 +40,8 @@ class DeepLinkPlugin(private val activity: Activity): Plugin(activity) {
invoke.resolve(ret)
}
// This command should not be added to the `build.rs` and exposed as it is only
// used internally from the rust backend.
@Command
fun setEventHandler(invoke: Invoke) {
val args = invoke.parseArgs(SetEventHandlerArgs::class.java)
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_PLUGIN_DEEPLINK__=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 a=(void 0,{kind:"Any"});return r("plugin:event|listen",{event:e,target:a,handler:n(t)}).then((n=>async()=>async function(e,n){await r("plugin:event|unlisten",{event:e,eventId:n})}(e,n)))}async function a(){return await r("plugin:deep-link|get_current")}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="tauri://drag",e.DROP="tauri://drop",e.DROP_OVER="tauri://drop-over",e.DROP_CANCELLED="tauri://drag-cancelled"}(t||(t={})),e.getCurrent=a,e.isRegistered=async function(e){return await r("plugin:deep-link|is_registered",{protocol:e})},e.onOpenUrl=async function(e){const n=await a();return n&&e(n),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_DEEPLINK__})}
if("__TAURI__"in window){var __TAURI_PLUGIN_DEEPLINK__=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 a={kind:"Any"};return r("plugin:event|listen",{event:e,target:a,handler:n(t)}).then((n=>async()=>async function(e,n){await r("plugin:event|unlisten",{event:e,eventId:n})}(e,n)))}async function a(){return await r("plugin:deep-link|get_current")}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="tauri://drag",e.DROP="tauri://drop",e.DROP_OVER="tauri://drop-over",e.DROP_CANCELLED="tauri://drag-cancelled"}(t||(t={})),e.getCurrent=a,e.isRegistered=async function(e){return await r("plugin:deep-link|is_registered",{protocol:e})},e.onOpenUrl=async function(e){const n=await a();return n&&e(n),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_DEEPLINK__})}
@@ -10,3 +10,12 @@
|`deny-open`|Denies the open command without any pre-configured scope.|
|`allow-save`|Enables the save command without any pre-configured scope.|
|`deny-save`|Denies the save command without any pre-configured scope.|
|`default`|This permission set configures the types of dialogs
available from the dialog plugin.
#### Granted Permissions
All dialog types are enabled.
|
+20
View File
@@ -0,0 +1,20 @@
"$schema" = "schemas/schema.json"
[default]
description = """
This permission set configures the types of dialogs
available from the dialog plugin.
#### Granted Permissions
All dialog types are enabled.
"""
permissions = [
"allow-ask",
"allow-confirm",
"allow-message",
"allow-save",
"allow-open",
]
@@ -363,6 +363,13 @@
"enum": [
"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",
"type": "string",
"enum": [
"default"
]
}
]
}
+1 -1
View File
@@ -109,7 +109,7 @@ fn main() {
[[permission]]
identifier = "scope-{lower}-recursive"
description = "This scope recursive access to the complete `${upper}` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `${upper}` folder, including sub directories and files."
[[permission.scope.allow]]
path = "${upper}/**"
+2 -1
View File
@@ -641,6 +641,7 @@ interface DirEntry {
* @example
* ```typescript
* import { readDir, BaseDirectory } from '@tauri-apps/plugin-fs';
* import { join } from '@tauri-apps/api/path';
* const dir = "users"
* const entries = await readDir('users', { baseDir: BaseDirectory.App });
* processEntriesRecursive(dir, entries);
@@ -648,7 +649,7 @@ interface DirEntry {
* for (const entry of entries) {
* console.log(`Entry: ${entry.name}`);
* if (entry.isDirectory) {
* const dir = parent + entry.name;
* const dir = await join(parent, entry.name);
* processEntriesRecursive(dir, await readDir(dir, { baseDir: BaseDirectory.App }))
* }
* }
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-app-recursive"
description = "This scope recursive access to the complete `$APP` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$APP` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$APP/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-appcache-recursive"
description = "This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$APPCACHE/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-appconfig-recursive"
description = "This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$APPCONFIG/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-appdata-recursive"
description = "This scope recursive access to the complete `$APPDATA` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$APPDATA/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-applocaldata-recursive"
description = "This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$APPLOCALDATA/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-applog-recursive"
description = "This scope recursive access to the complete `$APPLOG` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$APPLOG/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-audio-recursive"
description = "This scope recursive access to the complete `$AUDIO` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$AUDIO/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-cache-recursive"
description = "This scope recursive access to the complete `$CACHE` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$CACHE/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-config-recursive"
description = "This scope recursive access to the complete `$CONFIG` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$CONFIG/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-data-recursive"
description = "This scope recursive access to the complete `$DATA` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$DATA` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$DATA/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-desktop-recursive"
description = "This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$DESKTOP/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-document-recursive"
description = "This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$DOCUMENT/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-download-recursive"
description = "This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$DOWNLOAD/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-exe-recursive"
description = "This scope recursive access to the complete `$EXE` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$EXE` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$EXE/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-font-recursive"
description = "This scope recursive access to the complete `$FONT` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$FONT` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$FONT/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-home-recursive"
description = "This scope recursive access to the complete `$HOME` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$HOME` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$HOME/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-localdata-recursive"
description = "This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$LOCALDATA/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-log-recursive"
description = "This scope recursive access to the complete `$LOG` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$LOG` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$LOG/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-picture-recursive"
description = "This scope recursive access to the complete `$PICTURE` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$PICTURE/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-public-recursive"
description = "This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$PUBLIC/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-resource-recursive"
description = "This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$RESOURCE/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-runtime-recursive"
description = "This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$RUNTIME/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-temp-recursive"
description = "This scope recursive access to the complete `$TEMP` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$TEMP/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-template-recursive"
description = "This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$TEMPLATE/**"
@@ -7,7 +7,7 @@
[[permission]]
identifier = "scope-video-recursive"
description = "This scope recursive access to the complete `$VIDEO` folder, including sub directories and files."
description = "This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files."
[[permission.scope.allow]]
path = "$VIDEO/**"
@@ -6,7 +6,7 @@
|`allow-app-write`|This allows non-recursive write access to the `$APP` folder.|
|`allow-app-meta-recursive`|This allows full recursive read access to metadata of the `$APP` folder, including file listing and statistics.|
|`allow-app-meta`|This allows non-recursive read access to metadata of the `$APP` folder, including file listing and statistics.|
|`scope-app-recursive`|This scope recursive access to the complete `$APP` folder, including sub directories and files.|
|`scope-app-recursive`|This scope permits recursive access to the complete `$APP` folder, including sub directories and files.|
|`scope-app`|This scope permits access to all files and list content of top level directories in the `$APP`folder.|
|`scope-app-index`|This scope permits to list all files and folders in the `$APP`folder.|
|`allow-appcache-read-recursive`|This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.|
@@ -15,7 +15,7 @@
|`allow-appcache-write`|This allows non-recursive write access to the `$APPCACHE` folder.|
|`allow-appcache-meta-recursive`|This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.|
|`allow-appcache-meta`|This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.|
|`scope-appcache-recursive`|This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.|
|`scope-appcache-recursive`|This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.|
|`scope-appcache`|This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.|
|`scope-appcache-index`|This scope permits to list all files and folders in the `$APPCACHE`folder.|
|`allow-appconfig-read-recursive`|This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.|
@@ -24,7 +24,7 @@
|`allow-appconfig-write`|This allows non-recursive write access to the `$APPCONFIG` folder.|
|`allow-appconfig-meta-recursive`|This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.|
|`allow-appconfig-meta`|This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.|
|`scope-appconfig-recursive`|This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.|
|`scope-appconfig-recursive`|This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.|
|`scope-appconfig`|This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.|
|`scope-appconfig-index`|This scope permits to list all files and folders in the `$APPCONFIG`folder.|
|`allow-appdata-read-recursive`|This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.|
@@ -33,7 +33,7 @@
|`allow-appdata-write`|This allows non-recursive write access to the `$APPDATA` folder.|
|`allow-appdata-meta-recursive`|This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.|
|`allow-appdata-meta`|This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.|
|`scope-appdata-recursive`|This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.|
|`scope-appdata-recursive`|This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.|
|`scope-appdata`|This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.|
|`scope-appdata-index`|This scope permits to list all files and folders in the `$APPDATA`folder.|
|`allow-applocaldata-read-recursive`|This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.|
@@ -42,7 +42,7 @@
|`allow-applocaldata-write`|This allows non-recursive write access to the `$APPLOCALDATA` folder.|
|`allow-applocaldata-meta-recursive`|This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.|
|`allow-applocaldata-meta`|This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.|
|`scope-applocaldata-recursive`|This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.|
|`scope-applocaldata-recursive`|This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.|
|`scope-applocaldata`|This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.|
|`scope-applocaldata-index`|This scope permits to list all files and folders in the `$APPLOCALDATA`folder.|
|`allow-applog-read-recursive`|This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.|
@@ -51,7 +51,7 @@
|`allow-applog-write`|This allows non-recursive write access to the `$APPLOG` folder.|
|`allow-applog-meta-recursive`|This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.|
|`allow-applog-meta`|This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.|
|`scope-applog-recursive`|This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.|
|`scope-applog-recursive`|This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.|
|`scope-applog`|This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.|
|`scope-applog-index`|This scope permits to list all files and folders in the `$APPLOG`folder.|
|`allow-audio-read-recursive`|This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.|
@@ -60,7 +60,7 @@
|`allow-audio-write`|This allows non-recursive write access to the `$AUDIO` folder.|
|`allow-audio-meta-recursive`|This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.|
|`allow-audio-meta`|This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.|
|`scope-audio-recursive`|This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.|
|`scope-audio-recursive`|This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.|
|`scope-audio`|This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.|
|`scope-audio-index`|This scope permits to list all files and folders in the `$AUDIO`folder.|
|`allow-cache-read-recursive`|This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.|
@@ -69,7 +69,7 @@
|`allow-cache-write`|This allows non-recursive write access to the `$CACHE` folder.|
|`allow-cache-meta-recursive`|This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.|
|`allow-cache-meta`|This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.|
|`scope-cache-recursive`|This scope recursive access to the complete `$CACHE` folder, including sub directories and files.|
|`scope-cache-recursive`|This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.|
|`scope-cache`|This scope permits access to all files and list content of top level directories in the `$CACHE`folder.|
|`scope-cache-index`|This scope permits to list all files and folders in the `$CACHE`folder.|
|`allow-config-read-recursive`|This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.|
@@ -78,7 +78,7 @@
|`allow-config-write`|This allows non-recursive write access to the `$CONFIG` folder.|
|`allow-config-meta-recursive`|This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.|
|`allow-config-meta`|This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.|
|`scope-config-recursive`|This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.|
|`scope-config-recursive`|This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.|
|`scope-config`|This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.|
|`scope-config-index`|This scope permits to list all files and folders in the `$CONFIG`folder.|
|`allow-data-read-recursive`|This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.|
@@ -87,7 +87,7 @@
|`allow-data-write`|This allows non-recursive write access to the `$DATA` folder.|
|`allow-data-meta-recursive`|This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.|
|`allow-data-meta`|This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.|
|`scope-data-recursive`|This scope recursive access to the complete `$DATA` folder, including sub directories and files.|
|`scope-data-recursive`|This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.|
|`scope-data`|This scope permits access to all files and list content of top level directories in the `$DATA`folder.|
|`scope-data-index`|This scope permits to list all files and folders in the `$DATA`folder.|
|`allow-desktop-read-recursive`|This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.|
@@ -96,7 +96,7 @@
|`allow-desktop-write`|This allows non-recursive write access to the `$DESKTOP` folder.|
|`allow-desktop-meta-recursive`|This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.|
|`allow-desktop-meta`|This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.|
|`scope-desktop-recursive`|This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.|
|`scope-desktop-recursive`|This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.|
|`scope-desktop`|This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.|
|`scope-desktop-index`|This scope permits to list all files and folders in the `$DESKTOP`folder.|
|`allow-document-read-recursive`|This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.|
@@ -105,7 +105,7 @@
|`allow-document-write`|This allows non-recursive write access to the `$DOCUMENT` folder.|
|`allow-document-meta-recursive`|This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.|
|`allow-document-meta`|This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.|
|`scope-document-recursive`|This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.|
|`scope-document-recursive`|This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.|
|`scope-document`|This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.|
|`scope-document-index`|This scope permits to list all files and folders in the `$DOCUMENT`folder.|
|`allow-download-read-recursive`|This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.|
@@ -114,7 +114,7 @@
|`allow-download-write`|This allows non-recursive write access to the `$DOWNLOAD` folder.|
|`allow-download-meta-recursive`|This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.|
|`allow-download-meta`|This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.|
|`scope-download-recursive`|This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.|
|`scope-download-recursive`|This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.|
|`scope-download`|This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.|
|`scope-download-index`|This scope permits to list all files and folders in the `$DOWNLOAD`folder.|
|`allow-exe-read-recursive`|This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.|
@@ -123,7 +123,7 @@
|`allow-exe-write`|This allows non-recursive write access to the `$EXE` folder.|
|`allow-exe-meta-recursive`|This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.|
|`allow-exe-meta`|This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.|
|`scope-exe-recursive`|This scope recursive access to the complete `$EXE` folder, including sub directories and files.|
|`scope-exe-recursive`|This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.|
|`scope-exe`|This scope permits access to all files and list content of top level directories in the `$EXE`folder.|
|`scope-exe-index`|This scope permits to list all files and folders in the `$EXE`folder.|
|`allow-font-read-recursive`|This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.|
@@ -132,7 +132,7 @@
|`allow-font-write`|This allows non-recursive write access to the `$FONT` folder.|
|`allow-font-meta-recursive`|This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.|
|`allow-font-meta`|This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.|
|`scope-font-recursive`|This scope recursive access to the complete `$FONT` folder, including sub directories and files.|
|`scope-font-recursive`|This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.|
|`scope-font`|This scope permits access to all files and list content of top level directories in the `$FONT`folder.|
|`scope-font-index`|This scope permits to list all files and folders in the `$FONT`folder.|
|`allow-home-read-recursive`|This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.|
@@ -141,7 +141,7 @@
|`allow-home-write`|This allows non-recursive write access to the `$HOME` folder.|
|`allow-home-meta-recursive`|This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.|
|`allow-home-meta`|This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.|
|`scope-home-recursive`|This scope recursive access to the complete `$HOME` folder, including sub directories and files.|
|`scope-home-recursive`|This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.|
|`scope-home`|This scope permits access to all files and list content of top level directories in the `$HOME`folder.|
|`scope-home-index`|This scope permits to list all files and folders in the `$HOME`folder.|
|`allow-localdata-read-recursive`|This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.|
@@ -150,7 +150,7 @@
|`allow-localdata-write`|This allows non-recursive write access to the `$LOCALDATA` folder.|
|`allow-localdata-meta-recursive`|This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.|
|`allow-localdata-meta`|This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.|
|`scope-localdata-recursive`|This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.|
|`scope-localdata-recursive`|This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.|
|`scope-localdata`|This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.|
|`scope-localdata-index`|This scope permits to list all files and folders in the `$LOCALDATA`folder.|
|`allow-log-read-recursive`|This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.|
@@ -159,7 +159,7 @@
|`allow-log-write`|This allows non-recursive write access to the `$LOG` folder.|
|`allow-log-meta-recursive`|This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.|
|`allow-log-meta`|This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.|
|`scope-log-recursive`|This scope recursive access to the complete `$LOG` folder, including sub directories and files.|
|`scope-log-recursive`|This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.|
|`scope-log`|This scope permits access to all files and list content of top level directories in the `$LOG`folder.|
|`scope-log-index`|This scope permits to list all files and folders in the `$LOG`folder.|
|`allow-picture-read-recursive`|This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.|
@@ -168,7 +168,7 @@
|`allow-picture-write`|This allows non-recursive write access to the `$PICTURE` folder.|
|`allow-picture-meta-recursive`|This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.|
|`allow-picture-meta`|This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.|
|`scope-picture-recursive`|This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.|
|`scope-picture-recursive`|This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.|
|`scope-picture`|This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.|
|`scope-picture-index`|This scope permits to list all files and folders in the `$PICTURE`folder.|
|`allow-public-read-recursive`|This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.|
@@ -177,7 +177,7 @@
|`allow-public-write`|This allows non-recursive write access to the `$PUBLIC` folder.|
|`allow-public-meta-recursive`|This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.|
|`allow-public-meta`|This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.|
|`scope-public-recursive`|This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.|
|`scope-public-recursive`|This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.|
|`scope-public`|This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.|
|`scope-public-index`|This scope permits to list all files and folders in the `$PUBLIC`folder.|
|`allow-resource-read-recursive`|This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.|
@@ -186,7 +186,7 @@
|`allow-resource-write`|This allows non-recursive write access to the `$RESOURCE` folder.|
|`allow-resource-meta-recursive`|This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.|
|`allow-resource-meta`|This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.|
|`scope-resource-recursive`|This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.|
|`scope-resource-recursive`|This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.|
|`scope-resource`|This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.|
|`scope-resource-index`|This scope permits to list all files and folders in the `$RESOURCE`folder.|
|`allow-runtime-read-recursive`|This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.|
@@ -195,7 +195,7 @@
|`allow-runtime-write`|This allows non-recursive write access to the `$RUNTIME` folder.|
|`allow-runtime-meta-recursive`|This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.|
|`allow-runtime-meta`|This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.|
|`scope-runtime-recursive`|This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.|
|`scope-runtime-recursive`|This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.|
|`scope-runtime`|This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.|
|`scope-runtime-index`|This scope permits to list all files and folders in the `$RUNTIME`folder.|
|`allow-temp-read-recursive`|This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.|
@@ -204,7 +204,7 @@
|`allow-temp-write`|This allows non-recursive write access to the `$TEMP` folder.|
|`allow-temp-meta-recursive`|This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.|
|`allow-temp-meta`|This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.|
|`scope-temp-recursive`|This scope recursive access to the complete `$TEMP` folder, including sub directories and files.|
|`scope-temp-recursive`|This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.|
|`scope-temp`|This scope permits access to all files and list content of top level directories in the `$TEMP`folder.|
|`scope-temp-index`|This scope permits to list all files and folders in the `$TEMP`folder.|
|`allow-template-read-recursive`|This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.|
@@ -213,7 +213,7 @@
|`allow-template-write`|This allows non-recursive write access to the `$TEMPLATE` folder.|
|`allow-template-meta-recursive`|This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.|
|`allow-template-meta`|This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.|
|`scope-template-recursive`|This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.|
|`scope-template-recursive`|This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.|
|`scope-template`|This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.|
|`scope-template-index`|This scope permits to list all files and folders in the `$TEMPLATE`folder.|
|`allow-video-read-recursive`|This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.|
@@ -222,7 +222,7 @@
|`allow-video-write`|This allows non-recursive write access to the `$VIDEO` folder.|
|`allow-video-meta-recursive`|This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.|
|`allow-video-meta`|This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.|
|`scope-video-recursive`|This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.|
|`scope-video-recursive`|This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.|
|`scope-video`|This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.|
|`scope-video-index`|This scope permits to list all files and folders in the `$VIDEO`folder.|
|`allow-copy-file`|Enables the copy_file command without any pre-configured scope.|
@@ -273,23 +273,27 @@
|`deny-write-file`|Denies the write_file command without any pre-configured scope.|
|`allow-write-text-file`|Enables the write_text_file command without any pre-configured scope.|
|`deny-write-text-file`|Denies the write_text_file command without any pre-configured scope.|
|`default`|# Tauri `fs` default permissions
|`create-app-specific-dirs`|This permissions allows to create the application specific directories.
|
|`default`|This set of permissions describes the what kind of
file system access the `fs` plugin has enabled or denied by default.
This configuration file defines the default permissions granted
to the filesystem.
#### Granted Permissions
### Granted Permissions
This default permission set enables all read-related commands and
allows access to the `$APP` folder and sub directories created in it.
The location of the `$APP` folder depends on the operating system,
This default permission set enables read access to the
application specific directories (AppConfig, AppData, AppLocalData, AppCache,
AppLog) and all files and sub directories created in it.
The location of these directories depends on the operating system,
where the application is run.
In general the `$APP` folder needs to be manually created
In general these directories need to be manually created
by the application at runtime, before accessing files or folders
in it is possible.
### Denied Permissions
Therefore, it is also allowed to create all of these folders via
the `mkdir` command.
#### Denied Permissions
This default permission set prevents access to critical components
of the Tauri application by default.
@@ -304,6 +308,9 @@ Allowing access can lead to sensitive information disclosure and should be well
`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.
Allowing access can lead to sensitive information disclosure and should be well considered.|
|`read-all`|This enables all read related commands without any pre-configured accessible paths.|
|`read-app-specific-dirs-recursive`|This permission allows recursive read functionality on the application
specific base directories.
|
|`read-dirs`|This enables directory read and file metadata related commands without any pre-configured accessible paths.|
|`read-files`|This enables file read related commands without any pre-configured accessible paths.|
|`read-meta`|This enables all index or metadata related commands without any pre-configured accessible paths.|
@@ -0,0 +1,23 @@
"$schema" = "schemas/schema.json"
[[permission]]
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"
+17 -11
View File
@@ -2,27 +2,33 @@
[default]
description = """
# Tauri `fs` default permissions
This set of permissions describes the what kind of
file system access the `fs` plugin has enabled or denied by default.
This configuration file defines the default permissions granted
to the filesystem.
#### Granted Permissions
### Granted Permissions
This default permission set enables all read-related commands and
allows access to the `$APP` folder and sub directories created in it.
The location of the `$APP` folder depends on the operating system,
This default permission set enables read access to the
application specific directories (AppConfig, AppData, AppLocalData, AppCache,
AppLog) and all files and sub directories created in it.
The location of these directories depends on the operating system,
where the application is run.
In general the `$APP` folder needs to be manually created
In general these directories need to be manually created
by the application at runtime, before accessing files or folders
in it is possible.
### Denied Permissions
Therefore, it is also allowed to create all of these folders via
the `mkdir` command.
#### Denied Permissions
This default permission set prevents access to critical components
of the Tauri application by default.
On Windows the webview data folder access is denied.
"""
permissions = ["read-all", "scope-app-recursive", "deny-default"]
permissions = [
"create-app-specific-dirs",
"read-app-specific-dirs-recursive",
"deny-default",
]
@@ -0,0 +1,31 @@
"$schema" = "schemas/schema.json"
[[permission]]
identifier = "read-app-specific-dirs-recursive"
description = """
This permission allows recursive read functionality on the application
specific base directories.
"""
commands.allow = [
"read_dir",
"read_file",
"read_text_file",
"read_text_file_lines",
"read_text_file_lines_next",
"exists",
]
[[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/**"
+40 -26
View File
@@ -337,7 +337,7 @@
]
},
{
"description": "scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.",
"description": "scope-app-recursive -> This scope permits recursive access to the complete `$APP` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-app-recursive"
@@ -400,7 +400,7 @@
]
},
{
"description": "scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.",
"description": "scope-appcache-recursive -> This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-appcache-recursive"
@@ -463,7 +463,7 @@
]
},
{
"description": "scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.",
"description": "scope-appconfig-recursive -> This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-appconfig-recursive"
@@ -526,7 +526,7 @@
]
},
{
"description": "scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.",
"description": "scope-appdata-recursive -> This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-appdata-recursive"
@@ -589,7 +589,7 @@
]
},
{
"description": "scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.",
"description": "scope-applocaldata-recursive -> This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-applocaldata-recursive"
@@ -652,7 +652,7 @@
]
},
{
"description": "scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.",
"description": "scope-applog-recursive -> This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-applog-recursive"
@@ -715,7 +715,7 @@
]
},
{
"description": "scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.",
"description": "scope-audio-recursive -> This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-audio-recursive"
@@ -778,7 +778,7 @@
]
},
{
"description": "scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.",
"description": "scope-cache-recursive -> This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-cache-recursive"
@@ -841,7 +841,7 @@
]
},
{
"description": "scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.",
"description": "scope-config-recursive -> This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-config-recursive"
@@ -904,7 +904,7 @@
]
},
{
"description": "scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.",
"description": "scope-data-recursive -> This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-data-recursive"
@@ -967,7 +967,7 @@
]
},
{
"description": "scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.",
"description": "scope-desktop-recursive -> This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-desktop-recursive"
@@ -1030,7 +1030,7 @@
]
},
{
"description": "scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.",
"description": "scope-document-recursive -> This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-document-recursive"
@@ -1093,7 +1093,7 @@
]
},
{
"description": "scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.",
"description": "scope-download-recursive -> This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-download-recursive"
@@ -1156,7 +1156,7 @@
]
},
{
"description": "scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.",
"description": "scope-exe-recursive -> This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-exe-recursive"
@@ -1219,7 +1219,7 @@
]
},
{
"description": "scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.",
"description": "scope-font-recursive -> This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-font-recursive"
@@ -1282,7 +1282,7 @@
]
},
{
"description": "scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.",
"description": "scope-home-recursive -> This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-home-recursive"
@@ -1345,7 +1345,7 @@
]
},
{
"description": "scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.",
"description": "scope-localdata-recursive -> This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-localdata-recursive"
@@ -1408,7 +1408,7 @@
]
},
{
"description": "scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.",
"description": "scope-log-recursive -> This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-log-recursive"
@@ -1471,7 +1471,7 @@
]
},
{
"description": "scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.",
"description": "scope-picture-recursive -> This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-picture-recursive"
@@ -1534,7 +1534,7 @@
]
},
{
"description": "scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.",
"description": "scope-public-recursive -> This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-public-recursive"
@@ -1597,7 +1597,7 @@
]
},
{
"description": "scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.",
"description": "scope-resource-recursive -> This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-resource-recursive"
@@ -1660,7 +1660,7 @@
]
},
{
"description": "scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.",
"description": "scope-runtime-recursive -> This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-runtime-recursive"
@@ -1723,7 +1723,7 @@
]
},
{
"description": "scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.",
"description": "scope-temp-recursive -> This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-temp-recursive"
@@ -1786,7 +1786,7 @@
]
},
{
"description": "scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.",
"description": "scope-template-recursive -> This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-template-recursive"
@@ -1849,7 +1849,7 @@
]
},
{
"description": "scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.",
"description": "scope-video-recursive -> This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.",
"type": "string",
"enum": [
"scope-video-recursive"
@@ -2206,7 +2206,14 @@
]
},
{
"description": "default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\n### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n",
"description": "create-app-specific-dirs -> This permissions allows to create the application specific directories.\n",
"type": "string",
"enum": [
"create-app-specific-dirs"
]
},
{
"description": "default -> This set of permissions describes the what kind of\nfile system access the `fs` plugin has enabled or denied by default.\n\n#### Granted Permissions\n\nThis default permission set enables read access to the\napplication specific directories (AppConfig, AppData, AppLocalData, AppCache,\nAppLog) and all files and sub directories created in it.\nThe location of these directories depends on the operating system,\nwhere the application is run.\n\nIn general these directories need to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\nTherefore, it is also allowed to create all of these folders via\nthe `mkdir` command.\n\n#### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n",
"type": "string",
"enum": [
"default"
@@ -2240,6 +2247,13 @@
"read-all"
]
},
{
"description": "read-app-specific-dirs-recursive -> This permission allows recursive read functionality on the application\nspecific base directories. \n",
"type": "string",
"enum": [
"read-app-specific-dirs-recursive"
]
},
{
"description": "read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.",
"type": "string",
+12 -12
View File
@@ -182,7 +182,7 @@ pub struct CopyFileOptions {
}
#[tauri::command]
pub fn copy_file<R: Runtime>(
pub async fn copy_file<R: Runtime>(
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
@@ -291,7 +291,7 @@ fn read_dir_inner<P: AsRef<Path>>(path: P) -> crate::Result<Vec<DirEntry>> {
}
#[tauri::command]
pub fn read_dir<R: Runtime>(
pub async fn read_dir<R: Runtime>(
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
@@ -317,7 +317,7 @@ pub fn read_dir<R: Runtime>(
}
#[tauri::command]
pub fn read<R: Runtime>(
pub async fn read<R: Runtime>(
webview: Webview<R>,
rid: ResourceId,
len: u32,
@@ -330,7 +330,7 @@ pub fn read<R: Runtime>(
}
#[tauri::command]
pub fn read_file<R: Runtime>(
pub async fn read_file<R: Runtime>(
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
@@ -356,7 +356,7 @@ pub fn read_file<R: Runtime>(
}
#[tauri::command]
pub fn read_text_file<R: Runtime>(
pub async fn read_text_file<R: Runtime>(
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
@@ -412,7 +412,7 @@ pub fn read_text_file_lines<R: Runtime>(
}
#[tauri::command]
pub fn read_text_file_lines_next<R: Runtime>(
pub async fn read_text_file_lines_next<R: Runtime>(
webview: Webview<R>,
rid: ResourceId,
) -> CommandResult<(Option<String>, bool)> {
@@ -547,7 +547,7 @@ pub enum SeekMode {
}
#[tauri::command]
pub fn seek<R: Runtime>(
pub async fn seek<R: Runtime>(
webview: Webview<R>,
rid: ResourceId,
offset: i64,
@@ -623,7 +623,7 @@ pub fn fstat<R: Runtime>(webview: Webview<R>, rid: ResourceId) -> CommandResult<
}
#[tauri::command]
pub fn truncate<R: Runtime>(
pub async fn truncate<R: Runtime>(
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
@@ -658,7 +658,7 @@ pub fn truncate<R: Runtime>(
}
#[tauri::command]
pub fn ftruncate<R: Runtime>(
pub async fn ftruncate<R: Runtime>(
webview: Webview<R>,
rid: ResourceId,
len: Option<u64>,
@@ -670,7 +670,7 @@ pub fn ftruncate<R: Runtime>(
}
#[tauri::command]
pub fn write<R: Runtime>(
pub async fn write<R: Runtime>(
webview: Webview<R>,
rid: ResourceId,
data: Vec<u8>,
@@ -753,7 +753,7 @@ fn write_file_inner<R: Runtime>(
}
#[tauri::command]
pub fn write_file<R: Runtime>(
pub async fn write_file<R: Runtime>(
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
@@ -781,7 +781,7 @@ pub fn write_file<R: Runtime>(
}
#[tauri::command]
pub fn write_text_file<R: Runtime>(
pub async fn write_text_file<R: Runtime>(
webview: Webview<R>,
global_scope: GlobalScope<Entry>,
command_scope: CommandScope<Entry>,
@@ -10,3 +10,8 @@
|`deny-unregister`|Denies the unregister command without any pre-configured scope.|
|`allow-unregister-all`|Enables the unregister_all command without any pre-configured scope.|
|`deny-unregister-all`|Denies the unregister_all command without any pre-configured scope.|
|`default`|No features are enabled by default, as we believe
the shortcuts can be inherently dangerous and it is
application specific if specific shortcuts should be
registered or unregistered.
|
@@ -0,0 +1,10 @@
"$schema" = "schemas/schema.json"
[default]
description = """
No features are enabled by default, as we believe
the shortcuts can be inherently dangerous and it is
application specific if specific shortcuts should be
registered or unregistered.
"""
permissions = []
@@ -363,6 +363,13 @@
"enum": [
"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",
"type": "string",
"enum": [
"default"
]
}
]
}
@@ -8,4 +8,15 @@
|`deny-fetch-read-body`|Denies the fetch_read_body command without any pre-configured scope.|
|`allow-fetch-send`|Enables the fetch_send command without any pre-configured scope.|
|`deny-fetch-send`|Denies the fetch_send command without any pre-configured scope.|
|`default`|Allows all fetch operations|
|`default`|This permission set configures what kind of
fetch operations are available from the http plugin.
This enables all fetch operations but does not
allow explicitly any origins to be fetched. This needs to
be manually configured before usage.
#### Granted Permissions
All fetch operations are enabled.
|
+14 -1
View File
@@ -1,6 +1,19 @@
"$schema" = "schemas/schema.json"
[default]
description = "Allows all fetch operations"
description = """
This permission set configures what kind of
fetch operations are available from the http plugin.
This enables all fetch operations but does not
allow explicitly any origins to be fetched. This needs to
be manually configured before usage.
#### Granted Permissions
All fetch operations are enabled.
"""
permissions = [
"allow-fetch",
"allow-fetch-cancel",
+1 -1
View File
@@ -351,7 +351,7 @@
]
},
{
"description": "default -> Allows all fetch operations",
"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",
"type": "string",
"enum": [
"default"
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_PLUGIN_LOG__=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 a,t;async function o(e,a,t){const o=(void 0,{kind:"Any"});return r("plugin:event|listen",{event:e,target:o,handler:n(a)}).then((n=>async()=>async function(e,n){await r("plugin:event|unlisten",{event:e,eventId:n})}(e,n)))}async function i(e,n,a){const t=(new Error).stack?.split("\n").map((e=>e.split("@"))),o=t?.filter((([e,n])=>e.length>0&&"[native code]"!==n)),{file:i,line:c,keyValues:u}=a??{};let l=o?.[0]?.filter((e=>e.length>0)).join("@");"Error"===l&&(l="webview::unknown"),await r("plugin:log|log",{level:e,message:n,location:l,file:i,line:c,keyValues:u})}async function c(e){return await o("log://log",(n=>{const{level:r}=n.payload;let{message:a}=n.payload;a=a.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),e({message:a,level:r})}))}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="tauri://drag",e.DROP="tauri://drop",e.DROP_OVER="tauri://drop-over",e.DROP_CANCELLED="tauri://drag-cancelled"}(a||(a={})),function(e){e[e.Trace=1]="Trace",e[e.Debug=2]="Debug",e[e.Info=3]="Info",e[e.Warn=4]="Warn",e[e.Error=5]="Error"}(t||(t={})),e.attachConsole=async function(){return await c((({level:e,message:n})=>{switch(e){case t.Trace:console.log(n);break;case t.Debug:console.debug(n);break;case t.Info:console.info(n);break;case t.Warn:console.warn(n);break;case t.Error:console.error(n);break;default:throw new Error(`unknown log level ${e}`)}}))},e.attachLogger=c,e.debug=async function(e,n){await i(t.Debug,e,n)},e.error=async function(e,n){await i(t.Error,e,n)},e.info=async function(e,n){await i(t.Info,e,n)},e.trace=async function(e,n){await i(t.Trace,e,n)},e.warn=async function(e,n){await i(t.Warn,e,n)},e}({});Object.defineProperty(window.__TAURI__,"log",{value:__TAURI_PLUGIN_LOG__})}
if("__TAURI__"in window){var __TAURI_PLUGIN_LOG__=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 a,t;async function o(e,a,t){const o={kind:"Any"};return r("plugin:event|listen",{event:e,target:o,handler:n(a)}).then((n=>async()=>async function(e,n){await r("plugin:event|unlisten",{event:e,eventId:n})}(e,n)))}async function i(e,n,a){const t=(new Error).stack?.split("\n").map((e=>e.split("@"))),o=t?.filter((([e,n])=>e.length>0&&"[native code]"!==n)),{file:i,line:c,keyValues:u}=a??{};let l=o?.[0]?.filter((e=>e.length>0)).join("@");"Error"===l&&(l="webview::unknown"),await r("plugin:log|log",{level:e,message:n,location:l,file:i,line:c,keyValues:u})}async function c(e){return await o("log://log",(n=>{const{level:r}=n.payload;let{message:a}=n.payload;a=a.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),e({message:a,level:r})}))}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="tauri://drag",e.DROP="tauri://drop",e.DROP_OVER="tauri://drop-over",e.DROP_CANCELLED="tauri://drag-cancelled"}(a||(a={})),function(e){e[e.Trace=1]="Trace",e[e.Debug=2]="Debug",e[e.Info=3]="Info",e[e.Warn=4]="Warn",e[e.Error=5]="Error"}(t||(t={})),e.attachConsole=async function(){return await c((({level:e,message:n})=>{switch(e){case t.Trace:console.log(n);break;case t.Debug:console.debug(n);break;case t.Info:console.info(n);break;case t.Warn:console.warn(n);break;case t.Error:console.error(n);break;default:throw new Error(`unknown log level ${e}`)}}))},e.attachLogger=c,e.debug=async function(e,n){await i(t.Debug,e,n)},e.error=async function(e,n){await i(t.Error,e,n)},e.info=async function(e,n){await i(t.Info,e,n)},e.trace=async function(e,n){await i(t.Trace,e,n)},e.warn=async function(e,n){await i(t.Warn,e,n)},e}({});Object.defineProperty(window.__TAURI__,"log",{value:__TAURI_PLUGIN_LOG__})}
@@ -6,3 +6,13 @@
|`deny-scan`|Denies the scan command without any pre-configured scope.|
|`allow-write`|Enables the write command without any pre-configured scope.|
|`deny-write`|Denies the write command without any pre-configured scope.|
|`default`|This permission set configures what kind of
operations are available from the nfc plugin.
#### Granted Permissions
Checking if the NFC functionality is available
and scanning nearby tags is allowed.
Writing to tags needs to be manually enabled.
|
+18
View File
@@ -0,0 +1,18 @@
"$schema" = "schemas/schema.json"
[default]
description = """
This permission set configures what kind of
operations are available from the nfc plugin.
#### Granted Permissions
Checking if the NFC functionality is available
and scanning nearby tags is allowed.
Writing to tags needs to be manually enabled.
"""
permissions = [
"allow-is-available",
"allow-scan",
]
@@ -335,6 +335,13 @@
"enum": [
"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",
"type": "string",
"enum": [
"default"
]
}
]
}
+18 -1
View File
@@ -2,7 +2,24 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
const COMMANDS: &[&str] = &["notify", "request_permission", "is_permission_granted"];
const COMMANDS: &[&str] = &[
"notify",
"request_permission",
"is_permission_granted",
"register_action_types",
"register_listener",
"cancel",
"get_pending",
"remove_active",
"get_active",
"check_permissions",
"show",
"batch",
"list_channels",
"delete_channel",
"create_channel",
"permission_state"
];
fn main() {
if let Err(error) = tauri_plugin::Builder::new(COMMANDS)
@@ -0,0 +1,13 @@
# Automatically generated - DO NOT EDIT!
"$schema" = "../../schemas/schema.json"
[[permission]]
identifier = "allow-batch"
description = "Enables the batch command without any pre-configured scope."
commands.allow = ["batch"]
[[permission]]
identifier = "deny-batch"
description = "Denies the batch command without any pre-configured scope."
commands.deny = ["batch"]
@@ -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"]
@@ -0,0 +1,13 @@
# Automatically generated - DO NOT EDIT!
"$schema" = "../../schemas/schema.json"
[[permission]]
identifier = "allow-create-channel"
description = "Enables the create_channel command without any pre-configured scope."
commands.allow = ["create_channel"]
[[permission]]
identifier = "deny-create-channel"
description = "Denies the create_channel command without any pre-configured scope."
commands.deny = ["create_channel"]
@@ -0,0 +1,13 @@
# Automatically generated - DO NOT EDIT!
"$schema" = "../../schemas/schema.json"
[[permission]]
identifier = "allow-delete-channel"
description = "Enables the delete_channel command without any pre-configured scope."
commands.allow = ["delete_channel"]
[[permission]]
identifier = "deny-delete-channel"
description = "Denies the delete_channel command without any pre-configured scope."
commands.deny = ["delete_channel"]
@@ -0,0 +1,13 @@
# Automatically generated - DO NOT EDIT!
"$schema" = "../../schemas/schema.json"
[[permission]]
identifier = "allow-get-active"
description = "Enables the get_active command without any pre-configured scope."
commands.allow = ["get_active"]
[[permission]]
identifier = "deny-get-active"
description = "Denies the get_active command without any pre-configured scope."
commands.deny = ["get_active"]
@@ -0,0 +1,13 @@
# Automatically generated - DO NOT EDIT!
"$schema" = "../../schemas/schema.json"
[[permission]]
identifier = "allow-get-pending"
description = "Enables the get_pending command without any pre-configured scope."
commands.allow = ["get_pending"]
[[permission]]
identifier = "deny-get-pending"
description = "Denies the get_pending command without any pre-configured scope."
commands.deny = ["get_pending"]
@@ -0,0 +1,13 @@
# Automatically generated - DO NOT EDIT!
"$schema" = "../../schemas/schema.json"
[[permission]]
identifier = "allow-list-channels"
description = "Enables the list_channels command without any pre-configured scope."
commands.allow = ["list_channels"]
[[permission]]
identifier = "deny-list-channels"
description = "Denies the list_channels command without any pre-configured scope."
commands.deny = ["list_channels"]
@@ -0,0 +1,13 @@
# Automatically generated - DO NOT EDIT!
"$schema" = "../../schemas/schema.json"
[[permission]]
identifier = "allow-permission-state"
description = "Enables the permission_state command without any pre-configured scope."
commands.allow = ["permission_state"]
[[permission]]
identifier = "deny-permission-state"
description = "Denies the permission_state command without any pre-configured scope."
commands.deny = ["permission_state"]
@@ -0,0 +1,13 @@
# Automatically generated - DO NOT EDIT!
"$schema" = "../../schemas/schema.json"
[[permission]]
identifier = "allow-register-action-types"
description = "Enables the register_action_types command without any pre-configured scope."
commands.allow = ["register_action_types"]
[[permission]]
identifier = "deny-register-action-types"
description = "Denies the register_action_types command without any pre-configured scope."
commands.deny = ["register_action_types"]
@@ -0,0 +1,13 @@
# Automatically generated - DO NOT EDIT!
"$schema" = "../../schemas/schema.json"
[[permission]]
identifier = "allow-register-listener"
description = "Enables the register_listener command without any pre-configured scope."
commands.allow = ["register_listener"]
[[permission]]
identifier = "deny-register-listener"
description = "Denies the register_listener command without any pre-configured scope."
commands.deny = ["register_listener"]
@@ -0,0 +1,13 @@
# Automatically generated - DO NOT EDIT!
"$schema" = "../../schemas/schema.json"
[[permission]]
identifier = "allow-remove-active"
description = "Enables the remove_active command without any pre-configured scope."
commands.allow = ["remove_active"]
[[permission]]
identifier = "deny-remove-active"
description = "Denies the remove_active command without any pre-configured scope."
commands.deny = ["remove_active"]
@@ -0,0 +1,13 @@
# Automatically generated - DO NOT EDIT!
"$schema" = "../../schemas/schema.json"
[[permission]]
identifier = "allow-show"
description = "Enables the show command without any pre-configured scope."
commands.allow = ["show"]
[[permission]]
identifier = "deny-show"
description = "Denies the show command without any pre-configured scope."
commands.deny = ["show"]
@@ -1,9 +1,42 @@
| Permission | Description |
|------|-----|
|`allow-batch`|Enables the batch command without any pre-configured scope.|
|`deny-batch`|Denies the batch command without any pre-configured scope.|
|`allow-cancel`|Enables the cancel command without any pre-configured scope.|
|`deny-cancel`|Denies the cancel command without any pre-configured scope.|
|`allow-check-permissions`|Enables the check_permissions command without any pre-configured scope.|
|`deny-check-permissions`|Denies the check_permissions command without any pre-configured scope.|
|`allow-create-channel`|Enables the create_channel command without any pre-configured scope.|
|`deny-create-channel`|Denies the create_channel command without any pre-configured scope.|
|`allow-delete-channel`|Enables the delete_channel command without any pre-configured scope.|
|`deny-delete-channel`|Denies the delete_channel command without any pre-configured scope.|
|`allow-get-active`|Enables the get_active command without any pre-configured scope.|
|`deny-get-active`|Denies the get_active command without any pre-configured scope.|
|`allow-get-pending`|Enables the get_pending command without any pre-configured scope.|
|`deny-get-pending`|Denies the get_pending command without any pre-configured scope.|
|`allow-is-permission-granted`|Enables the is_permission_granted command without any pre-configured scope.|
|`deny-is-permission-granted`|Denies the is_permission_granted command without any pre-configured scope.|
|`allow-list-channels`|Enables the list_channels command without any pre-configured scope.|
|`deny-list-channels`|Denies the list_channels command without any pre-configured scope.|
|`allow-notify`|Enables the notify command without any pre-configured scope.|
|`deny-notify`|Denies the notify command without any pre-configured scope.|
|`allow-permission-state`|Enables the permission_state command without any pre-configured scope.|
|`deny-permission-state`|Denies the permission_state command without any pre-configured scope.|
|`allow-register-action-types`|Enables the register_action_types command without any pre-configured scope.|
|`deny-register-action-types`|Denies the register_action_types command without any pre-configured scope.|
|`allow-register-listener`|Enables the register_listener command without any pre-configured scope.|
|`deny-register-listener`|Denies the register_listener command without any pre-configured scope.|
|`allow-remove-active`|Enables the remove_active command without any pre-configured scope.|
|`deny-remove-active`|Denies the remove_active command without any pre-configured scope.|
|`allow-request-permission`|Enables the request_permission command without any pre-configured scope.|
|`deny-request-permission`|Denies the request_permission command without any pre-configured scope.|
|`default`|Allows requesting permission, checking permission state and sending notifications|
|`allow-show`|Enables the show command without any pre-configured scope.|
|`deny-show`|Denies the show command without any pre-configured scope.|
|`default`|This permission set configures which
notification features are by default exposed.
#### Granted Permissions
It allows all notification related features.
|
+23 -1
View File
@@ -1,8 +1,30 @@
"$schema" = "schemas/schema.json"
[default]
description = "Allows requesting permission, checking permission state and sending notifications"
description = """
This permission set configures which
notification features are by default exposed.
#### Granted Permissions
It allows all notification related features.
"""
permissions = [
"allow-is-permission-granted",
"allow-request-permission",
"allow-notify",
"allow-register-action-types",
"allow-register-listener",
"allow-cancel",
"allow-get-pending",
"allow-remove-active",
"allow-get-active",
"allow-check-permissions",
"allow-show",
"allow-batch",
"allow-list-channels",
"allow-delete-channel",
"allow-create-channel",
"allow-permission-state"
]
@@ -294,6 +294,104 @@
"PermissionKind": {
"type": "string",
"oneOf": [
{
"description": "allow-batch -> Enables the batch command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-batch"
]
},
{
"description": "deny-batch -> Denies the batch command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-batch"
]
},
{
"description": "allow-cancel -> Enables the cancel command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-cancel"
]
},
{
"description": "deny-cancel -> Denies the cancel command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-cancel"
]
},
{
"description": "allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-check-permissions"
]
},
{
"description": "deny-check-permissions -> Denies the check_permissions command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-check-permissions"
]
},
{
"description": "allow-create-channel -> Enables the create_channel command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-create-channel"
]
},
{
"description": "deny-create-channel -> Denies the create_channel command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-create-channel"
]
},
{
"description": "allow-delete-channel -> Enables the delete_channel command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-delete-channel"
]
},
{
"description": "deny-delete-channel -> Denies the delete_channel command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-delete-channel"
]
},
{
"description": "allow-get-active -> Enables the get_active command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-get-active"
]
},
{
"description": "deny-get-active -> Denies the get_active command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-get-active"
]
},
{
"description": "allow-get-pending -> Enables the get_pending command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-get-pending"
]
},
{
"description": "deny-get-pending -> Denies the get_pending command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-get-pending"
]
},
{
"description": "allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.",
"type": "string",
@@ -308,6 +406,20 @@
"deny-is-permission-granted"
]
},
{
"description": "allow-list-channels -> Enables the list_channels command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-list-channels"
]
},
{
"description": "deny-list-channels -> Denies the list_channels command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-list-channels"
]
},
{
"description": "allow-notify -> Enables the notify command without any pre-configured scope.",
"type": "string",
@@ -322,6 +434,62 @@
"deny-notify"
]
},
{
"description": "allow-permission-state -> Enables the permission_state command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-permission-state"
]
},
{
"description": "deny-permission-state -> Denies the permission_state command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-permission-state"
]
},
{
"description": "allow-register-action-types -> Enables the register_action_types command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-register-action-types"
]
},
{
"description": "deny-register-action-types -> Denies the register_action_types command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-register-action-types"
]
},
{
"description": "allow-register-listener -> Enables the register_listener command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-register-listener"
]
},
{
"description": "deny-register-listener -> Denies the register_listener command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-register-listener"
]
},
{
"description": "allow-remove-active -> Enables the remove_active command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-remove-active"
]
},
{
"description": "deny-remove-active -> Denies the remove_active command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-remove-active"
]
},
{
"description": "allow-request-permission -> Enables the request_permission command without any pre-configured scope.",
"type": "string",
@@ -337,7 +505,21 @@
]
},
{
"description": "default -> Allows requesting permission, checking permission state and sending notifications",
"description": "allow-show -> Enables the show command without any pre-configured scope.",
"type": "string",
"enum": [
"allow-show"
]
},
{
"description": "deny-show -> Denies the show command without any pre-configured scope.",
"type": "string",
"enum": [
"deny-show"
]
},
{
"description": "default -> This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n",
"type": "string",
"enum": [
"default"
+18 -8
View File
@@ -62,9 +62,6 @@ impl<R: Runtime> Notification<R> {
mod imp {
//! Types and functions related to desktop notifications.
#[cfg(windows)]
use std::path::MAIN_SEPARATOR as SEP;
/// The desktop notification definition.
///
/// Allows you to construct a Notification data and send it.
@@ -176,12 +173,25 @@ mod imp {
{
let exe = tauri::utils::platform::current_exe()?;
let exe_dir = exe.parent().expect("failed to get exe directory");
let curr_dir = exe_dir.display().to_string();
// set the notification's System.AppUserModel.ID only when running the installed app
if !(curr_dir.ends_with(format!("{SEP}target{SEP}debug").as_str())
|| curr_dir.ends_with(format!("{SEP}target{SEP}release").as_str()))
{
// Set the notification's System.AppUserModel.ID only when running the installed app.
// We check for an `uninstall.exe`` (nsis) or `Uninstall <productName>.lnk` (msi) file next to the app.
//
// Not using a registry lookup because we'd have to at least iterate through
// HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\<productName or GUID>
// HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<productName or GUID>
// HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\<productName or GUID>
// and maybe more for arm to compare the InstallLocation with the currently running app.
if exe_dir.join("uninstall.exe").exists() {
notification.app_id(&self.identifier);
} else if let Ok(readdir) = std::fs::read_dir(exe_dir) {
for file in readdir.flatten() {
let fname = file.file_name();
let fname = fname.to_string_lossy();
if fname.starts_with("Uninstall ") && fname.ends_with(".lnk") {
notification.app_id(&self.identifier);
}
}
}
}
#[cfg(target_os = "macos")]
+1 -1
View File
@@ -1 +1 @@
if("__TAURI__"in window){var __TAURI_PLUGIN_OS__=function(n){"use strict";async function t(n,t={},i){return window.__TAURI_INTERNALS__.invoke(n,t,i)}return"function"==typeof SuppressedError&&SuppressedError,n.arch=async function(){return await t("plugin:os|arch")},n.eol=function(){return window.__TAURI_OS_PLUGIN_INTERNALS__.eol},n.exeExtension=async function(){return await t("plugin:os|exe_extension")},n.family=async function(){return await t("plugin:os|family")},n.hostname=async function(){return await t("plugin:os|hostname")},n.locale=async function(){return await t("plugin:os|locale")},n.platform=async function(){return await t("plugin:os|platform")},n.type=async function(){return await t("plugin:os|os_type")},n.version=async function(){return await t("plugin:os|version")},n}({});Object.defineProperty(window.__TAURI__,"os",{value:__TAURI_PLUGIN_OS__})}
if("__TAURI__"in window){var __TAURI_PLUGIN_OS__=function(_){"use strict";async function n(_,n={},o){return window.__TAURI_INTERNALS__.invoke(_,n,o)}return"function"==typeof SuppressedError&&SuppressedError,_.arch=function(){return window.__TAURI_OS_PLUGIN_INTERNALS__.arch},_.eol=function(){return window.__TAURI_OS_PLUGIN_INTERNALS__.eol},_.exeExtension=function(){return window.__TAURI_OS_PLUGIN_INTERNALS__.exe_extension},_.family=function(){return window.__TAURI_OS_PLUGIN_INTERNALS__.family},_.hostname=async function(){return await n("plugin:os|hostname")},_.locale=async function(){return await n("plugin:os|locale")},_.platform=function(){return window.__TAURI_OS_PLUGIN_INTERNALS__.platform},_.type=function(){return window.__TAURI_OS_PLUGIN_INTERNALS__.os_type},_.version=function(){return window.__TAURI_OS_PLUGIN_INTERNALS__.version},_}({});Object.defineProperty(window.__TAURI__,"os",{value:__TAURI_PLUGIN_OS__})}
+30 -24
View File
@@ -15,6 +15,12 @@ declare global {
interface Window {
__TAURI_OS_PLUGIN_INTERNALS__: {
eol: string;
os_type: OsType;
platform: Platform;
family: Family;
version: string;
arch: Arch;
exe_extension: string;
};
}
}
@@ -70,8 +76,8 @@ function eol(): string {
* @since 2.0.0
*
*/
async function platform(): Promise<Platform> {
return await invoke("plugin:os|platform");
function platform(): Platform {
return window.__TAURI_OS_PLUGIN_INTERNALS__.platform;
}
/**
@@ -84,8 +90,8 @@ async function platform(): Promise<Platform> {
*
* @since 2.0.0
*/
async function version(): Promise<string> {
return await invoke("plugin:os|version");
function version(): string {
return window.__TAURI_OS_PLUGIN_INTERNALS__.version;
}
type Family = "unix" | "windows";
@@ -100,8 +106,8 @@ type Family = "unix" | "windows";
*
* @since 2.0.0
*/
async function family(): Promise<Family> {
return await invoke("plugin:os|family");
function family(): Family {
return window.__TAURI_OS_PLUGIN_INTERNALS__.family;
}
/**
@@ -114,8 +120,8 @@ async function family(): Promise<Family> {
*
* @since 2.0.0
*/
async function type(): Promise<OsType> {
return await invoke("plugin:os|os_type");
function type(): OsType {
return window.__TAURI_OS_PLUGIN_INTERNALS__.os_type;
}
/**
@@ -129,8 +135,22 @@ async function type(): Promise<OsType> {
*
* @since 2.0.0
*/
async function arch(): Promise<Arch> {
return await invoke("plugin:os|arch");
function arch(): Arch {
return window.__TAURI_OS_PLUGIN_INTERNALS__.arch;
}
/**
* Returns the file extension, if any, used for executable binaries on this platform. Possible values are `'exe'` and `''` (empty string).
* @example
* ```typescript
* import { exeExtension } from '@tauri-apps/plugin-os';
* const exeExt = await exeExtension();
* ```
*
* @since 2.0.0
*/
function exeExtension(): string {
return window.__TAURI_OS_PLUGIN_INTERNALS__.exe_extension;
}
/**
@@ -150,20 +170,6 @@ async function locale(): Promise<string | null> {
return await invoke("plugin:os|locale");
}
/**
* Returns the file extension, if any, used for executable binaries on this platform. Possible values are `'exe'` and `''` (empty string).
* @example
* ```typescript
* import { exeExtension } from '@tauri-apps/plugin-os';
* const exeExt = await exeExtension();
* ```
*
* @since 2.0.0
*/
async function exeExtension(): Promise<string | null> {
return await invoke("plugin:os|exe_extension");
}
/**
* Returns the host name of the operating system.
* @example
@@ -16,3 +16,12 @@
|`deny-platform`|Denies the platform command without any pre-configured scope.|
|`allow-version`|Enables the version command without any pre-configured scope.|
|`deny-version`|Denies the version command without any pre-configured scope.|
|`default`|This permission set configures which
operating system information are available
to gather from the frontend.
#### Granted Permissions
All information except the host name are available.
|
+23
View File
@@ -0,0 +1,23 @@
"$schema" = "schemas/schema.json"
[default]
description = """
This permission set configures which
operating system information are available
to gather from the frontend.
#### Granted Permissions
All information except the host name are available.
"""
permissions = [
"allow-arch",
"allow-exe-extension",
"allow-family",
"allow-locale",
"allow-os-type",
"allow-platform",
"allow-version",
]
@@ -405,6 +405,13 @@
"enum": [
"deny-version"
]
},
{
"description": "default -> This permission set configures which\noperating system information are available\nto gather from the frontend.\n\n#### Granted Permissions\n\nAll information except the host name are available.\n\n",
"type": "string",
"enum": [
"default"
]
}
]
}
-30
View File
@@ -2,36 +2,6 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
#[tauri::command]
pub fn platform() -> &'static str {
crate::platform()
}
#[tauri::command]
pub fn version() -> String {
crate::version().to_string()
}
#[tauri::command]
pub fn os_type() -> String {
crate::type_().to_string()
}
#[tauri::command]
pub fn family() -> &'static str {
crate::family()
}
#[tauri::command]
pub fn arch() -> &'static str {
crate::arch()
}
#[tauri::command]
pub fn exe_extension() -> &'static str {
crate::exe_extension()
}
#[tauri::command]
pub fn locale() -> Option<String> {
crate::locale()
+6
View File
@@ -6,5 +6,11 @@
Object.defineProperty(window, "__TAURI_OS_PLUGIN_INTERNALS__", {
value: {
eol: __TEMPLATE_eol__,
os_type: __TEMPLATE_os_type__,
platform: __TEMPLATE_platform__,
family: __TEMPLATE_family__,
version: __TEMPLATE_version__,
arch: __TEMPLATE_arch__,
exe_extension: __TEMPLATE_exe_extension__,
},
});
+28 -16
View File
@@ -102,30 +102,42 @@ pub fn hostname() -> String {
#[derive(Template)]
#[default_template("./init.js")]
struct InitJavascript {
struct InitJavascript<'a> {
eol: &'static str,
os_type: String,
platform: &'a str,
family: &'a str,
version: String,
arch: &'a str,
exe_extension: &'a str,
}
impl<'a> InitJavascript<'a> {
fn new() -> Self {
Self {
#[cfg(windows)]
eol: "\r\n",
#[cfg(not(windows))]
eol: "\n",
os_type: crate::type_().to_string(),
platform: crate::platform(),
family: crate::family(),
version: crate::version().to_string(),
arch: crate::arch(),
exe_extension: crate::exe_extension(),
}
}
}
pub fn init<R: Runtime>() -> TauriPlugin<R> {
let init_js = InitJavascript {
#[cfg(windows)]
eol: "\r\n",
#[cfg(not(windows))]
eol: "\n",
}
.render_default(&Default::default())
// this will never fail with the above global_os_api eol values
.unwrap();
let init_js = InitJavascript::new()
.render_default(&Default::default())
// this will never fail with the above global_os_api values
.unwrap();
Builder::new("os")
.js_init_script(init_js.to_string())
.invoke_handler(tauri::generate_handler![
commands::platform,
commands::version,
commands::os_type,
commands::family,
commands::arch,
commands::exe_extension,
commands::locale,
commands::hostname
])
@@ -4,3 +4,11 @@
|`deny-exit`|Denies the exit command without any pre-configured scope.|
|`allow-restart`|Enables the restart command without any pre-configured scope.|
|`deny-restart`|Denies the restart command without any pre-configured scope.|
|`default`|This permission set configures which
process feeatures are by default exposed.
#### Granted Permissions
This enables to quit via `allow-exit` and restart via `allow-restart`
the application.
|
+17
View File
@@ -0,0 +1,17 @@
"$schema" = "schemas/schema.json"
[default]
description = """
This permission set configures which
process feeatures are by default exposed.
#### Granted Permissions
This enables to quit via `allow-exit` and restart via `allow-restart`
the application.
"""
permissions = [
"allow-exit",
"allow-restart",
]
@@ -321,6 +321,13 @@
"enum": [
"deny-restart"
]
},
{
"description": "default -> This permission set configures which\nprocess feeatures are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n",
"type": "string",
"enum": [
"default"
]
}
]
}
@@ -10,3 +10,12 @@
|`deny-spawn`|Denies the spawn command without any pre-configured scope.|
|`allow-stdin-write`|Enables the stdin_write command without any pre-configured scope.|
|`deny-stdin-write`|Denies the stdin_write command without any pre-configured scope.|
|`default`|This permission set configures which
shell functionality is exposed by default.
#### Granted Permissions
It allows to use the `open` functionality without any specific
scope pre-configured. It will allow opening `http(s)://`,
`tel:` and `mailto:` links.
|
+17
View File
@@ -0,0 +1,17 @@
"$schema" = "schemas/schema.json"
[default]
description = """
This permission set configures which
shell functionality is exposed by default.
#### Granted Permissions
It allows to use the `open` functionality without any specific
scope pre-configured. It will allow opening `http(s)://`,
`tel:` and `mailto:` links.
"""
permissions = [
"allow-open",
]

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