From 502c3a6afd509bb978fcff918ced7124715ed95a Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Mon, 14 Sep 2026 14:30:26 +0800 Subject: [PATCH] refactor(ios): reuse approval prompt parsing (#147985) --- .../Push/ExecApprovalNotificationBridge.swift | 20 ------------------- .../ExecApprovalNotificationBridgeTests.swift | 15 ++++++-------- 2 files changed, 6 insertions(+), 29 deletions(-) diff --git a/apps/ios/Sources/Push/ExecApprovalNotificationBridge.swift b/apps/ios/Sources/Push/ExecApprovalNotificationBridge.swift index 4e70040f93d6..40db5809bd51 100644 --- a/apps/ios/Sources/Push/ExecApprovalNotificationBridge.swift +++ b/apps/ios/Sources/Push/ExecApprovalNotificationBridge.swift @@ -366,16 +366,6 @@ enum ExecApprovalNotificationBridge { configuration: self.configuration) } - static func parsePrompt( - actionIdentifier: String, - userInfo: [AnyHashable: Any]) -> ApprovalNotificationPrompt? - { - ApprovalNotificationBridge.parsePrompt( - actionIdentifier: actionIdentifier, - userInfo: userInfo, - configuration: self.configuration) - } - static func parseRequestedPush(userInfo: [AnyHashable: Any]) -> ApprovalNotificationPrompt? { ApprovalNotificationBridge.parseRequestedPush( userInfo: userInfo, @@ -404,16 +394,6 @@ enum PluginApprovalNotificationBridge { configuration: self.configuration) } - static func parsePrompt( - actionIdentifier: String, - userInfo: [AnyHashable: Any]) -> ApprovalNotificationPrompt? - { - ApprovalNotificationBridge.parsePrompt( - actionIdentifier: actionIdentifier, - userInfo: userInfo, - configuration: self.configuration) - } - static func parseRequestedPush(userInfo: [AnyHashable: Any]) -> ApprovalNotificationPrompt? { ApprovalNotificationBridge.parseRequestedPush( userInfo: userInfo, diff --git a/apps/ios/Tests/ExecApprovalNotificationBridgeTests.swift b/apps/ios/Tests/ExecApprovalNotificationBridgeTests.swift index 91a825a825c4..7cf30f940fc6 100644 --- a/apps/ios/Tests/ExecApprovalNotificationBridgeTests.swift +++ b/apps/ios/Tests/ExecApprovalNotificationBridgeTests.swift @@ -35,7 +35,7 @@ private final class MockNotificationCenter: NotificationCentering, @unchecked Se @Suite(.serialized) struct ExecApprovalNotificationBridgeTests { @Test func `parse prompt maps default notification tap`() { - let prompt = ExecApprovalNotificationBridge.parsePrompt( + let prompt = ApprovalNotificationBridge.parsePrompt( actionIdentifier: UNNotificationDefaultActionIdentifier, userInfo: [ "openclaw": [ @@ -51,7 +51,7 @@ private final class MockNotificationCenter: NotificationCentering, @unchecked Se } @Test func `parse prompt maps review action`() { - let prompt = ExecApprovalNotificationBridge.parsePrompt( + let prompt = ApprovalNotificationBridge.parsePrompt( actionIdentifier: ExecApprovalNotificationBridge.reviewActionIdentifier, userInfo: [ "openclaw": [ @@ -67,7 +67,7 @@ private final class MockNotificationCenter: NotificationCentering, @unchecked Se } @Test func `parse prompt ignores unexpected action identifiers`() { - let prompt = ExecApprovalNotificationBridge.parsePrompt( + let prompt = ApprovalNotificationBridge.parsePrompt( actionIdentifier: "openclaw.exec-approval.allow-once", userInfo: [ "openclaw": [ @@ -326,12 +326,9 @@ private final class MockNotificationCenter: NotificationCentering, @unchecked Se ], ] - #expect(PluginApprovalNotificationBridge.parsePrompt( + #expect(ApprovalNotificationBridge.parsePrompt( actionIdentifier: UNNotificationDefaultActionIdentifier, userInfo: userInfo)?.kind == .plugin) - #expect(PluginApprovalNotificationBridge.parsePrompt( - actionIdentifier: PluginApprovalNotificationBridge.reviewActionIdentifier, - userInfo: userInfo)?.kind == .plugin) #expect(ApprovalNotificationBridge.parsePrompt( actionIdentifier: PluginApprovalNotificationBridge.reviewActionIdentifier, userInfo: userInfo)?.kind == .plugin) @@ -353,10 +350,10 @@ private final class MockNotificationCenter: NotificationCentering, @unchecked Se #expect(PluginApprovalNotificationBridge.parseRequestedPush(userInfo: execUserInfo) == nil) #expect(ExecApprovalNotificationBridge.parseRequestedPush(userInfo: pluginUserInfo) == nil) - #expect(PluginApprovalNotificationBridge.parsePrompt( + #expect(ApprovalNotificationBridge.parsePrompt( actionIdentifier: ExecApprovalNotificationBridge.reviewActionIdentifier, userInfo: pluginUserInfo) == nil) - #expect(ExecApprovalNotificationBridge.parsePrompt( + #expect(ApprovalNotificationBridge.parsePrompt( actionIdentifier: PluginApprovalNotificationBridge.reviewActionIdentifier, userInfo: execUserInfo) == nil) }