Build the fork with Xcode 27

Xcode 27 ships Swift 6.4, which rejects two things 26.09.1 still contains. The
upstream fix for the app itself is cherry-picked as the commit before this one;
these two are what it does not cover.

Compound's colour overrides now take a KeyPath & Sendable, so the HealthChat
brand arrays have to carry the same constraint.

NotificationContentBuilder is main-actor isolated, so its test suite has to
build the type from an async init. The lines match upstream's own fix, which
only exists inside the larger AccountProvider change (#6103) and so cannot be
cherry-picked on its own.
This commit is contained in:
2026-09-22 18:46:09 +02:00
parent a838a03a1f
commit 65cc9ef940
2 changed files with 6 additions and 6 deletions
@@ -30,7 +30,7 @@ struct HealthChatCompoundHook: CompoundHookProtocol {
\.borderInteractivePrimary,
\.textBadgeAccent
]
let solidUIColorTokens: [KeyPath<CompoundUIColorTokens, UIColor>] = [
let solidUIColorTokens: [KeyPath<CompoundUIColorTokens, UIColor> & Sendable] = [
\.bgActionPrimaryRest,
\.bgAccentRest,
\.iconAccentPrimary,
@@ -69,7 +69,7 @@ struct HealthChatCompoundHook: CompoundHookProtocol {
\.bgBadgeAccent,
\.borderAccentSubtle
]
let tintUIColorTokens: [KeyPath<CompoundUIColorTokens, UIColor>] = [
let tintUIColorTokens: [KeyPath<CompoundUIColorTokens, UIColor> & Sendable] = [
\.bgAccentSelected,
\.bgBadgeAccent,
\.borderAccentSubtle
@@ -17,14 +17,14 @@ nonisolated struct NotificationContentBuilderTests {
var mediaProvider: MediaProviderMock
var notificationContent: UNMutableNotificationContent
init() {
init() async {
notificationContent = .init()
let stringBuilder = RoomMessageEventStringBuilder(attributedStringBuilder: AttributedStringBuilder(mentionBuilder: PlainMentionBuilder()),
style: .plain)
mediaProvider = MediaProviderMock(.init())
notificationContentBuilder = NotificationContentBuilder(messageEventStringBuilder: stringBuilder,
notificationSoundName: UNNotificationSoundName("message.caf"),
userSession: NSEUserSessionMock(.init()))
notificationContentBuilder = await NotificationContentBuilder(messageEventStringBuilder: stringBuilder,
notificationSoundName: UNNotificationSoundName("message.caf"),
userSession: NSEUserSessionMock(.init()))
}
@Test