diff --git a/MacOS-11+/BlueBubblesHelper.xcodeproj/project.pbxproj b/MacOS-11+/BlueBubblesHelper.xcodeproj/project.pbxproj index 9c45345..b4fa231 100644 --- a/MacOS-11+/BlueBubblesHelper.xcodeproj/project.pbxproj +++ b/MacOS-11+/BlueBubblesHelper.xcodeproj/project.pbxproj @@ -660,7 +660,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 15; + CURRENT_PROJECT_VERSION = 16; DEPLOYMENT_LOCATION = YES; DEVELOPMENT_TEAM = S6D73TBQQU; DSTROOT = /; @@ -675,7 +675,7 @@ INSTALL_PATH = "/Library/Application Support/MacEnhance/Plugins"; MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 11.0; - MARKETING_VERSION = 0.0.13; + MARKETING_VERSION = 0.0.14; ONLY_ACTIVE_ARCH = NO; PRODUCT_BUNDLE_IDENTIFIER = com.bluebubbles.messaging; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -696,7 +696,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 15; + CURRENT_PROJECT_VERSION = 16; DEPLOYMENT_LOCATION = YES; DEVELOPMENT_TEAM = S6D73TBQQU; DSTROOT = /; @@ -711,7 +711,7 @@ INSTALL_PATH = "/Library/Application Support/MacEnhance/Plugins"; MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 11.0; - MARKETING_VERSION = 0.0.13; + MARKETING_VERSION = 0.0.14; ONLY_ACTIVE_ARCH = NO; PRODUCT_BUNDLE_IDENTIFIER = com.bluebubbles.messaging; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/MacOS-11+/BlueBubblesHelper.xcworkspace/xcuserdata/tanay.xcuserdatad/UserInterfaceState.xcuserstate b/MacOS-11+/BlueBubblesHelper.xcworkspace/xcuserdata/tanay.xcuserdatad/UserInterfaceState.xcuserstate index 7c628f3..e7b4fcd 100644 Binary files a/MacOS-11+/BlueBubblesHelper.xcworkspace/xcuserdata/tanay.xcuserdatad/UserInterfaceState.xcuserstate and b/MacOS-11+/BlueBubblesHelper.xcworkspace/xcuserdata/tanay.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/MacOS-11+/BlueBubblesHelper/BlueBubblesHelper.m b/MacOS-11+/BlueBubblesHelper/BlueBubblesHelper.m index d3be8dc..4f7d888 100644 --- a/MacOS-11+/BlueBubblesHelper/BlueBubblesHelper.m +++ b/MacOS-11+/BlueBubblesHelper/BlueBubblesHelper.m @@ -953,14 +953,14 @@ - (BOOL)_handleIncomingItem:(id)arg1 { BOOL hasBeenHandled = ZKOrig(BOOL, arg1); NSString *guid = (NSString *)ZKHookIvar(self, NSString*, "_guid"); if (guid != nil) { - // check if incoming item is a typing indicator or not, and update the status accordingly - if ([item isIncomingTypingMessage]) { + // check if incoming item is a typing indicator or not, and update the status accordingly. check if the class responds to the selector to avoid crashes + if ([item respondsToSelector:@selector(isIncomingTypingMessage)] && [item isIncomingTypingMessage]) { [[NetworkController sharedInstance] sendMessage: @{@"event": @"started-typing", @"guid": guid}]; DLog("BLUEBUBBLESHELPER: %{public}@ started typing", guid); - } else if ([item isCancelTypingMessage]) { + } else if ([item respondsToSelector:@selector(isCancelTypingMessage)] && [item isCancelTypingMessage]) { [[NetworkController sharedInstance] sendMessage: @{@"event": @"stopped-typing", @"guid": guid}]; DLog("BLUEBUBBLESHELPER: %{public}@ stopped typing", guid); - } else if ([[item message] isTypingMessage] == NO) { + } else if ([item respondsToSelector:@selector(isTypingMessage)] && [[item message] isTypingMessage] == NO) { [[NetworkController sharedInstance] sendMessage: @{@"event": @"stopped-typing", @"guid": guid}]; DLog("BLUEBUBBLESHELPER: %{public}@ stopped typing", guid); }