🐛 Fix NSE

This commit is contained in:
2024-07-23 11:18:06 +08:00
parent f69339292b
commit 58b3d75896
9 changed files with 150 additions and 129 deletions

View File

@@ -38,30 +38,30 @@ PODS:
- file_picker (0.0.1):
- DKImagePickerController/PhotoGallery
- Flutter
- Firebase/CoreOnly (10.27.0):
- FirebaseCore (= 10.27.0)
- Firebase/Messaging (10.27.0):
- Firebase/CoreOnly (10.28.0):
- FirebaseCore (= 10.28.0)
- Firebase/Messaging (10.28.0):
- Firebase/CoreOnly
- FirebaseMessaging (~> 10.27.0)
- firebase_core (3.1.1):
- Firebase/CoreOnly (= 10.27.0)
- FirebaseMessaging (~> 10.28.0)
- firebase_core (3.2.0):
- Firebase/CoreOnly (= 10.28.0)
- Flutter
- firebase_messaging (15.0.2):
- Firebase/Messaging (= 10.27.0)
- firebase_messaging (15.0.3):
- Firebase/Messaging (= 10.28.0)
- firebase_core
- Flutter
- FirebaseCore (10.27.0):
- FirebaseCore (10.28.0):
- FirebaseCoreInternal (~> 10.0)
- GoogleUtilities/Environment (~> 7.12)
- GoogleUtilities/Logger (~> 7.12)
- FirebaseCoreInternal (10.28.0):
- FirebaseCoreInternal (10.29.0):
- "GoogleUtilities/NSData+zlib (~> 7.8)"
- FirebaseInstallations (10.28.0):
- FirebaseInstallations (10.29.0):
- FirebaseCore (~> 10.0)
- GoogleUtilities/Environment (~> 7.8)
- GoogleUtilities/UserDefaults (~> 7.8)
- PromisesObjC (~> 2.1)
- FirebaseMessaging (10.27.0):
- FirebaseMessaging (10.28.0):
- FirebaseCore (~> 10.0)
- FirebaseInstallations (~> 10.0)
- GoogleDataTransport (~> 9.3)
@@ -73,9 +73,9 @@ PODS:
- Flutter (1.0.0)
- flutter_secure_storage (6.0.0):
- Flutter
- flutter_webrtc (0.9.36):
- flutter_webrtc (0.11.3):
- Flutter
- WebRTC-SDK (= 114.5735.10)
- WebRTC-SDK (= 125.6422.04)
- GoogleDataTransport (9.4.1):
- GoogleUtilities/Environment (~> 7.7)
- nanopb (< 2.30911.0, >= 2.30908.0)
@@ -107,9 +107,9 @@ PODS:
- GoogleUtilities/Privacy
- image_picker_ios (0.0.1):
- Flutter
- livekit_client (2.2.0):
- livekit_client (2.2.1):
- Flutter
- WebRTC-SDK (= 114.5735.10)
- WebRTC-SDK (= 125.6422.04)
- media_kit_libs_ios_video (1.0.4):
- Flutter
- media_kit_native_event_loop (1.0.0):
@@ -135,14 +135,14 @@ PODS:
- Flutter
- screen_brightness_ios (0.1.0):
- Flutter
- SDWebImage (5.19.2):
- SDWebImage/Core (= 5.19.2)
- SDWebImage/Core (5.19.2)
- Sentry/HybridSDK (8.29.0)
- sentry_flutter (8.3.0):
- SDWebImage (5.19.4):
- SDWebImage/Core (= 5.19.4)
- SDWebImage/Core (5.19.4)
- Sentry/HybridSDK (8.30.1)
- sentry_flutter (8.4.0):
- Flutter
- FlutterMacOS
- Sentry/HybridSDK (= 8.29.0)
- Sentry/HybridSDK (= 8.30.1)
- sqflite (0.0.3):
- Flutter
- FlutterMacOS
@@ -153,7 +153,7 @@ PODS:
- Flutter
- wakelock_plus (0.0.1):
- Flutter
- WebRTC-SDK (114.5735.10)
- WebRTC-SDK (125.6422.04)
DEPENDENCIES:
- connectivity_plus (from `.symlinks/plugins/connectivity_plus/darwin`)
@@ -255,20 +255,20 @@ SPEC CHECKSUMS:
DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655
Firebase: 26b040b20866a55f55eb3611b9fcf3ae64816b86
firebase_core: f8d0424c45e0f1e596811085fc12c638d628457c
firebase_messaging: 8b29edaf5adfd3b52b5bfa5af8128c44164670c6
FirebaseCore: a2b95ae4ce7c83ceecfbbbe3b6f1cddc7415a808
FirebaseCoreInternal: 58d07f1362fddeb0feb6a857d1d1d1c5e558e698
FirebaseInstallations: 60c1d3bc1beef809fd1ad1189a8057a040c59f2e
FirebaseMessaging: 585984d0a1df120617eb10b44cad8968b859815e
Firebase: 5121c624121af81cbc81df3bda414b3c28c4f3c3
firebase_core: a9d0180d5285527884d07a41eb4a9ec9ed12cdb6
firebase_messaging: ccc82a143a74de75f440a4e413dbbb37ec3fddbc
FirebaseCore: 857dc1c6dd1255675047404d8466f7dfaac5d779
FirebaseCoreInternal: df84dd300b561c27d5571684f389bf60b0a5c934
FirebaseInstallations: 913cf60d0400ebd5d6b63a28b290372ab44590dd
FirebaseMessaging: 087a7c7cadef7b9239f005bc4db823894844f323
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12
flutter_webrtc: b33475c3a57d59ff05bf87b4f5d3feceac63f291
flutter_webrtc: 75b868e4f9e817c7a9a42ca4b6169063de4eec9f
GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a
GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15
image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1
livekit_client: 2b3f5185f95d46d62d3570bf981f3d98ad3051e2
livekit_client: 411d387fd6f993851081069afbe7f04a8e974f1b
media_kit_libs_ios_video: a5fe24bc7875ccd6378a0978c13185e1344651c1
media_kit_native_event_loop: e6b2ab20cf0746eb1c33be961fcf79667304fa2a
media_kit_video: 5da63f157170e5bf303bf85453b7ef6971218a2e
@@ -280,15 +280,15 @@ SPEC CHECKSUMS:
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
protocol_handler_ios: a5db8abc38526ee326988b808be621e5fd568990
screen_brightness_ios: 715ca807df953bf676d339f11464e438143ee625
SDWebImage: dfe95b2466a9823cf9f0c6d01217c06550d7b29a
Sentry: 016de45ee5ce5fca2a829996f1bfafeb5e62e8b4
sentry_flutter: 5fb57c5b7e6427a9dc1fedde4269eb65823982d4
SDWebImage: 066c47b573f408f18caa467d71deace7c0f8280d
Sentry: 514a3ea653886e9a48c6287d8b7bf05ec24bf3be
sentry_flutter: edc037f7af0dc1512d6c33a5c2c7c838bd0d6806
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec
SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
volume_controller: 531ddf792994285c9b17f9d8a7e4dcdd29b3eae9
wakelock_plus: 78ec7c5b202cab7761af8e2b2b3d0671be6c4ae1
WebRTC-SDK: 8c0edd05b880a39648118192c252667ea06dea51
WebRTC-SDK: c3d69a87e7185fad3568f6f3cff7c9ac5890acf3
PODFILE CHECKSUM: a57f30d18f102dd3ce366b1d62a55ecbef2158e5

View File

@@ -29,14 +29,12 @@ class NotificationService: UNNotificationServiceExtension {
guard let metadata = bestAttemptContent.userInfo["metadata"] as? [AnyHashable : Any] else {
throw ParseNotificationPayloadError.noMetadata("The notification has no metadata.")
}
let userId = metadata["user_id"] as! Int
let userName = metadata["user_name"] as? String
guard let avatarUrl = bestAttemptContent.userInfo["avatar"] as? String else {
throw ParseNotificationPayloadError.noMetadata("The notification has no avatar url.")
}
let handle = INPersonHandle(value: String(userId), type: .unknown)
let handle = INPersonHandle(value: String(metadata["user_id"] as! Int), type: .unknown)
let avatar = INImage(
url: URL(string: avatarUrl)!
)!
@@ -45,19 +43,22 @@ class NotificationService: UNNotificationServiceExtension {
displayName: bestAttemptContent.title,
image: avatar,
contactIdentifier: nil,
customIdentifier: userName)
customIdentifier: nil)
let intent = INSendMessageIntent(recipients: nil,
outgoingMessageType: .outgoingMessageText,
content: bestAttemptContent.body,
speakableGroupName: nil,
conversationIdentifier: String(metadata["channel_id"] as! Int),
serviceName: "PostPigeon",
serviceName: nil,
sender: sender,
attachments: nil)
let interaction = INInteraction(intent: intent, response: nil)
interaction.direction = .incoming
interaction.donate(completion: nil)
let updatedContent = try request.content.updating(from: intent)
contentHandler(updatedContent)
break
default:
contentHandler(bestAttemptContent)