mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-10-31 16:24:11 +00:00
2c1270ec79
Applies the HealthChat product identity through the fork seams upstream already provides, so no upstream logic files are touched and merges stay clean. - Variants/HealthChat/healthchat.yml holds the identity scalars (display name, bundle id ch.healthchat.element, app group, development team) and is included permanently from project.yml. APP_NAME stays ElementX so the module name and @testable import ElementX keep working. - ElementX/Sources/AppHooks/HealthChat/ registers an AppSettings hook pinning accountProviders to healthchat.ch with other providers disabled, push through sygnal.healthchat.ch and a custom-scheme OIDC redirect; plus a Compound hook recolouring the accent token family to the HealthChat blue. - Entitlements are edited directly in ElementX/SupportingFiles/target.yml rather than in the variant, because XcodeGen concatenates arrays on include-merge and a variant can override scalars but cannot remove array entries. Drops the Element Classic app group and keychain group, and narrows associated domains to app.healthchat.ch, keeping matrix.to for permalinks. - Info.plist CFBundleName now follows APP_DISPLAY_NAME — it, not CFBundleDisplayName, is what the web authentication sign-in alert shows. - App logo and app icon assets swapped in place; the onboarding welcome title moves to a new screen_onboarding_welcome_title_ios untranslated string.
22 lines
813 B
Swift
22 lines
813 B
Swift
//
|
|
// Copyright 2026 Novaloop AG
|
|
//
|
|
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
|
// Please see LICENSE files in the repository root for full details.
|
|
//
|
|
|
|
/// Registers the HealthChat hooks.
|
|
///
|
|
/// `AppHooks` is a concrete type and `AppCoordinator` calls `setUp()` on it directly, so this method
|
|
/// wins over the empty `AppHooksProtocol` default via static dispatch — mirroring how Element's own
|
|
/// Enterprise fork provides its `setUp()`. This file is compiled only into the main app; the NSE and
|
|
/// Share Extension keep the empty default (they never drive authentication).
|
|
extension AppHooks {
|
|
func setUp() {
|
|
#if IS_MAIN_APP
|
|
registerAppSettingsHook(HealthChatAppSettingsHook())
|
|
registerCompoundHook(HealthChatCompoundHook())
|
|
#endif
|
|
}
|
|
}
|