From 72df2e4a0445f69a4bec48992b97bb668c38af70 Mon Sep 17 00:00:00 2001 From: Tony <68118705+Legend-Master@users.noreply.github.com> Date: Sun, 16 Mar 2025 18:33:41 +0800 Subject: [PATCH] refactor: remove permission description from runtime (#12994) * Remove description from runtime * Just use none instead * global_scope_schema and add comments about it * Tweak wording * remove comments [skip ci] --------- Co-authored-by: Lucas Nogueira --- .../schemas/permission.schema.json | 2 +- crates/tauri-utils/src/acl/manifest.rs | 11 +++++++---- crates/tauri-utils/src/acl/mod.rs | 8 +++++--- .../permissions/schemas/schema.json | 4 ++-- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/crates/tauri-schema-generator/schemas/permission.schema.json b/crates/tauri-schema-generator/schemas/permission.schema.json index 59aefcfe9..b13ba4851 100644 --- a/crates/tauri-schema-generator/schemas/permission.schema.json +++ b/crates/tauri-schema-generator/schemas/permission.schema.json @@ -21,7 +21,7 @@ "type": "string" }, "description": { - "description": "Human-readable description of what the permission does.\n Tauri internal convention is to use

headings in markdown content\n for Tauri documentation generation purposes.", + "description": "Human-readable description of what the permission does.\n Tauri internal convention is to use `

` headings in markdown content\n for Tauri documentation generation purposes.", "type": [ "string", "null" diff --git a/crates/tauri-utils/src/acl/manifest.rs b/crates/tauri-utils/src/acl/manifest.rs index 8cbdbed8f..8c4eed0fd 100644 --- a/crates/tauri-utils/src/acl/manifest.rs +++ b/crates/tauri-utils/src/acl/manifest.rs @@ -21,7 +21,7 @@ pub struct DefaultPermission { pub version: Option, /// Human-readable description of what the permission does. - /// Tauri convention is to use

headings in markdown content + /// Tauri convention is to use `

` headings in markdown content /// for Tauri documentation generation purposes. pub description: Option, @@ -141,7 +141,8 @@ mod build { let v = v.get(); quote!(::core::num::NonZeroU64::new(#v).unwrap()) })); - let description = opt_str_lit(self.description.as_ref()); + // Only used in build script and macros, so don't include them in runtime + let description = quote! { ::core::option::Option::None }; let permissions = vec_lit(&self.permissions, str_lit); literal_struct!( tokens, @@ -171,8 +172,10 @@ mod build { identity, ); - let global_scope_schema = - opt_lit_owned(self.global_scope_schema.as_ref().map(json_value_lit)); + // Only used in build script and macros, so don't include them in runtime + // let global_scope_schema = + // opt_lit_owned(self.global_scope_schema.as_ref().map(json_value_lit)); + let global_scope_schema = quote! { ::core::option::Option::None }; literal_struct!( tokens, diff --git a/crates/tauri-utils/src/acl/mod.rs b/crates/tauri-utils/src/acl/mod.rs index 1679e76c7..1ebd2a24e 100644 --- a/crates/tauri-utils/src/acl/mod.rs +++ b/crates/tauri-utils/src/acl/mod.rs @@ -230,7 +230,7 @@ pub struct Permission { pub identifier: String, /// Human-readable description of what the permission does. - /// Tauri internal convention is to use

headings in markdown content + /// Tauri internal convention is to use `

` headings in markdown content /// for Tauri documentation generation purposes. #[serde(skip_serializing_if = "Option::is_none")] pub description: Option, @@ -519,7 +519,8 @@ mod build_ { quote!(::core::num::NonZeroU64::new(#v).unwrap()) })); let identifier = str_lit(&self.identifier); - let description = opt_str_lit(self.description.as_ref()); + // Only used in build script and macros, so don't include them in runtime + let description = quote! { ::core::option::Option::None }; let commands = &self.commands; let scope = &self.scope; let platforms = opt_vec_lit(self.platforms.as_ref(), identity); @@ -540,7 +541,8 @@ mod build_ { impl ToTokens for PermissionSet { fn to_tokens(&self, tokens: &mut TokenStream) { let identifier = str_lit(&self.identifier); - let description = str_lit(&self.description); + // Only used in build script and macros, so don't include them in runtime + let description = quote! { "".to_string() }; let permissions = vec_lit(&self.permissions, str_lit); literal_struct!( tokens, diff --git a/examples/api/src-tauri/tauri-plugin-sample/permissions/schemas/schema.json b/examples/api/src-tauri/tauri-plugin-sample/permissions/schemas/schema.json index 73caf69da..942195b6d 100644 --- a/examples/api/src-tauri/tauri-plugin-sample/permissions/schemas/schema.json +++ b/examples/api/src-tauri/tauri-plugin-sample/permissions/schemas/schema.json @@ -49,7 +49,7 @@ "minimum": 1.0 }, "description": { - "description": "Human-readable description of what the permission does.\n Tauri convention is to use

headings in markdown content\n for Tauri documentation generation purposes.", + "description": "Human-readable description of what the permission does.\n Tauri convention is to use `

` headings in markdown content\n for Tauri documentation generation purposes.", "type": [ "string", "null" @@ -111,7 +111,7 @@ "type": "string" }, "description": { - "description": "Human-readable description of what the permission does.\n Tauri internal convention is to use

headings in markdown content\n for Tauri documentation generation purposes.", + "description": "Human-readable description of what the permission does.\n Tauri internal convention is to use `

` headings in markdown content\n for Tauri documentation generation purposes.", "type": [ "string", "null"