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
This commit is contained in:
Sedat-Qaja
2026-10-19 14:40:20 +02:00
committed by GitHub
parent 7b07b51a10
commit 3b7ed0a48b
21 changed files with 125 additions and 61 deletions
+1
View File
@@ -11,6 +11,7 @@ import AnalyticsEvents
import PostHog
import Testing
@Suite(.enabled(if: Secrets.postHogHost != nil && Secrets.postHogAPIKey != nil, "HealthChat ships without a PostHog configuration."))
@MainActor
final class AnalyticsTests {
private let appSettings: AppSettings
+11 -4
View File
@@ -104,9 +104,12 @@ final class BugReportServiceTests {
@Test
@MainActor
func configurations() async throws {
guard case let .url(initialURL) = userSettings.app.bugReportRageshakeURL.publisher.value else {
Issue.record("Unexpected initial configuration.")
return
// HealthChat ships without a rageshake server (Secrets.rageshakeURL is nil), so the default
// configuration is `.disabled`; the transitions below are exercised from remote values instead.
let initialURL: URL? = if case let .url(url) = userSettings.app.bugReportRageshakeURL.publisher.value {
url
} else {
nil
}
let service = BugReportService(rageshakeURLPublisher: userSettings.app.bugReportRageshakeURL.publisher,
@@ -114,7 +117,7 @@ final class BugReportServiceTests {
sdkGitSHA: "1234",
session: .mock,
appHooks: AppHooks())
#expect(service.isEnabled)
#expect(service.isEnabled == (initialURL != nil))
userSettings.app.bugReportRageshakeURL.applyRemoteValue(.disabled)
#expect(!service.isEnabled)
@@ -137,6 +140,10 @@ final class BugReportServiceTests {
#expect(customConfigurationResponse.reportURL == "https://bugs.server.net/123")
userSettings.app.bugReportRageshakeURL.reset()
guard let initialURL else {
#expect(!service.isEnabled)
return
}
#expect(service.isEnabled)
let defaultConfigurationResponse = try await service.submitBugReport(bugReport, progressListener: progressSubject).get()