Swift 6 migration for NSE (#5608)

* swift 6 support for NSE and concurrency safe implementations for it

* enforcing required Sendable conformance for swift 6 migration in NSE

* use Mutex to access the string builder cache

* use an async stream to update timeline items diffs

* fix for Sendable appHooks
This commit is contained in:
Mauro
2026-05-21 20:21:57 +02:00
committed by GitHub
parent 91ccff36fc
commit 2462ddea85
20 changed files with 226 additions and 150 deletions
@@ -8,7 +8,7 @@
import MatrixRustSDK
protocol ClientBuilderHookProtocol {
protocol ClientBuilderHookProtocol: Sendable {
func configure(_ builder: ClientBuilder) -> ClientBuilder
}
@@ -13,7 +13,7 @@ enum RemoteSettingsError: Error {
case elementProRequired(serverName: String)
}
protocol RemoteSettingsHookProtocol {
protocol RemoteSettingsHookProtocol: Sendable {
#if IS_MAIN_APP
@MainActor func initializeCache(using client: ClientProtocol, applyingTo appSettings: CommonSettingsProtocol) async -> Result<Void, RemoteSettingsError>
func updateCache(using client: ClientProtocol) async
@@ -8,7 +8,7 @@
import MatrixRustSDK
protocol TracingHookProtocol {
protocol TracingHookProtocol: Sendable {
func update(_ configuration: TracingConfiguration, with rageshakeURL: RemotePreference<RageshakeConfiguration>)
}