Files
element-x-ios/ElementX/Sources/AppHooks/HealthChat/HealthChatSettingsScreenHook.swift
T
Sedat-Qaja 3b7ed0a48b fix: remove rlement endpoints and links from the HealthChat
* fix(healthchat): switch off analytics, crash and bug reporting endpoints

Upstream ships *.localhost placeholders in Secrets.swift and marks the file assume-unchanged; with analytics on, the Element Call widget was handed Element's own PostHog and Sentry. nil hides the analytics prompt, the Analytics and Report a problem entries until HealthChat runs its own services.

* feat(healthchat): hide the Labs entry in settings

* fix(healthchat): point Copyright and the analytics terms at healthchat.ch

* docs(healthchat): add the 26.11.1 release notes

* feat(healthchat): drop the Element help links

* feat(healthchat): switch off location sharing

* test(healthchat): skip the analytics suite without PostHog
2026-10-19 14:40:20 +02:00

38 lines
1.3 KiB
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.
//
import SwiftUI
#if IS_MAIN_APP
// Conforming to the nonisolated hook protocol would infer nonisolated, but the
// service is main-actor state — the hook's requirements are all @MainActor anyway.
@MainActor
final class HealthChatSettingsScreenHook: SettingsScreenHookProtocol {
// Owned here rather than by the section: the settings screen asks for the section on
// every body pass. Nothing is fetched until the screen appears and asks for a refresh.
private let statusLoader: HealthChatAccountStatusLoader
init(statusLoader: HealthChatAccountStatusLoader) {
self.statusLoader = statusLoader
}
func accountStatusSection(completeProfileAction: @escaping () -> Void) -> AnyView? {
AnyView(HealthChatAccountStatusSection(loader: statusLoader,
completeProfileAction: completeProfileAction))
}
func refreshAccountStatus() {
statusLoader.load()
}
// Upstream's experiments are not supported by the HealthChat server setup and never reviewed for it.
nonisolated var showsLabs: Bool {
false
}
}
#endif