Files
element-x-ios/NSE/SupportingFiles/target.yml
T
Sedat Qaja 86369e858e Ship the NSE without the notification filtering entitlement
Apple has not granted com.apple.developer.usernotifications.filtering for
ch.healthchat.element.nse. The capability request has sat at "Submitted"
since 2026-07-30, so the App Store profile cannot carry it and the archive
fails to sign while NSE.entitlements still asks for it.

Drop the key from the NSE target config and the generated entitlements
file. The extension still decrypts and rewrites every notification; the
only change is that notifications it would have discarded now fall back
to the raw push payload. Restore the key and add NSE Filtering to the
profile once Apple approves the request.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-19 09:17:34 +02:00

141 lines
6.2 KiB
YAML

name: NSE
schemes:
NSE:
analyze:
config: Debug
archive:
config: Release
build:
targets:
NSE:
- running
- testing
- profiling
- analyzing
- archiving
profile:
config: Release
run:
askForAppToLaunch: true
config: Debug
debugEnabled: false
disableMainThreadChecker: false
launchAutomaticallySubstyle: 2
test:
config: Debug
disableMainThreadChecker: false
targets:
NSE:
type: app-extension
platform: iOS
dependencies:
- package: MatrixRustSDK
- package: KeychainAccess
- package: Kingfisher
- package: Collections
- package: Compound
- package: BuildExtensions
product: Macros
- package: DeviceKit
- package: LRUCache
- package: Version
- package: SwiftSoup
info:
path: Info.plist
properties:
CFBundleDisplayName: $(PRODUCT_DISPLAY_NAME)
CFBundleShortVersionString: $(MARKETING_VERSION)
CFBundleVersion: $(CURRENT_PROJECT_VERSION)
appGroupIdentifier: $(APP_GROUP_IDENTIFIER)
baseBundleIdentifier: $(BASE_BUNDLE_IDENTIFIER)
keychainAccessGroupIdentifier: $(KEYCHAIN_ACCESS_GROUP_IDENTIFIER)
productionAppName: $(PRODUCTION_APP_NAME)
isNightlyBuild: $(IS_NIGHTLY_BUILD)
NSExtension:
NSExtensionPointIdentifier: com.apple.usernotifications.service
NSExtensionPrincipalClass: $(PRODUCT_MODULE_NAME).NotificationServiceExtension
entitlements:
path: NSE.entitlements
properties:
# usernotifications.filtering deliberately omitted: Apple has not granted it for ch.healthchat.element.nse
# (request pending since 2026-07-30) and a profile without it cannot sign. Discarded notifications show
# the raw push payload instead. Restore the key and NSE Filtering in the profile once approved.
com.apple.security.application-groups:
- $(APP_GROUP_IDENTIFIER)
keychain-access-groups:
- $(KEYCHAIN_ACCESS_GROUP_IDENTIFIER)
settings:
base:
PRODUCT_NAME: NSE
PRODUCT_DISPLAY_NAME: $(APP_DISPLAY_NAME)
PRODUCT_BUNDLE_IDENTIFIER: ${BASE_BUNDLE_IDENTIFIER}.nse
MARKETING_VERSION: $(MARKETING_VERSION)
CURRENT_PROJECT_VERSION: $(CURRENT_PROJECT_VERSION)
DEVELOPMENT_TEAM: $(DEVELOPMENT_TEAM)
SWIFT_OBJC_INTERFACE_HEADER_NAME: GeneratedInterface-Swift.h
SWIFT_VERSION: 6
SWIFT_APPROACHABLE_CONCURRENCY: YES
OTHER_SWIFT_FLAGS:
- "-DIS_NSE"
sources:
- path: ../Sources
- path: ../SupportingFiles
- path: ../../ElementX/Sources/AppHooks/AppHooks.swift
- path: ../../ElementX/Sources/AppHooks/Hooks/TracingHook.swift
- path: ../../ElementX/Sources/AppHooks/Hooks/ClientFactoryHook.swift
- path: ../../ElementX/Sources/AppHooks/Hooks/RemoteSettingsHook.swift
- path: ../../ElementX/Sources/AppHooks/Hooks/UserSessionHook.swift
- path: ../../Components/Secrets/Secrets.swift
- path: ../../ElementX/Sources/Application/Settings
- path: ../../ElementX/Sources/Application/TargetConfiguration.swift
- path: ../../ElementX/Sources/Generated/Strings.swift
- path: ../../ElementX/Sources/Other/Avatars.swift
- path: ../../ElementX/Sources/Other/CurrentValuePublisher.swift
- path: ../../ElementX/Sources/Other/ExpiringTaskRunner.swift
- path: ../../ElementX/Sources/Other/Extensions/AttributedString.swift
- path: ../../ElementX/Sources/Other/Extensions/Bundle.swift
- path: ../../ElementX/Sources/Other/Extensions/Date.swift
- path: ../../ElementX/Sources/Other/Extensions/Dictionary.swift
- path: ../../ElementX/Sources/Other/Extensions/FileManager.swift
- path: ../../ElementX/Sources/Other/Extensions/ImageCache.swift
- path: ../../ElementX/Sources/Other/Extensions/NSRegularExpresion.swift
- path: ../../ElementX/Sources/Other/Extensions/ProcessInfo.swift
- path: ../../ElementX/Sources/Other/Extensions/String.swift
- path: ../../ElementX/Sources/Other/Extensions/Task.swift
- path: ../../ElementX/Sources/Other/Extensions/UNNotificationContent.swift
- path: ../../ElementX/Sources/Other/Extensions/URL.swift
- path: ../../ElementX/Sources/Other/Extensions/UTType.swift
- path: ../../ElementX/Sources/Other/Extensions/CharacterSet.swift
- path: ../../ElementX/Sources/Other/HTMLParsing
- path: ../../ElementX/Sources/Other/InfoPlistReader.swift
- path: ../../ElementX/Sources/Other/Logging
- path: ../../ElementX/Sources/Other/MatrixEntityRegex.swift
- path: ../../ElementX/Sources/Other/NetworkMonitor/NetworkMonitorProtocol.swift
- path: ../../ElementX/Sources/Other/Pills/PillUtilities.swift
- path: ../../ElementX/Sources/Other/Pills/PlainMentionBuilder.swift
- path: ../../ElementX/Sources/Other/SDKListener.swift
- path: ../../ElementX/Sources/Other/SwiftUI/Views/PlaceholderAvatarImage.swift
- path: ../../ElementX/Sources/Other/TestablePreview/TestablePreview.swift
- path: ../../ElementX/Sources/Other/UserAgentBuilder.swift
- path: ../../ElementX/Sources/Services/AlertTones/NotificationTone.swift
- path: ../../ElementX/Sources/Services/AlertTones/NotificationToneManager.swift
- path: ../../ElementX/Sources/Services/AlertTones/NotificationToneManagerProtocol.swift
- path: ../../ElementX/Sources/Services/Client/ClientFactory.swift
- path: ../../ElementX/Sources/Services/Client/ClientFactoryProtocol.swift
- path: ../../ElementX/Sources/Services/ElementCall/ElementCallServiceConstants.swift
- path: ../../ElementX/Sources/Services/Keychain/KeychainController.swift
- path: ../../ElementX/Sources/Services/Keychain/KeychainControllerProtocol.swift
- path: ../../ElementX/Sources/Services/Media/Provider
- path: ../../ElementX/Sources/Services/Notification/NotificationConstants.swift
- path: ../../ElementX/Sources/Services/Room/RoomSummary/RoomMessageEventStringBuilder.swift
- path: ../../ElementX/Sources/Services/UserSession/RestorationToken.swift
- path: ../../ElementX/Sources/Services/UserSession/SessionDirectories.swift
- path: ../../ElementX/Sources/UITests/UITestsScreenIdentifier.swift