Skip to content

Commit cc03ccf

Browse files
authored
fix(fs): app scopes not properly enabling paths (#1774)
1 parent 009299e commit cc03ccf

36 files changed

+350
-343
lines changed

.changes/fix-fs-app-scopes.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"fs": patch
3+
---
4+
5+
Fix `scope-app`, `scope-app-recursive` and `scope-index` not properly enabling the application paths.

examples/api/src-tauri/gen/schemas/desktop-schema.json

Lines changed: 68 additions & 68 deletions
Large diffs are not rendered by default.

examples/api/src-tauri/gen/schemas/mobile-schema.json

Lines changed: 68 additions & 68 deletions
Large diffs are not rendered by default.

plugins/fs/build.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ const BASE_DIR_VARS: &[&str] = &[
5252
"TEMPLATE",
5353
"VIDEO",
5454
"RESOURCE",
55-
"APP",
5655
"LOG",
5756
"TEMP",
5857
"APPCONFIG",
@@ -118,7 +117,7 @@ path = "${upper}/**"
118117
119118
[[permission]]
120119
identifier = "scope-{lower}"
121-
description = "This scope permits access to all files and list content of top level directories in the `${upper}`folder."
120+
description = "This scope permits access to all files and list content of top level directories in the `${upper}` folder."
122121
123122
[[permission.scope.allow]]
124123
path = "${upper}"

plugins/fs/guest-js/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ class FileHandle extends Resource {
270270
* @example
271271
* ```typescript
272272
* import { open, BaseDirectory } from "@tauri-apps/plugin-fs"
273-
* // if "$APP/foo/bar.txt" contains the text "hello world":
273+
* // if "$APPCONFIG/foo/bar.txt" contains the text "hello world":
274274
* const file = await open("foo/bar.txt", { baseDir: BaseDirectory.AppConfig });
275275
* const buf = new Uint8Array(100);
276276
* const numberOfBytesRead = await file.read(buf); // 11 bytes

plugins/fs/permissions/app.toml

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
"$schema" = "schemas/schema.json"
2+
3+
# Scopes Section
4+
# This section contains scopes, which define file level access
5+
6+
[[permission]]
7+
identifier = "scope-app-recursive"
8+
description = "This scope permits recursive access to the complete application folders, including sub directories and files."
9+
10+
[[permission.scope.allow]]
11+
path = "$APPCONFIG"
12+
[[permission.scope.allow]]
13+
path = "$APPCONFIG/**"
14+
15+
[[permission.scope.allow]]
16+
path = "$APPDATA"
17+
[[permission.scope.allow]]
18+
path = "$APPDATA/**"
19+
20+
[[permission.scope.allow]]
21+
path = "$APPLOCALDATA"
22+
[[permission.scope.allow]]
23+
path = "$APPLOCALDATA/**"
24+
25+
[[permission.scope.allow]]
26+
path = "$APPCACHE"
27+
[[permission.scope.allow]]
28+
path = "$APPCACHE/**"
29+
30+
[[permission.scope.allow]]
31+
path = "$APPLOG"
32+
[[permission.scope.allow]]
33+
path = "$APPLOG/**"
34+
35+
[[permission]]
36+
identifier = "scope-app"
37+
description = "This scope permits access to all files and list content of top level directories in the application folders."
38+
39+
[[permission.scope.allow]]
40+
path = "$APPCONFIG"
41+
[[permission.scope.allow]]
42+
path = "$APPCONFIG/*"
43+
44+
[[permission.scope.allow]]
45+
path = "$APPDATA"
46+
[[permission.scope.allow]]
47+
path = "$APPDATA/*"
48+
49+
[[permission.scope.allow]]
50+
path = "$APPLOCALDATA"
51+
[[permission.scope.allow]]
52+
path = "$APPLOCALDATA/*"
53+
54+
[[permission.scope.allow]]
55+
path = "$APPCACHE"
56+
[[permission.scope.allow]]
57+
path = "$APPCACHE/*"
58+
59+
[[permission.scope.allow]]
60+
path = "$APPLOG"
61+
[[permission.scope.allow]]
62+
path = "$APPLOG/*"
63+
64+
[[permission]]
65+
identifier = "scope-app-index"
66+
description = "This scope permits to list all files and folders in the application directories."
67+
68+
[[permission.scope.allow]]
69+
path = "$APPCONFIG"
70+
71+
[[permission.scope.allow]]
72+
path = "$APPDATA"
73+
74+
[[permission.scope.allow]]
75+
path = "$APPLOCALDATA"
76+
77+
[[permission.scope.allow]]
78+
path = "$APPCACHE"
79+
80+
[[permission.scope.allow]]
81+
path = "$APPLOG"
82+
83+
# Sets Section
84+
# This section combines the scope elements with enablement of commands
85+
86+
[[set]]
87+
identifier = "allow-app-read-recursive"
88+
description = "This allows full recursive read access to the complete application folders, files and subdirectories."
89+
permissions = ["read-all", "scope-app-recursive"]
90+
91+
[[set]]
92+
identifier = "allow-app-write-recursive"
93+
description = "This allows full recursive write access to the complete application folders, files and subdirectories."
94+
permissions = ["write-all", "scope-app-recursive"]
95+
96+
[[set]]
97+
identifier = "allow-app-read"
98+
description = "This allows non-recursive read access to the application folders."
99+
permissions = ["read-all", "scope-app"]
100+
101+
[[set]]
102+
identifier = "allow-app-write"
103+
description = "This allows non-recursive write access to the application folders."
104+
permissions = ["write-all", "scope-app"]
105+
106+
[[set]]
107+
identifier = "allow-app-meta-recursive"
108+
description = "This allows full recursive read access to metadata of the application folders, including file listing and statistics."
109+
permissions = ["read-meta", "scope-app-recursive"]
110+
111+
[[set]]
112+
identifier = "allow-app-meta"
113+
description = "This allows non-recursive read access to metadata of the application folders, including file listing and statistics."
114+
permissions = ["read-meta", "scope-app-index"]

plugins/fs/permissions/autogenerated/base-directories/app.toml

Lines changed: 0 additions & 82 deletions
This file was deleted.

plugins/fs/permissions/autogenerated/base-directories/appcache.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ path = "$APPCACHE/**"
1616

1717
[[permission]]
1818
identifier = "scope-appcache"
19-
description = "This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder."
19+
description = "This scope permits access to all files and list content of top level directories in the `$APPCACHE` folder."
2020

2121
[[permission.scope.allow]]
2222
path = "$APPCACHE"

plugins/fs/permissions/autogenerated/base-directories/appconfig.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ path = "$APPCONFIG/**"
1616

1717
[[permission]]
1818
identifier = "scope-appconfig"
19-
description = "This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder."
19+
description = "This scope permits access to all files and list content of top level directories in the `$APPCONFIG` folder."
2020

2121
[[permission.scope.allow]]
2222
path = "$APPCONFIG"

plugins/fs/permissions/autogenerated/base-directories/appdata.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ path = "$APPDATA/**"
1616

1717
[[permission]]
1818
identifier = "scope-appdata"
19-
description = "This scope permits access to all files and list content of top level directories in the `$APPDATA`folder."
19+
description = "This scope permits access to all files and list content of top level directories in the `$APPDATA` folder."
2020

2121
[[permission.scope.allow]]
2222
path = "$APPDATA"

0 commit comments

Comments
 (0)