diff --git a/ElementX.xcodeproj/project.pbxproj b/ElementX.xcodeproj/project.pbxproj index 0d73d3b497..f17c78af6b 100644 --- a/ElementX.xcodeproj/project.pbxproj +++ b/ElementX.xcodeproj/project.pbxproj @@ -4252,6 +4252,7 @@ ); MARKETING_VERSION = "$(MARKETING_VERSION)"; PRODUCT_BUNDLE_IDENTIFIER = "${BASE_BUNDLE_IDENTIFIER}.nse"; + PRODUCT_DISPLAY_NAME = "$(APP_NAME)"; PRODUCT_NAME = NSE; SDKROOT = iphoneos; SWIFT_OBJC_INTERFACE_HEADER_NAME = "GeneratedInterface-Swift.h"; @@ -4274,7 +4275,7 @@ ); MARKETING_VERSION = "$(MARKETING_VERSION)"; PRODUCT_BUNDLE_IDENTIFIER = "$(BASE_BUNDLE_IDENTIFIER)"; - PRODUCT_NAME = ElementX; + PRODUCT_NAME = "$(APP_NAME)"; SDKROOT = iphoneos; SWIFT_OBJC_BRIDGING_HEADER = "ElementX/SupportingFiles/ElementX-Bridging-Header.h"; SWIFT_OBJC_INTERFACE_HEADER_NAME = "GeneratedInterface-Swift.h"; @@ -4297,7 +4298,7 @@ ); MARKETING_VERSION = "$(MARKETING_VERSION)"; PRODUCT_BUNDLE_IDENTIFIER = "$(BASE_BUNDLE_IDENTIFIER)"; - PRODUCT_NAME = ElementX; + PRODUCT_NAME = "$(APP_NAME)"; SDKROOT = iphoneos; SWIFT_OBJC_BRIDGING_HEADER = "ElementX/SupportingFiles/ElementX-Bridging-Header.h"; SWIFT_OBJC_INTERFACE_HEADER_NAME = "GeneratedInterface-Swift.h"; @@ -4328,6 +4329,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; APP_GROUP_IDENTIFIER = "group.$(BASE_APP_GROUP_IDENTIFIER)"; + APP_NAME = ElementX; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = Colors/AccentColor; BASE_APP_GROUP_IDENTIFIER = io.element; BASE_BUNDLE_IDENTIFIER = io.element.elementx; @@ -4395,6 +4397,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; APP_GROUP_IDENTIFIER = "group.$(BASE_APP_GROUP_IDENTIFIER)"; + APP_NAME = ElementX; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = Colors/AccentColor; BASE_APP_GROUP_IDENTIFIER = io.element; BASE_BUNDLE_IDENTIFIER = io.element.elementx; @@ -4532,6 +4535,7 @@ ); MARKETING_VERSION = "$(MARKETING_VERSION)"; PRODUCT_BUNDLE_IDENTIFIER = "${BASE_BUNDLE_IDENTIFIER}.nse"; + PRODUCT_DISPLAY_NAME = "$(APP_NAME)"; PRODUCT_NAME = NSE; SDKROOT = iphoneos; SWIFT_OBJC_INTERFACE_HEADER_NAME = "GeneratedInterface-Swift.h"; diff --git a/ElementX/Sources/Application/AppCoordinator.swift b/ElementX/Sources/Application/AppCoordinator.swift index ec09239f57..797b6c0121 100644 --- a/ElementX/Sources/Application/AppCoordinator.swift +++ b/ElementX/Sources/Application/AppCoordinator.swift @@ -136,7 +136,7 @@ class AppCoordinator: AppCoordinatorProtocol, AuthenticationCoordinatorDelegate, } func shouldDisplayInAppNotification(_ service: NotificationManagerProtocol, content: UNNotificationContent) -> Bool { - guard let roomId = content.userInfo[NotificationConstants.UserInfoKey.roomIdentifier] as? String else { + guard let roomId = content.roomID else { return true } guard let userSessionFlowCoordinator else { diff --git a/ElementX/Sources/Other/Extensions/UNNotificationContent.swift b/ElementX/Sources/Other/Extensions/UNNotificationContent.swift index 916ae01b7c..221e92a44e 100644 --- a/ElementX/Sources/Other/Extensions/UNNotificationContent.swift +++ b/ElementX/Sources/Other/Extensions/UNNotificationContent.swift @@ -123,7 +123,7 @@ extension UNMutableNotificationContent { senderID: String, senderName: String, iconType: NotificationIconType) async throws -> UNMutableNotificationContent { - var image: INImage? + var image = INImage(named: "") if let mediaSource = iconType.mediaSource { switch await mediaProvider?.loadImageDataFromSource(mediaSource) { case .success(let data): @@ -161,7 +161,7 @@ extension UNMutableNotificationContent { serviceName: nil, sender: sender, attachments: nil) - if speakableGroupName != nil, let image { + if speakableGroupName != nil { intent.setImage(image, forParameterNamed: \.speakableGroupName) } diff --git a/ElementX/SupportingFiles/target.yml b/ElementX/SupportingFiles/target.yml index 2623c95b2d..9b40df75cf 100644 --- a/ElementX/SupportingFiles/target.yml +++ b/ElementX/SupportingFiles/target.yml @@ -74,7 +74,7 @@ targets: settings: base: - PRODUCT_NAME: ElementX + PRODUCT_NAME: $(APP_NAME) PRODUCT_BUNDLE_IDENTIFIER: $(BASE_BUNDLE_IDENTIFIER) MARKETING_VERSION: $(MARKETING_VERSION) CURRENT_PROJECT_VERSION: $(CURRENT_PROJECT_VERSION) diff --git a/NSE/SupportingFiles/Info.plist b/NSE/SupportingFiles/Info.plist index 48adae1ec0..4a96dacf45 100644 --- a/NSE/SupportingFiles/Info.plist +++ b/NSE/SupportingFiles/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName - $(PRODUCT_NAME) + $(PRODUCT_DISPLAY_NAME) CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier diff --git a/NSE/SupportingFiles/target.yml b/NSE/SupportingFiles/target.yml index cc5adcd84a..3ad2c62452 100644 --- a/NSE/SupportingFiles/target.yml +++ b/NSE/SupportingFiles/target.yml @@ -40,7 +40,7 @@ targets: info: path: ../SupportingFiles/Info.plist properties: - CFBundleDisplayName: $(PRODUCT_NAME) + CFBundleDisplayName: $(PRODUCT_DISPLAY_NAME) CFBundleShortVersionString: $(MARKETING_VERSION) CFBundleVersion: $(CURRENT_PROJECT_VERSION) appGroupIdentifier: $(APP_GROUP_IDENTIFIER) @@ -53,6 +53,7 @@ targets: settings: base: PRODUCT_NAME: NSE + PRODUCT_DISPLAY_NAME: $(APP_NAME) PRODUCT_BUNDLE_IDENTIFIER: ${BASE_BUNDLE_IDENTIFIER}.nse MARKETING_VERSION: $(MARKETING_VERSION) CURRENT_PROJECT_VERSION: $(CURRENT_PROJECT_VERSION) diff --git a/changelog.d/pr-965.change b/changelog.d/pr-965.change new file mode 100644 index 0000000000..3bc6f8be23 --- /dev/null +++ b/changelog.d/pr-965.change @@ -0,0 +1 @@ +Showing the iOS default contact/group silhouette in notifications when the avatar is missing. \ No newline at end of file diff --git a/project.yml b/project.yml index 1fd824c62e..6ff146bd1f 100644 --- a/project.yml +++ b/project.yml @@ -26,6 +26,7 @@ settings: BASE_APP_GROUP_IDENTIFIER: io.element APP_GROUP_IDENTIFIER: group.$(BASE_APP_GROUP_IDENTIFIER) BASE_BUNDLE_IDENTIFIER: io.element.elementx + APP_NAME: ElementX KEYCHAIN_ACCESS_GROUP_IDENTIFIER: $(AppIdentifierPrefix)$(BASE_BUNDLE_IDENTIFIER) MARKETING_VERSION: 1.1.2 CURRENT_PROJECT_VERSION: 1