Add a service and flow coordinator for the LinkNewDevice feature. (#4859)

* Add a LinkNewDeviceService that exposes the SDK's grant QR code login methods.

* Add a flow coordinator for linking a new device.

Changes the presentation too.
This commit is contained in:
Doug
2025-12-15 14:44:26 +00:00
committed by GitHub
parent 27ca265991
commit 93dfc84a57
38 changed files with 536 additions and 73 deletions
@@ -715,13 +715,9 @@ class ClientProxy: ClientProxyProtocol {
return .failure(.sdkError(error))
}
}
func logout() async {
do {
try await client.logout()
} catch {
MXLog.error("Failed logging out with error: \(error)")
}
func linkNewDeviceService() -> LinkNewDeviceService {
LinkNewDeviceService(handler: client.newGrantLoginWithQrCodeHandler())
}
func deactivateAccount(password: String?, eraseData: Bool) async -> Result<Void, ClientProxyError> {
@@ -734,6 +730,14 @@ class ClientProxy: ClientProxyProtocol {
}
}
func logout() async {
do {
try await client.logout()
} catch {
MXLog.error("Failed logging out with error: \(error)")
}
}
func setPusher(with configuration: PusherConfiguration) async throws {
try await client.setPusher(identifiers: configuration.identifiers,
kind: configuration.kind,