Add a TracingHook. (#4345)

This commit is contained in:
Doug
2025-07-23 14:29:31 +01:00
committed by GitHub
parent 5e165be8c3
commit 76e83462a8
16 changed files with 178 additions and 40 deletions
+5
View File
@@ -39,6 +39,11 @@ class AppHooks: AppHooksProtocol {
}
#endif
private(set) var tracingHook: TracingHookProtocol = DefaultTracingHook()
func registerTracingHook(_ hook: TracingHookProtocol) {
tracingHook = hook
}
private(set) var clientBuilderHook: ClientBuilderHookProtocol = DefaultClientBuilderHook()
func registerClientBuilderHook(_ hook: ClientBuilderHookProtocol) {
clientBuilderHook = hook
@@ -18,7 +18,7 @@ protocol RemoteSettingsHookProtocol {
func updateCache(using client: ClientProtocol) async
func reset(_ appSettings: CommonSettingsProtocol)
#endif
func loadCache(forHomeserver: String, applyingTo appSettings: CommonSettingsProtocol)
func loadCache(forHomeserver homeserver: String, applyingTo appSettings: CommonSettingsProtocol)
}
struct DefaultRemoteSettingsHook: RemoteSettingsHookProtocol {
@@ -51,7 +51,7 @@ struct DefaultRemoteSettingsHook: RemoteSettingsHookProtocol {
func reset(_ appSettings: any CommonSettingsProtocol) { }
#endif
func loadCache(forHomeserver: String, applyingTo appSettings: CommonSettingsProtocol) { }
func loadCache(forHomeserver homeserver: String, applyingTo appSettings: CommonSettingsProtocol) { }
}
private struct ElementWellKnown: Decodable {
@@ -0,0 +1,16 @@
//
// Copyright 2025 New Vector Ltd.
//
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
// Please see LICENSE files in the repository root for full details.
//
import MatrixRustSDK
protocol TracingHookProtocol {
func update(_ configuration: TracingConfiguration, with rageshakeURL: RemotePreference<RageshakeConfiguration>)
}
struct DefaultTracingHook: TracingHookProtocol {
func update(_ configuration: TracingConfiguration, with rageshakeURL: RemotePreference<RageshakeConfiguration>) { }
}