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}'"))), } }