Rebrand as HealthChat and pin the account provider to healthchat.ch

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.
This commit is contained in:
2026-07-15 08:46:31 +02:00
committed by Sedat Qaja
parent c6d21dcd7f
commit 3d1fa27a4b
19 changed files with 405 additions and 477 deletions
+13
View File
@@ -0,0 +1,13 @@
# HealthChat product identity.
# Included permanently from project.yml (this fork always builds as HealthChat).
# Only build-setting scalars belong here — XcodeGen concatenates arrays on include-merge,
# so entitlement arrays (associated-domains, app-groups, keychain-groups) are edited directly
# in ElementX/SupportingFiles/target.yml instead.
# NB: APP_NAME (internal PRODUCT_NAME / module name) is intentionally left as ElementX so that
# `@testable import ElementX` and $(PRODUCT_MODULE_NAME) keep working.
settings:
APP_DISPLAY_NAME: HealthChat
PRODUCTION_APP_NAME: HealthChat
APP_GROUP_IDENTIFIER: group.ch.healthchat
BASE_BUNDLE_IDENTIFIER: ch.healthchat.element
DEVELOPMENT_TEAM: 6G37K72W82