mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-28 15:22:39 +00:00
Allow the use of Jitsi for 1:1 calls via the client well-known.
This commit is contained in:
parent
db464a7484
commit
f1b6f52fde
5 changed files with 16 additions and 5 deletions
|
@ -72,6 +72,8 @@ final class HomeserverConfigurationBuilder: NSObject {
|
|||
jitsiServerURL = hardcodedJitsiServerURL
|
||||
}
|
||||
|
||||
let useJitsiFor1To1Calls = vectorWellKnownJitsiConfiguration?.useFor1To1Calls
|
||||
|
||||
// Tile server configuration
|
||||
|
||||
let tileServerMapStyleURL: URL
|
||||
|
@ -87,7 +89,8 @@ final class HomeserverConfigurationBuilder: NSObject {
|
|||
// Create HomeserverConfiguration
|
||||
|
||||
let jitsiConfiguration = HomeserverJitsiConfiguration(serverDomain: jitsiPreferredDomain,
|
||||
serverURL: jitsiServerURL)
|
||||
serverURL: jitsiServerURL,
|
||||
useFor1To1Calls: useJitsiFor1To1Calls)
|
||||
|
||||
return HomeserverConfiguration(jitsi: jitsiConfiguration,
|
||||
encryption: encryptionConfiguration,
|
||||
|
|
|
@ -21,10 +21,12 @@ import Foundation
|
|||
final class HomeserverJitsiConfiguration: NSObject {
|
||||
let serverDomain: String?
|
||||
let serverURL: URL?
|
||||
let useFor1To1Calls: Bool
|
||||
|
||||
init(serverDomain: String?, serverURL: URL?) {
|
||||
init(serverDomain: String?, serverURL: URL?, useFor1To1Calls: Bool?) {
|
||||
self.serverDomain = serverDomain
|
||||
self.serverURL = serverURL
|
||||
self.useFor1To1Calls = useFor1To1Calls ?? false
|
||||
|
||||
super.init()
|
||||
}
|
||||
|
|
|
@ -74,7 +74,8 @@ extension VectorWellKnownEncryptionConfiguration: Decodable {
|
|||
|
||||
// MARK: - Jitsi
|
||||
struct VectorWellKnownJitsiConfiguration: Decodable {
|
||||
|
||||
/// Default Jitsi server
|
||||
let preferredDomain: String?
|
||||
/// Override native calling with Jitsi for 1:1 calls.
|
||||
let useFor1To1Calls: Bool?
|
||||
}
|
||||
|
|
|
@ -1942,7 +1942,9 @@ static CGSize kThreadListBarButtonItemImageSize;
|
|||
|
||||
if (self.supportCallOption)
|
||||
{
|
||||
if (self.roomDataSource.room.summary.membersCount.joined == 2 && self.roomDataSource.room.isDirect)
|
||||
if (self.roomDataSource.room.summary.membersCount.joined == 2
|
||||
&& self.roomDataSource.room.isDirect
|
||||
&& !self.mainSession.vc_homeserverConfiguration.jitsi.useFor1To1Calls)
|
||||
{
|
||||
// voice call button for Matrix call
|
||||
UIBarButtonItem *itemVoice = [[UIBarButtonItem alloc] initWithImage:AssetImages.voiceCallHangonIcon.image
|
||||
|
@ -5038,7 +5040,9 @@ static CGSize kThreadListBarButtonItemImageSize;
|
|||
}
|
||||
else
|
||||
{
|
||||
if (self.roomDataSource.room.summary.membersCount.joined == 2 && self.roomDataSource.room.isDirect)
|
||||
if (self.roomDataSource.room.summary.membersCount.joined == 2
|
||||
&& self.roomDataSource.room.isDirect
|
||||
&& !self.mainSession.vc_homeserverConfiguration.jitsi.useFor1To1Calls)
|
||||
{
|
||||
// Matrix call
|
||||
[self.roomDataSource.room placeCallWithVideo:video success:nil failure:nil];
|
||||
|
|
1
changelog.d/7684.change
Normal file
1
changelog.d/7684.change
Normal file
|
@ -0,0 +1 @@
|
|||
Allow the use of Jitsi for 1:1 calls via a well-known configuration flag.
|
Loading…
Reference in a new issue