* Add ios native logs
* Use correct version
* Revert unneeded changes in package-lock
(cherry picked from commit a1ccdcb0da)
Co-authored-by: Daniel Espino García <larkox@gmail.com>
This commit is contained in:
parent
d17516e8c7
commit
f488718b51
7 changed files with 123 additions and 33 deletions
|
|
@ -16,6 +16,7 @@
|
|||
27C667A529523F0A00E590D5 /* Sentry in Frameworks */ = {isa = PBXBuildFile; productRef = 27C667A429523F0A00E590D5 /* Sentry */; };
|
||||
27C667A9295241B600E590D5 /* Sentry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27C667A8295241B600E590D5 /* Sentry.swift */; };
|
||||
27C667AA295241B600E590D5 /* Sentry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27C667A8295241B600E590D5 /* Sentry.swift */; };
|
||||
413A0FD06EA0DB2B3F30403F /* libPods-NotificationService.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AEDDC97F55A1F6C056C6B1BC /* libPods-NotificationService.a */; };
|
||||
49AE370126D4455D00EF4E52 /* Gekidou in Frameworks */ = {isa = PBXBuildFile; productRef = 49AE370026D4455D00EF4E52 /* Gekidou */; };
|
||||
536CC6C323E79287002C478C /* RNNotificationEventHandler+HandleReplyAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 536CC6C123E79287002C478C /* RNNotificationEventHandler+HandleReplyAction.m */; };
|
||||
58495E36BF1A4EAB93609E57 /* Metropolis-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 54956DEFEBB74EF78C3A6AE5 /* Metropolis-SemiBold.ttf */; };
|
||||
|
|
@ -379,6 +380,8 @@
|
|||
83ABFD0F2C1C90D90029685B /* calls_cheerful.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = calls_cheerful.mp3; path = ../assets/sounds/calls_cheerful.mp3; sourceTree = "<group>"; };
|
||||
83ABFD102C1C90D90029685B /* calls_calm.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = calls_calm.mp3; path = ../assets/sounds/calls_calm.mp3; sourceTree = "<group>"; };
|
||||
83ABFD112C1C90D90029685B /* calls_urgent.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = calls_urgent.mp3; path = ../assets/sounds/calls_urgent.mp3; sourceTree = "<group>"; };
|
||||
A10297DBBE728B2BF1BC045E /* Pods-NotificationService.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NotificationService.debug.xcconfig"; path = "Target Support Files/Pods-NotificationService/Pods-NotificationService.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
AEDDC97F55A1F6C056C6B1BC /* libPods-NotificationService.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NotificationService.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
BC977883E2624E05975CA65B /* OpenSans-Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-Regular.ttf"; path = "../assets/fonts/OpenSans-Regular.ttf"; sourceTree = "<group>"; };
|
||||
BE17F630DB5D41FD93F32D22 /* OpenSans-LightItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-LightItalic.ttf"; path = "../assets/fonts/OpenSans-LightItalic.ttf"; sourceTree = "<group>"; };
|
||||
C9A1070F2BBD7C8700753CDC /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
|
||||
|
|
@ -388,6 +391,7 @@
|
|||
E5C16B14E1CE4868886A1A00 /* OpenSans-SemiBold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-SemiBold.ttf"; path = "../assets/fonts/OpenSans-SemiBold.ttf"; sourceTree = "<group>"; };
|
||||
E7BEDFCF1660521CCB3EADEF /* Pods-Mattermost.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Mattermost.release.xcconfig"; path = "Target Support Files/Pods-Mattermost/Pods-Mattermost.release.xcconfig"; sourceTree = "<group>"; };
|
||||
FBBEC29EE2D3418D9AC33BD5 /* OpenSans-ExtraBoldItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-ExtraBoldItalic.ttf"; path = "../assets/fonts/OpenSans-ExtraBoldItalic.ttf"; sourceTree = "<group>"; };
|
||||
FF7D3AE3E5E892576497A111 /* Pods-NotificationService.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NotificationService.release.xcconfig"; path = "Target Support Files/Pods-NotificationService/Pods-NotificationService.release.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
|
|
@ -406,6 +410,7 @@
|
|||
files = (
|
||||
49AE370126D4455D00EF4E52 /* Gekidou in Frameworks */,
|
||||
27C667A329523ECA00E590D5 /* Sentry in Frameworks */,
|
||||
413A0FD06EA0DB2B3F30403F /* libPods-NotificationService.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -527,6 +532,8 @@
|
|||
children = (
|
||||
2E17B88EAD6181B9E9A24084 /* Pods-Mattermost.debug.xcconfig */,
|
||||
E7BEDFCF1660521CCB3EADEF /* Pods-Mattermost.release.xcconfig */,
|
||||
A10297DBBE728B2BF1BC045E /* Pods-NotificationService.debug.xcconfig */,
|
||||
FF7D3AE3E5E892576497A111 /* Pods-NotificationService.release.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -561,6 +568,7 @@
|
|||
7F43D6051F6BF9EB001FC614 /* libPods-Mattermost.a */,
|
||||
81061F4CBB31484A94D5A8EE /* libz.tbd */,
|
||||
7A83BBA09DE89A630126EA06 /* libPods-Mattermost.a */,
|
||||
AEDDC97F55A1F6C056C6B1BC /* libPods-NotificationService.a */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -1080,9 +1088,11 @@
|
|||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 7F581D82221ED5C60099E66B /* Build configuration list for PBXNativeTarget "NotificationService" */;
|
||||
buildPhases = (
|
||||
656D4CFDAC0EC1C1E94D9329 /* [CP] Check Pods Manifest.lock */,
|
||||
7F581D2E221ED5C60099E66B /* Sources */,
|
||||
7F581D2F221ED5C60099E66B /* Frameworks */,
|
||||
7F581D30221ED5C60099E66B /* Resources */,
|
||||
FABCD84BD2A468FFB374B89C /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
|
|
@ -1473,6 +1483,28 @@
|
|||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Mattermost/Pods-Mattermost-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
656D4CFDAC0EC1C1E94D9329 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-NotificationService-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
A40F47AC8A062DFCF1B2A23E /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
|
@ -1529,6 +1561,24 @@
|
|||
shellPath = /bin/sh;
|
||||
shellScript = "./uploadDebugSymbols.sh\n";
|
||||
};
|
||||
FABCD84BD2A468FFB374B89C /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-NotificationService/Pods-NotificationService-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjackPrivacy.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/CocoaLumberjackPrivacy.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-NotificationService/Pods-NotificationService-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
|
|
@ -2070,6 +2120,7 @@
|
|||
};
|
||||
7F581D3A221ED5C60099E66B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = A10297DBBE728B2BF1BC045E /* Pods-NotificationService.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
|
|
@ -2118,6 +2169,7 @@
|
|||
};
|
||||
7F581D3B221ED5C60099E66B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FF7D3AE3E5E892576497A111 /* Pods-NotificationService.release.xcconfig */;
|
||||
buildSettings = {
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#import <RNKeychain/RNKeychainManager.h>
|
||||
#import <ReactNativeNavigation/ReactNativeNavigation.h>
|
||||
#import <UserNotifications/UserNotifications.h>
|
||||
#import <TurboLogIOSNative/TurboLog.h>
|
||||
|
||||
#import "Mattermost-Swift.h"
|
||||
#import <os/log.h>
|
||||
|
|
@ -28,6 +29,15 @@ NSString* const NOTIFICATION_TEST_ACTION = @"test";
|
|||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
||||
{
|
||||
NSString *appGroupId = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"AppGroupIdentifier"];
|
||||
NSURL *containerURL = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:appGroupId];
|
||||
containerURL = [containerURL URLByAppendingPathComponent:@"Logs"];
|
||||
NSError *error = nil;
|
||||
[TurboLog configureWithDailyRolling:FALSE maximumFileSize:1024*1024 maximumNumberOfFiles:2 logsDirectory:containerURL.path logsFilename:@"MMLogs" error:&error];
|
||||
if (error) {
|
||||
NSLog(@"Failed to configure TurboLog: %@", error.localizedDescription);
|
||||
}
|
||||
[TurboLog writeWithLogLevel:TurboLogLevelInfo message:@[@"Configured turbolog"]];
|
||||
OrientationManager.shared.delegate = self;
|
||||
|
||||
// Clear keychain on first run in case of reinstallation
|
||||
|
|
@ -35,7 +45,7 @@ NSString* const NOTIFICATION_TEST_ACTION = @"test";
|
|||
|
||||
RNKeychainManager *keychain = [[RNKeychainManager alloc] init];
|
||||
NSArray<NSString*> *servers = [keychain getAllServersForInternetPasswords];
|
||||
NSLog(@"Servers %@", servers);
|
||||
[TurboLog writeWithLogLevel:TurboLogLevelInfo message:@[@"Servers", servers]];
|
||||
for (NSString *server in servers) {
|
||||
[keychain deleteCredentialsForServer:server withOptions:nil];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import Gekidou
|
|||
import UserNotifications
|
||||
import Intents
|
||||
import os.log
|
||||
import TurboLogIOSNative
|
||||
|
||||
class NotificationService: UNNotificationServiceExtension {
|
||||
var contentHandler: ((UNNotificationContent) -> Void)?
|
||||
|
|
@ -10,38 +11,47 @@ class NotificationService: UNNotificationServiceExtension {
|
|||
override init() {
|
||||
super.init()
|
||||
initSentryAppExt()
|
||||
do {
|
||||
let appGroupId = Bundle.main.object(forInfoDictionaryKey: "AppGroupIdentifier") as! String
|
||||
let containerUrl = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: appGroupId)
|
||||
try TurboLogIOSNative.TurboLogger.configure(dailyRolling: false, maximumFileSize: 1024*1024, maximumNumberOfFiles: 2, logsDirectory: containerUrl!.appendingPathComponent("Logs").path, logsFilename: "MMLogs")
|
||||
} catch {
|
||||
os_log(OSLogType.default, "Failed to configure TurboLogger: %{public}@", String(describing: error))
|
||||
}
|
||||
}
|
||||
|
||||
override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
|
||||
self.contentHandler = contentHandler
|
||||
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: received notification")
|
||||
bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)
|
||||
if let bestAttemptContent = bestAttemptContent {
|
||||
PushNotification.default.postNotificationReceipt(bestAttemptContent, completionHandler: {[weak self] notification in
|
||||
if let notification = notification {
|
||||
self?.bestAttemptContent = notification
|
||||
if (!PushNotification.default.verifySignatureFromNotification(notification)) {
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: signature not verified. Will call sendInvalidNotificationIntent")
|
||||
self?.sendInvalidNotificationIntent()
|
||||
return
|
||||
}
|
||||
if (Gekidou.Preferences.default.object(forKey: "ApplicationIsRunning") as? String != "true") {
|
||||
PushNotification.default.fetchAndStoreDataForPushNotification(bestAttemptContent, withContentHandler: {notification in
|
||||
os_log(OSLogType.default, "Mattermost Notifications: processed data for db. Will call sendMessageIntent")
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: processed data for db. Will call sendMessageIntent")
|
||||
self?.sendMessageIntent()
|
||||
})
|
||||
} else {
|
||||
bestAttemptContent.badge = nil
|
||||
os_log(OSLogType.default, "Mattermost Notifications: app in use, no data processed. Will call sendMessageIntent")
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: app in use, no data processed. Will call sendMessageIntent")
|
||||
self?.sendMessageIntent()
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
os_log(OSLogType.default, "Mattermost Notifications: notification receipt seems to be empty, will call sendMessageIntent")
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: notification receipt seems to be empty, will call sendMessageIntent")
|
||||
self?.sendMessageIntent()
|
||||
})
|
||||
} else {
|
||||
os_log(OSLogType.default, "Mattermost Notifications: bestAttemptContent seems to be empty, will call sendMessageIntent")
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: bestAttemptContent seems to be empty, will call sendMessageIntent")
|
||||
sendMessageIntent()
|
||||
}
|
||||
}
|
||||
|
|
@ -49,8 +59,8 @@ class NotificationService: UNNotificationServiceExtension {
|
|||
override func serviceExtensionTimeWillExpire() {
|
||||
// Called just before the extension will be terminated by the system.
|
||||
// Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used.
|
||||
os_log(OSLogType.default, "Mattermost Notifications: service extension time expired")
|
||||
os_log(OSLogType.default, "Mattermost Notifications: calling sendMessageIntent before expiration")
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: service extension time expired")
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: calling sendMessageIntent before expiration")
|
||||
sendMessageIntent()
|
||||
}
|
||||
|
||||
|
|
@ -62,13 +72,13 @@ class NotificationService: UNNotificationServiceExtension {
|
|||
|
||||
guard let serverUrl = notification.userInfo["server_url"] as? String
|
||||
else {
|
||||
os_log(OSLogType.default, "Mattermost Notifications: No intent created. will call contentHandler to present notification")
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: No intent created. will call contentHandler to present notification")
|
||||
self.contentHandler?(notification)
|
||||
return
|
||||
}
|
||||
|
||||
let overrideIconUrl = notification.userInfo["override_icon_url"] as? String
|
||||
os_log(OSLogType.default, "Mattermost Notifications: Fetching profile Image in server %{public}@ for sender %{public}@", serverUrl, senderId ?? overrideUsername ?? "no sender is set")
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: Fetching profile Image in server", serverUrl, "for sender", senderId ?? overrideUsername ?? "no sender is set")
|
||||
if senderId != nil || overrideIconUrl != nil {
|
||||
PushNotification.default.fetchProfileImageSync(serverUrl, senderId: senderId ?? "", overrideIconUrl: overrideIconUrl) {[weak self] data in
|
||||
self?.sendMessageIntentCompletion(data)
|
||||
|
|
@ -81,7 +91,7 @@ class NotificationService: UNNotificationServiceExtension {
|
|||
|
||||
private func sendInvalidNotificationIntent() {
|
||||
guard let notification = bestAttemptContent else { return }
|
||||
os_log(OSLogType.default, "Mattermost Notifications: creating invalid intent")
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: creating invalid intent")
|
||||
|
||||
bestAttemptContent?.body = NSLocalizedString( "native.ios.notifications.not_verified",
|
||||
value: "We could not verify this notification with the server",
|
||||
|
|
@ -103,15 +113,15 @@ class NotificationService: UNNotificationServiceExtension {
|
|||
interaction.donate { error in
|
||||
if error != nil {
|
||||
self.contentHandler?(notification)
|
||||
os_log(OSLogType.default, "Mattermost Notifications: sendMessageIntent intent error %{public}@", error! as CVarArg)
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: sendMessageIntent intent error", error! as CVarArg)
|
||||
}
|
||||
|
||||
do {
|
||||
let updatedContent = try notification.updating(from: intent)
|
||||
os_log(OSLogType.default, "Mattermost Notifications: present updated notification")
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: present updated notification")
|
||||
self.contentHandler?(updatedContent)
|
||||
} catch {
|
||||
os_log(OSLogType.default, "Mattermost Notifications: something failed updating the notification %{public}@", error as CVarArg)
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: something failed updating the notification", error as CVarArg)
|
||||
self.contentHandler?(notification)
|
||||
}
|
||||
}
|
||||
|
|
@ -125,7 +135,7 @@ class NotificationService: UNNotificationServiceExtension {
|
|||
if #available(iOSApplicationExtension 15.0, *),
|
||||
let imgData = avatarData,
|
||||
let channelId = notification.userInfo["channel_id"] as? String {
|
||||
os_log(OSLogType.default, "Mattermost Notifications: creating intent")
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: creating intent")
|
||||
|
||||
let isCRTEnabled = notification.userInfo["is_crt_enabled"] as? Bool ?? false
|
||||
let rootId = notification.userInfo["root_id"] as? String ?? ""
|
||||
|
|
@ -171,15 +181,15 @@ class NotificationService: UNNotificationServiceExtension {
|
|||
interaction.donate { error in
|
||||
if error != nil {
|
||||
self.contentHandler?(notification)
|
||||
os_log(OSLogType.default, "Mattermost Notifications: sendMessageIntent intent error %{public}@", error! as CVarArg)
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: sendMessageIntent intent error", error! as CVarArg)
|
||||
}
|
||||
|
||||
do {
|
||||
let updatedContent = try notification.updating(from: intent)
|
||||
os_log(OSLogType.default, "Mattermost Notifications: present updated notification")
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: present updated notification")
|
||||
self.contentHandler?(updatedContent)
|
||||
} catch {
|
||||
os_log(OSLogType.default, "Mattermost Notifications: something failed updating the notification %{public}@", error as CVarArg)
|
||||
TurboLogIOSNative.TurboLogger.write(level: .info, message: "Mattermost Notifications: something failed updating the notification", error as CVarArg)
|
||||
self.contentHandler?(notification)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,6 +43,8 @@ target 'Mattermost' do
|
|||
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi', :modular_headers => true
|
||||
pod 'React-jsc', :path => '../node_modules/react-native/ReactCommon/jsc', :modular_headers => true
|
||||
pod 'simdjson', path: '../node_modules/@nozbe/simdjson', :modular_headers => true
|
||||
pod 'CocoaLumberjack', :modular_headers => true
|
||||
pod 'TurboLogIOSNative', :git => 'https://github.com/larkox/react-native-turbo-log-ios-native.git', :modular_headers => true
|
||||
|
||||
post_install do |installer|
|
||||
# https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
|
||||
|
|
@ -59,3 +61,8 @@ target 'Mattermost' do
|
|||
# end
|
||||
end
|
||||
end
|
||||
|
||||
target 'NotificationService' do
|
||||
pod 'TurboLogIOSNative', :git => 'https://github.com/larkox/react-native-turbo-log-ios-native.git', :modular_headers => true
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ PODS:
|
|||
- DoubleConversion (1.1.6)
|
||||
- EXApplication (6.0.1):
|
||||
- ExpoModulesCore
|
||||
- EXConstants (17.0.3):
|
||||
- EXConstants (17.0.5):
|
||||
- ExpoModulesCore
|
||||
- Expo (52.0.19):
|
||||
- ExpoModulesCore
|
||||
|
|
@ -15,7 +15,7 @@ PODS:
|
|||
- ExpoModulesCore
|
||||
- ExpoDevice (7.0.1):
|
||||
- ExpoModulesCore
|
||||
- ExpoFileSystem (18.0.6):
|
||||
- ExpoFileSystem (18.0.7):
|
||||
- ExpoModulesCore
|
||||
- ExpoImage (2.0.4):
|
||||
- ExpoModulesCore
|
||||
|
|
@ -59,7 +59,7 @@ PODS:
|
|||
- hermes-engine/Pre-built (= 0.76.5)
|
||||
- hermes-engine/Pre-built (0.76.5)
|
||||
- HMSegmentedControl (1.5.6)
|
||||
- JitsiWebRTC (124.0.1)
|
||||
- JitsiWebRTC (124.0.2)
|
||||
- mattermost-hardware-keyboard (0.0.0):
|
||||
- DoubleConversion
|
||||
- glog
|
||||
|
|
@ -81,8 +81,7 @@ PODS:
|
|||
- ReactCommon/turbomodule/bridging
|
||||
- ReactCommon/turbomodule/core
|
||||
- Yoga
|
||||
- mattermost-react-native-turbo-log (0.5.0):
|
||||
- CocoaLumberjack (~> 3.8.5)
|
||||
- mattermost-react-native-turbo-log (0.6.0):
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- hermes-engine
|
||||
|
|
@ -102,6 +101,7 @@ PODS:
|
|||
- ReactCodegen
|
||||
- ReactCommon/turbomodule/bridging
|
||||
- ReactCommon/turbomodule/core
|
||||
- TurboLogIOSNative
|
||||
- Yoga
|
||||
- mattermost-rnutils (0.0.0):
|
||||
- DoubleConversion
|
||||
|
|
@ -2094,6 +2094,8 @@ PODS:
|
|||
- SocketRocket (0.7.1)
|
||||
- Starscream (4.0.8)
|
||||
- SwiftyJSON (5.0.2)
|
||||
- TurboLogIOSNative (0.1.0):
|
||||
- CocoaLumberjack (~> 3.8.5)
|
||||
- WatermelonDB (0.28.0-1):
|
||||
- React
|
||||
- simdjson
|
||||
|
|
@ -2101,6 +2103,7 @@ PODS:
|
|||
|
||||
DEPENDENCIES:
|
||||
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
|
||||
- CocoaLumberjack
|
||||
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
||||
- EXApplication (from `../node_modules/expo-application/ios`)
|
||||
- EXConstants (from `../node_modules/expo-constants/ios`)
|
||||
|
|
@ -2212,6 +2215,7 @@ DEPENDENCIES:
|
|||
- RNSVG (from `../node_modules/react-native-svg`)
|
||||
- RNVectorIcons (from `../node_modules/react-native-vector-icons`)
|
||||
- "simdjson (from `../node_modules/@nozbe/simdjson`)"
|
||||
- TurboLogIOSNative (from `https://github.com/larkox/react-native-turbo-log-ios-native.git`)
|
||||
- "WatermelonDB (from `../node_modules/@nozbe/watermelondb`)"
|
||||
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
|
||||
|
||||
|
|
@ -2450,22 +2454,29 @@ EXTERNAL SOURCES:
|
|||
:path: "../node_modules/react-native-vector-icons"
|
||||
simdjson:
|
||||
:path: "../node_modules/@nozbe/simdjson"
|
||||
TurboLogIOSNative:
|
||||
:git: https://github.com/larkox/react-native-turbo-log-ios-native.git
|
||||
WatermelonDB:
|
||||
:path: "../node_modules/@nozbe/watermelondb"
|
||||
Yoga:
|
||||
:path: "../node_modules/react-native/ReactCommon/yoga"
|
||||
|
||||
CHECKOUT OPTIONS:
|
||||
TurboLogIOSNative:
|
||||
:commit: 44fa9abe32a74ce6206d6237c639e6382495d210
|
||||
:git: https://github.com/larkox/react-native-turbo-log-ios-native.git
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
Alamofire: 7193b3b92c74a07f85569e1a6c4f4237291e7496
|
||||
boost: 1dca942403ed9342f98334bf4c3621f011aa7946
|
||||
CocoaLumberjack: 6a459bc897d6d80bd1b8c78482ec7ad05dffc3f0
|
||||
DoubleConversion: f16ae600a246532c4020132d54af21d0ddb2a385
|
||||
EXApplication: 88ebf1a95f85faa5d2df160016d61f2d060e9438
|
||||
EXConstants: 277129d9a42ba2cf1fad375e7eaa9939005c60be
|
||||
EXConstants: e25c3f3ef5d1cf7a6ef911ebf7a3ab94d8d06d82
|
||||
Expo: 848501c300b37b3fa7330c58a5353e07e03d5c3d
|
||||
ExpoCrypto: 483fc758365923f89ddaab4327c21cae9534841d
|
||||
ExpoDevice: 449822f2c45660c1ce83283dd51c67fe5404996c
|
||||
ExpoFileSystem: a38e1bb58d77f41717293a7b73ebd4014d8cb8dd
|
||||
ExpoFileSystem: 818e82dbb71175414d1ca310e926c48ff0d07348
|
||||
ExpoImage: 18ec1a3e5cd96ee6162d988be3085e18113e143f
|
||||
ExpoLinearGradient: 18148bd38f98fa0229c1f9df23393b32ab6d2d32
|
||||
ExpoModulesCore: c9cb309323aee3c048099bb40ad0226e3fcf0c56
|
||||
|
|
@ -2477,9 +2488,9 @@ SPEC CHECKSUMS:
|
|||
glog: 08b301085f15bcbb6ff8632a8ebaf239aae04e6a
|
||||
hermes-engine: 06a9c6900587420b90accc394199527c64259db4
|
||||
HMSegmentedControl: 34c1f54d822d8308e7b24f5d901ec674dfa31352
|
||||
JitsiWebRTC: d0ae5fd6a81e771bfd82c2ee6c6bb542ebd65ee8
|
||||
JitsiWebRTC: b47805ab5668be38e7ee60e2258f49badfe8e1d0
|
||||
mattermost-hardware-keyboard: 510850877516c61f71f06c95377b96263af1b80d
|
||||
mattermost-react-native-turbo-log: 4eff5879e0d263f8146666a6124d66f8e8fcc0ae
|
||||
mattermost-react-native-turbo-log: 9e2c4f2e2b278a1541e5c2eb99ed9cd2af601fe2
|
||||
mattermost-rnutils: 88291c01fc351a93c553b6a3bce44b17f8d38233
|
||||
RCT-Folly: 84578c8756030547307e4572ab1947de1685c599
|
||||
RCTDeprecation: fb7d408617e25d7f537940000d766d60149c5fea
|
||||
|
|
@ -2576,9 +2587,10 @@ SPEC CHECKSUMS:
|
|||
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
|
||||
Starscream: 19b5533ddb925208db698f0ac508a100b884a1b9
|
||||
SwiftyJSON: f5b1bf1cd8dd53cd25887ac0eabcfd92301c6a5a
|
||||
TurboLogIOSNative: 45f6d20ba17ee39f8106e718e93baf43b2d76b7b
|
||||
WatermelonDB: 438a8dd16910dfe622095c44b5d1dbe11cbba6ba
|
||||
Yoga: fcc198acd4a55599b3468cfb6ebc526baff5f06e
|
||||
|
||||
PODFILE CHECKSUM: f61c6130110ff18ebe025edfebd33129a0601fec
|
||||
PODFILE CHECKSUM: 0e437947a8e6696940c2efdfd7205ab54d67b7b8
|
||||
|
||||
COCOAPODS: 1.16.1
|
||||
|
|
|
|||
9
package-lock.json
generated
9
package-lock.json
generated
|
|
@ -23,7 +23,7 @@
|
|||
"@mattermost/react-native-emm": "1.5.1",
|
||||
"@mattermost/react-native-network-client": "1.8.2",
|
||||
"@mattermost/react-native-paste-input": "0.8.1",
|
||||
"@mattermost/react-native-turbo-log": "0.5.0",
|
||||
"@mattermost/react-native-turbo-log": "0.6.0",
|
||||
"@mattermost/rnshare": "file:./libraries/@mattermost/rnshare",
|
||||
"@mattermost/rnutils": "file:./libraries/@mattermost/rnutils",
|
||||
"@msgpack/msgpack": "2.8.0",
|
||||
|
|
@ -4658,10 +4658,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@mattermost/react-native-turbo-log": {
|
||||
"version": "0.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@mattermost/react-native-turbo-log/-/react-native-turbo-log-0.5.0.tgz",
|
||||
"integrity": "sha512-8X7GbEKr7QDdSTckpxGGogQ2+IDJ8xcUOmLylo1NhmvCPvdqAsBvVLNZngx0zjoLl28IP3H24bR9fpXGsnGiag==",
|
||||
"license": "MIT",
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@mattermost/react-native-turbo-log/-/react-native-turbo-log-0.6.0.tgz",
|
||||
"integrity": "sha512-yV0GWLXivvGwEjhMKR0meMsP5VWA7Br/fz70UC4/IZd9gPmBvfNpznMHzddwekvhYZ6Hqg0jbqK1SNitkvJwFg==",
|
||||
"peerDependencies": {
|
||||
"react": "*",
|
||||
"react-native": "*"
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
"@mattermost/react-native-emm": "1.5.1",
|
||||
"@mattermost/react-native-network-client": "1.8.2",
|
||||
"@mattermost/react-native-paste-input": "0.8.1",
|
||||
"@mattermost/react-native-turbo-log": "0.5.0",
|
||||
"@mattermost/react-native-turbo-log": "0.6.0",
|
||||
"@mattermost/rnshare": "file:./libraries/@mattermost/rnshare",
|
||||
"@mattermost/rnutils": "file:./libraries/@mattermost/rnutils",
|
||||
"@msgpack/msgpack": "2.8.0",
|
||||
|
|
|
|||
Loading…
Reference in a new issue