From 8902fe9adf256c52e7e6a14370f56d0b4780a3a2 Mon Sep 17 00:00:00 2001 From: Lucas Fernandes Nogueira Date: Sat, 30 Sep 2023 10:09:21 -0300 Subject: [PATCH] fix(notification): permission on mobile returns `prompt` (#627) --- .changes/fix-permission-notification.md | 5 +++++ plugins/notification/ios/Sources/NotificationPlugin.swift | 4 ++-- plugins/notification/src/init.js | 7 +++++-- plugins/notification/src/models.rs | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 .changes/fix-permission-notification.md diff --git a/.changes/fix-permission-notification.md b/.changes/fix-permission-notification.md new file mode 100644 index 00000000..a3377880 --- /dev/null +++ b/.changes/fix-permission-notification.md @@ -0,0 +1,5 @@ +--- +"notification": patch +--- + +Fix permission prompt. diff --git a/plugins/notification/ios/Sources/NotificationPlugin.swift b/plugins/notification/ios/Sources/NotificationPlugin.swift index 29e01865..2f431c73 100644 --- a/plugins/notification/ios/Sources/NotificationPlugin.swift +++ b/plugins/notification/ios/Sources/NotificationPlugin.swift @@ -120,9 +120,9 @@ class NotificationPlugin: Plugin { case .denied: permission = "denied" case .notDetermined: - permission = "default" + permission = "prompt" @unknown default: - permission = "default" + permission = "prompt" } invoke.resolve(["permissionState": permission]) diff --git a/plugins/notification/src/init.js b/plugins/notification/src/init.js index 297b351c..86bde6fa 100644 --- a/plugins/notification/src/init.js +++ b/plugins/notification/src/init.js @@ -21,9 +21,12 @@ } function requestPermission() { - return window.__TAURI_INVOKE__("plugin:notification|request_permission") + return window + .__TAURI_INVOKE__("plugin:notification|request_permission") .then(function (permission) { - setNotificationPermission(permission); + setNotificationPermission( + permission === "prompt" ? "default" : permission, + ); return permission; }); } diff --git a/plugins/notification/src/models.rs b/plugins/notification/src/models.rs index df2ae5c1..063a3702 100644 --- a/plugins/notification/src/models.rs +++ b/plugins/notification/src/models.rs @@ -236,7 +236,7 @@ impl<'de> Deserialize<'de> for PermissionState { match s.to_lowercase().as_str() { "granted" => Ok(Self::Granted), "denied" => Ok(Self::Denied), - "default" => Ok(Self::Unknown), + "prompt" => Ok(Self::Unknown), _ => Err(DeError::custom(format!("unknown permission state '{s}'"))), } }