mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 21:33:26 +00:00
Add experimental native calls behind a developer flag (#6159)
Add the element-call-ios dependency and a developer option for native calls The package carries the call UI and the matrix-rust-rtc media stack, pinned by exact version the way the SDK is, with the local path kept commented out for working against a checkout. Its media xcframework has no Intel simulator slice and a package cannot say so for the projects that consume it, hence the excluded architecture at the project level. The developer option is off by default and nothing reads it yet. It is placed next to the Element Call URL override, which only applies to the web view that native calls replace.
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
|
||||
@preconcurrency import Combine
|
||||
import CryptoKit
|
||||
import ElementCall
|
||||
import Foundation
|
||||
import MatrixRustSDK
|
||||
import OrderedCollections
|
||||
@@ -374,6 +375,10 @@ class ClientProxy: ClientProxyProtocol {
|
||||
}
|
||||
}
|
||||
|
||||
func makeNativeCallTransport() -> ElementCallMatrixTransportProtocol? {
|
||||
(client as? Client).flatMap { ElementCallSDKTransport(client: $0) }
|
||||
}
|
||||
|
||||
var isLoginWithQRCodeSupported: Bool {
|
||||
get async {
|
||||
do {
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
//
|
||||
|
||||
import Combine
|
||||
import ElementCall
|
||||
import Foundation
|
||||
import MatrixRustSDK
|
||||
|
||||
@@ -171,6 +172,9 @@ protocol ClientProxyProtocol: AnyObject {
|
||||
var isReportRoomSupported: Bool { get async }
|
||||
var isLiveKitRTCSupported: Bool { get async }
|
||||
|
||||
/// Builds a Matrix transport for the call package, `nil` when not backed by a real SDK client.
|
||||
func makeNativeCallTransport() -> ElementCallMatrixTransportProtocol?
|
||||
|
||||
var isLoginWithQRCodeSupported: Bool { get async }
|
||||
|
||||
var maxMediaUploadSize: Result<UInt, ClientProxyError> { get async }
|
||||
|
||||
Reference in New Issue
Block a user