-
Notifications
You must be signed in to change notification settings - Fork 29
1.32.0 Release #937
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
1.32.0 Release #937
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Generated by 🚫 Danger |
Public Interface+ public enum CallKitMissingPermissionPolicy: CustomStringConvertible
+
+ case none
+ case endCall
+
+
+ public var description: String
+ public final class QueryCallParticipantsResponse: @unchecked Sendable, Codable, JSONEncodable, Hashable
+
+ public var call: CallResponse
+ public var duration: String
+ public var members: [MemberResponse]
+ public var membership: MemberResponse?
+ public var ownCapabilities: [OwnCapability]
+ public var participants: [CallParticipantResponse]
+ public var totalParticipants: Int
+
+
+ public init(call: CallResponse,duration: String,members: [MemberResponse],membership: MemberResponse? = nil,ownCapabilities: [OwnCapability],participants: [CallParticipantResponse],totalParticipants: Int)
+
+
+ public static func ==(lhs: QueryCallParticipantsResponse,rhs: QueryCallParticipantsResponse)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case call
+ case duration
+ case members
+ case membership
+ case ownCapabilities = "own_capabilities"
+ case participants
+ case totalParticipants = "total_participants"
+ public final class StartFrameRecordingResponse: @unchecked Sendable, Codable, JSONEncodable, Hashable
+
+ public var duration: String
+
+
+ public init(duration: String)
+
+
+ public static func ==(lhs: StartFrameRecordingResponse,rhs: StartFrameRecordingResponse)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case duration
+ public final class CallFrameRecordingFailedEvent: @unchecked Sendable, Event, Codable, JSONEncodable, Hashable, WSCallEvent
+
+ public var call: CallResponse
+ public var callCid: String
+ public var createdAt: Date
+ public var egressId: String
+ public var type: String
+
+
+ public init(call: CallResponse,callCid: String,createdAt: Date,egressId: String)
+
+
+ public static func ==(lhs: CallFrameRecordingFailedEvent,rhs: CallFrameRecordingFailedEvent)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case call
+ case callCid = "call_cid"
+ case createdAt = "created_at"
+ case egressId = "egress_id"
+ case type
+ public protocol URLNavigating
+ public final class CallStatsReportReadyEvent: @unchecked Sendable, Event, Codable, JSONEncodable, Hashable, WSCallEvent
+
+ public var callCid: String
+ public var createdAt: Date
+ public var sessionId: String
+ public var type: String
+
+
+ public init(callCid: String,createdAt: Date,sessionId: String)
+
+
+ public static func ==(lhs: CallStatsReportReadyEvent,rhs: CallStatsReportReadyEvent)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case callCid = "call_cid"
+ case createdAt = "created_at"
+ case sessionId = "session_id"
+ case type
+ public final class QueryCallParticipantsRequest: @unchecked Sendable, Codable, JSONEncodable, Hashable
+
+ public var filterConditions: [String: RawJSON]?
+
+
+ public init(filterConditions: [String: RawJSON]? = nil)
+
+
+ public static func ==(lhs: QueryCallParticipantsRequest,rhs: QueryCallParticipantsRequest)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case filterConditions = "filter_conditions"
+ public struct ToggleControlStyle
+
+ public var enabled: ControlStyle
+ public var disabled: ControlStyle
+
+
+ public init(enabled: ControlStyle,disabled: ControlStyle)
+ public enum Permission: Equatable, Sendable, CustomStringConvertible
+
+ case unknown
+ case requesting
+ case denied
+ case granted
+
+
+ public var description: String
+ public final class KickedUserEvent: @unchecked Sendable, Event, Codable, JSONEncodable, Hashable, WSCallEvent
+
+ public var callCid: String
+ public var createdAt: Date
+ public var kickedByUser: UserResponse?
+ public var type: String
+ public var user: UserResponse
+
+
+ public init(callCid: String,createdAt: Date,kickedByUser: UserResponse? = nil,user: UserResponse)
+
+
+ public static func ==(lhs: KickedUserEvent,rhs: KickedUserEvent)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case callCid = "call_cid"
+ case createdAt = "created_at"
+ case kickedByUser = "kicked_by_user"
+ case type
+ case user
+ public final class FileUploadConfig: @unchecked Sendable, Codable, JSONEncodable, Hashable
+
+ public var allowedFileExtensions: [String]
+ public var allowedMimeTypes: [String]
+ public var blockedFileExtensions: [String]
+ public var blockedMimeTypes: [String]
+ public var sizeLimit: Int
+
+
+ public init(allowedFileExtensions: [String],allowedMimeTypes: [String],blockedFileExtensions: [String],blockedMimeTypes: [String],sizeLimit: Int)
+
+
+ public static func ==(lhs: FileUploadConfig,rhs: FileUploadConfig)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case allowedFileExtensions = "allowed_file_extensions"
+ case allowedMimeTypes = "allowed_mime_types"
+ case blockedFileExtensions = "blocked_file_extensions"
+ case blockedMimeTypes = "blocked_mime_types"
+ case sizeLimit = "size_limit"
+ public enum StoreAction: Sendable, Equatable
+
+ case setMicrophonePermission(Permission)
+ case requestMicrophonePermission
+ case setCameraPermission(Permission)
+ case requestCameraPermission
+ case setPushNotificationPermission(Permission)
+ case requestPushNotificationPermission(UNAuthorizationOptions)
+ public final class StartFrameRecordingRequest: @unchecked Sendable, Codable, JSONEncodable, Hashable
+
+ public var recordingExternalStorage: String?
+
+
+ public init(recordingExternalStorage: String? = nil)
+
+
+ public static func ==(lhs: StartFrameRecordingRequest,rhs: StartFrameRecordingRequest)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case recordingExternalStorage = "recording_external_storage"
+ public struct ControlStyle
+
+ public var icon: Image
+ public var iconStyle: CallIconStyle
+
+
+ public init(icon: Image,iconStyle: CallIconStyle)
+ public final class AppEventResponse: @unchecked Sendable, Codable, JSONEncodable, Hashable
+
+ public var asyncUrlEnrichEnabled: Bool?
+ public var autoTranslationEnabled: Bool
+ public var fileUploadConfig: FileUploadConfig?
+ public var imageUploadConfig: FileUploadConfig?
+ public var name: String
+
+
+ public init(asyncUrlEnrichEnabled: Bool? = nil,autoTranslationEnabled: Bool,fileUploadConfig: FileUploadConfig? = nil,imageUploadConfig: FileUploadConfig? = nil,name: String)
+
+
+ public static func ==(lhs: AppEventResponse,rhs: AppEventResponse)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case asyncUrlEnrichEnabled = "async_url_enrich_enabled"
+ case autoTranslationEnabled = "auto_translation_enabled"
+ case fileUploadConfig = "file_upload_config"
+ case imageUploadConfig = "image_upload_config"
+ case name
+ extension PermissionStore: InjectionKey
+
+ nonisolated public static var currentValue: PermissionStore
+ public final class CallUserFeedbackSubmittedEvent: @unchecked Sendable, Event, Codable, JSONEncodable, Hashable, WSCallEvent
+
+ public var callCid: String
+ public var createdAt: Date
+ public var custom: [String: RawJSON]?
+ public var rating: Int
+ public var reason: String?
+ public var sdk: String?
+ public var sdkVersion: String?
+ public var sessionId: String
+ public var type: String
+ public var user: UserResponse
+
+
+ public init(callCid: String,createdAt: Date,custom: [String: RawJSON]? = nil,rating: Int,reason: String? = nil,sdk: String? = nil,sdkVersion: String? = nil,sessionId: String,user: UserResponse)
+
+
+ public static func ==(lhs: CallUserFeedbackSubmittedEvent,rhs: CallUserFeedbackSubmittedEvent)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case callCid = "call_cid"
+ case createdAt = "created_at"
+ case custom
+ case rating
+ case reason
+ case sdk
+ case sdkVersion = "sdk_version"
+ case sessionId = "session_id"
+ case type
+ case user
+ public final class KickUserResponse: @unchecked Sendable, Codable, JSONEncodable, Hashable
+
+ public var duration: String
+
+
+ public init(duration: String)
+
+
+ public static func ==(lhs: KickUserResponse,rhs: KickUserResponse)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case duration
+ public enum ParticipantSource: CustomStringConvertible, Hashable, Sendable
+
+ case webRTCUnspecified
+ case rtmp
+ case whip
+ case sip
+ case rtsp
+ case srt
+ case unrecognized(Int)
+
+
+ public var description: String
+ public final class CallFrameRecordingStoppedEvent: @unchecked Sendable, Event, Codable, JSONEncodable, Hashable, WSCallEvent
+
+ public var call: CallResponse
+ public var callCid: String
+ public var createdAt: Date
+ public var egressId: String
+ public var type: String
+
+
+ public init(call: CallResponse,callCid: String,createdAt: Date,egressId: String)
+
+
+ public static func ==(lhs: CallFrameRecordingStoppedEvent,rhs: CallFrameRecordingStoppedEvent)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case call
+ case callCid = "call_cid"
+ case createdAt = "created_at"
+ case egressId = "egress_id"
+ case type
+ public struct PermissionsPromptView: View
+
+ public var body: some View
+
+
+ public init(call: Call?)
+ public final class CallFrameRecordingStartedEvent: @unchecked Sendable, Event, Codable, JSONEncodable, Hashable, WSCallEvent
+
+ public var call: CallResponse
+ public var callCid: String
+ public var createdAt: Date
+ public var egressId: String
+ public var type: String
+
+
+ public init(call: CallResponse,callCid: String,createdAt: Date,egressId: String)
+
+
+ public static func ==(lhs: CallFrameRecordingStartedEvent,rhs: CallFrameRecordingStartedEvent)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case call
+ case callCid = "call_cid"
+ case createdAt = "created_at"
+ case egressId = "egress_id"
+ case type
+ public final class PermissionStore: ObservableObject, @unchecked Sendable
+
+ @Published public private var canRequestMicrophonePermission: Bool
+ @Published public private var hasMicrophonePermission: Bool
+ @Published public private var canRequestCameraPermission: Bool
+ @Published public private var hasCameraPermission: Bool
+
+
+ public func requestMicrophonePermission(file: StaticString = #file,function: StaticString = #function,line: UInt = #line)async throws -> Bool
+ public func requestCameraPermission(file: StaticString = #file,function: StaticString = #function,line: UInt = #line)async throws -> Bool
+ public func requestPushNotificationPermission(with options: UNAuthorizationOptions,file: StaticString = #file,function: StaticString = #function,line: UInt = #line)async throws -> Bool
+ public final class AppUpdatedEvent: @unchecked Sendable, Event, Codable, JSONEncodable, Hashable
+
+ public var app: AppEventResponse
+ public var createdAt: Date
+ public var custom: [String: RawJSON]
+ public var receivedAt: Date?
+ public var type: String
+
+
+ public init(app: AppEventResponse,createdAt: Date,custom: [String: RawJSON],receivedAt: Date? = nil)
+
+
+ public static func ==(lhs: AppUpdatedEvent,rhs: AppUpdatedEvent)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case app
+ case createdAt = "created_at"
+ case custom
+ case receivedAt = "received_at"
+ case type
+ public final class StopFrameRecordingResponse: @unchecked Sendable, Codable, JSONEncodable, Hashable
+
+ public var duration: String
+
+
+ public init(duration: String)
+
+
+ public static func ==(lhs: StopFrameRecordingResponse,rhs: StopFrameRecordingResponse)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case duration
+ public final class CallFrameRecordingFrameReadyEvent: @unchecked Sendable, Event, Codable, JSONEncodable, Hashable, WSCallEvent
+
+ public var callCid: String
+ public var capturedAt: Date
+ public var createdAt: Date
+ public var egressId: String
+ public var sessionId: String
+ public var trackType: String
+ public var type: String
+ public var url: String
+ public var users: [String: UserResponse]
+
+
+ public init(callCid: String,capturedAt: Date,createdAt: Date,egressId: String,sessionId: String,trackType: String,url: String,users: [String: UserResponse])
+
+
+ public static func ==(lhs: CallFrameRecordingFrameReadyEvent,rhs: CallFrameRecordingFrameReadyEvent)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case callCid = "call_cid"
+ case capturedAt = "captured_at"
+ case createdAt = "created_at"
+ case egressId = "egress_id"
+ case sessionId = "session_id"
+ case trackType = "track_type"
+ case type
+ case url
+ case users
+ public struct StoreState: Equatable, CustomStringConvertible
+
+ public var microphonePermission: Permission
+ public var cameraPermission: Permission
+ public var pushNotificationPermission: Permission
+ public var description: String
+ public final class KickUserRequest: @unchecked Sendable, Codable, JSONEncodable, Hashable
+
+ public var block: Bool?
+ public var userId: String
+
+
+ public init(block: Bool? = nil,userId: String)
+
+
+ public static func ==(lhs: KickUserRequest,rhs: KickUserRequest)-> Bool
+ public func hash(into hasher: inout Hasher)
+
+
+ public enum CodingKeys: String, CodingKey, CaseIterable
+
+ case block
+ case userId = "user_id"
- public final class GetCallStatsResponse: @unchecked Sendable, Codable, JSONEncodable, Hashable
-
- public var aggregated: AggregatedStats?
- public var averageConnectionTime: Float?
- public var callDurationSeconds: Int
- public var callStatus: String
- public var callTimeline: CallTimeline?
- public var duration: String
- public var jitter: Stats?
- public var latency: Stats?
- public var maxFreezesDurationSeconds: Int
- public var maxParticipants: Int
- public var maxTotalQualityLimitationDurationSeconds: Int
- public var participantReport: [UserStats]
- public var publishingParticipants: Int
- public var qualityScore: Int
- public var sfuCount: Int
- public var sfus: [SFULocationResponse]
-
-
- public init(aggregated: AggregatedStats? = nil,averageConnectionTime: Float? = nil,callDurationSeconds: Int,callStatus: String,callTimeline: CallTimeline? = nil,duration: String,jitter: Stats? = nil,latency: Stats? = nil,maxFreezesDurationSeconds: Int,maxParticipants: Int,maxTotalQualityLimitationDurationSeconds: Int,participantReport: [UserStats],publishingParticipants: Int,qualityScore: Int,sfuCount: Int,sfus: [SFULocationResponse])
-
-
- public static func ==(lhs: GetCallStatsResponse,rhs: GetCallStatsResponse)-> Bool
- public func hash(into hasher: inout Hasher)
-
-
- public enum CodingKeys: String, CodingKey, CaseIterable
-
- case aggregated
- case averageConnectionTime = "average_connection_time"
- case callDurationSeconds = "call_duration_seconds"
- case callStatus = "call_status"
- case callTimeline = "call_timeline"
- case duration
- case jitter
- case latency
- case maxFreezesDurationSeconds = "max_freezes_duration_seconds"
- case maxParticipants = "max_participants"
- case maxTotalQualityLimitationDurationSeconds = "max_total_quality_limitation_duration_seconds"
- case participantReport = "participant_report"
- case publishingParticipants = "publishing_participants"
- case qualityScore = "quality_score"
- case sfuCount = "sfu_count"
- case sfus
public enum VideoEvent: Codable, Hashable
- case typeCallAcceptedEvent(CallAcceptedEvent)
+ case typeAppUpdatedEvent(AppUpdatedEvent)
- case typeBlockedUserEvent(BlockedUserEvent)
+ case typeCallAcceptedEvent(CallAcceptedEvent)
- case typeClosedCaptionEvent(ClosedCaptionEvent)
+ case typeBlockedUserEvent(BlockedUserEvent)
- case typeCallClosedCaptionsFailedEvent(CallClosedCaptionsFailedEvent)
+ case typeClosedCaptionEvent(ClosedCaptionEvent)
- case typeCallClosedCaptionsStartedEvent(CallClosedCaptionsStartedEvent)
+ case typeCallClosedCaptionsFailedEvent(CallClosedCaptionsFailedEvent)
- case typeCallClosedCaptionsStoppedEvent(CallClosedCaptionsStoppedEvent)
+ case typeCallClosedCaptionsStartedEvent(CallClosedCaptionsStartedEvent)
- case typeCallCreatedEvent(CallCreatedEvent)
+ case typeCallClosedCaptionsStoppedEvent(CallClosedCaptionsStoppedEvent)
- case typeCallDeletedEvent(CallDeletedEvent)
+ case typeCallCreatedEvent(CallCreatedEvent)
- case typeCallEndedEvent(CallEndedEvent)
+ case typeCallDeletedEvent(CallDeletedEvent)
- case typeCallHLSBroadcastingFailedEvent(CallHLSBroadcastingFailedEvent)
+ case typeCallEndedEvent(CallEndedEvent)
- case typeCallHLSBroadcastingStartedEvent(CallHLSBroadcastingStartedEvent)
+ case typeCallFrameRecordingFailedEvent(CallFrameRecordingFailedEvent)
- case typeCallHLSBroadcastingStoppedEvent(CallHLSBroadcastingStoppedEvent)
+ case typeCallFrameRecordingFrameReadyEvent(CallFrameRecordingFrameReadyEvent)
- case typeCallLiveStartedEvent(CallLiveStartedEvent)
+ case typeCallFrameRecordingStartedEvent(CallFrameRecordingStartedEvent)
- case typeCallMemberAddedEvent(CallMemberAddedEvent)
+ case typeCallFrameRecordingStoppedEvent(CallFrameRecordingStoppedEvent)
- case typeCallMemberRemovedEvent(CallMemberRemovedEvent)
+ case typeCallHLSBroadcastingFailedEvent(CallHLSBroadcastingFailedEvent)
- case typeCallMemberUpdatedEvent(CallMemberUpdatedEvent)
+ case typeCallHLSBroadcastingStartedEvent(CallHLSBroadcastingStartedEvent)
- case typeCallMemberUpdatedPermissionEvent(CallMemberUpdatedPermissionEvent)
+ case typeCallHLSBroadcastingStoppedEvent(CallHLSBroadcastingStoppedEvent)
- case typeCallMissedEvent(CallMissedEvent)
+ case typeKickedUserEvent(KickedUserEvent)
- case typeCallNotificationEvent(CallNotificationEvent)
+ case typeCallLiveStartedEvent(CallLiveStartedEvent)
- case typePermissionRequestEvent(PermissionRequestEvent)
+ case typeCallMemberAddedEvent(CallMemberAddedEvent)
- case typeUpdatedCallPermissionsEvent(UpdatedCallPermissionsEvent)
+ case typeCallMemberRemovedEvent(CallMemberRemovedEvent)
- case typeCallReactionEvent(CallReactionEvent)
+ case typeCallMemberUpdatedEvent(CallMemberUpdatedEvent)
- case typeCallRecordingFailedEvent(CallRecordingFailedEvent)
+ case typeCallMemberUpdatedPermissionEvent(CallMemberUpdatedPermissionEvent)
- case typeCallRecordingReadyEvent(CallRecordingReadyEvent)
+ case typeCallMissedEvent(CallMissedEvent)
- case typeCallRecordingStartedEvent(CallRecordingStartedEvent)
+ case typeCallNotificationEvent(CallNotificationEvent)
- case typeCallRecordingStoppedEvent(CallRecordingStoppedEvent)
+ case typePermissionRequestEvent(PermissionRequestEvent)
- case typeCallRejectedEvent(CallRejectedEvent)
+ case typeUpdatedCallPermissionsEvent(UpdatedCallPermissionsEvent)
- case typeCallRingEvent(CallRingEvent)
+ case typeCallReactionEvent(CallReactionEvent)
- case typeCallRtmpBroadcastFailedEvent(CallRtmpBroadcastFailedEvent)
+ case typeCallRecordingFailedEvent(CallRecordingFailedEvent)
- case typeCallRtmpBroadcastStartedEvent(CallRtmpBroadcastStartedEvent)
+ case typeCallRecordingReadyEvent(CallRecordingReadyEvent)
- case typeCallRtmpBroadcastStoppedEvent(CallRtmpBroadcastStoppedEvent)
+ case typeCallRecordingStartedEvent(CallRecordingStartedEvent)
- case typeCallSessionEndedEvent(CallSessionEndedEvent)
+ case typeCallRecordingStoppedEvent(CallRecordingStoppedEvent)
- case typeCallSessionParticipantCountsUpdatedEvent(CallSessionParticipantCountsUpdatedEvent)
+ case typeCallRejectedEvent(CallRejectedEvent)
- case typeCallSessionParticipantJoinedEvent(CallSessionParticipantJoinedEvent)
+ case typeCallRingEvent(CallRingEvent)
- case typeCallSessionParticipantLeftEvent(CallSessionParticipantLeftEvent)
+ case typeCallRtmpBroadcastFailedEvent(CallRtmpBroadcastFailedEvent)
- case typeCallSessionStartedEvent(CallSessionStartedEvent)
+ case typeCallRtmpBroadcastStartedEvent(CallRtmpBroadcastStartedEvent)
- case typeCallTranscriptionFailedEvent(CallTranscriptionFailedEvent)
+ case typeCallRtmpBroadcastStoppedEvent(CallRtmpBroadcastStoppedEvent)
- case typeCallTranscriptionReadyEvent(CallTranscriptionReadyEvent)
+ case typeCallSessionEndedEvent(CallSessionEndedEvent)
- case typeCallTranscriptionStartedEvent(CallTranscriptionStartedEvent)
+ case typeCallSessionParticipantCountsUpdatedEvent(CallSessionParticipantCountsUpdatedEvent)
- case typeCallTranscriptionStoppedEvent(CallTranscriptionStoppedEvent)
+ case typeCallSessionParticipantJoinedEvent(CallSessionParticipantJoinedEvent)
- case typeUnblockedUserEvent(UnblockedUserEvent)
+ case typeCallSessionParticipantLeftEvent(CallSessionParticipantLeftEvent)
- case typeCallUpdatedEvent(CallUpdatedEvent)
+ case typeCallSessionStartedEvent(CallSessionStartedEvent)
- case typeCallUserMutedEvent(CallUserMutedEvent)
+ case typeCallStatsReportReadyEvent(CallStatsReportReadyEvent)
- case typeConnectionErrorEvent(ConnectionErrorEvent)
+ case typeCallTranscriptionFailedEvent(CallTranscriptionFailedEvent)
- case typeConnectedEvent(ConnectedEvent)
+ case typeCallTranscriptionReadyEvent(CallTranscriptionReadyEvent)
- case typeCustomVideoEvent(CustomVideoEvent)
+ case typeCallTranscriptionStartedEvent(CallTranscriptionStartedEvent)
- case typeHealthCheckEvent(HealthCheckEvent)
+ case typeCallTranscriptionStoppedEvent(CallTranscriptionStoppedEvent)
- case typeUserUpdatedEvent(UserUpdatedEvent)
+ case typeUnblockedUserEvent(UnblockedUserEvent)
-
+ case typeCallUpdatedEvent(CallUpdatedEvent)
-
+ case typeCallUserFeedbackSubmittedEvent(CallUserFeedbackSubmittedEvent)
- public var type: String
+ case typeCallUserMutedEvent(CallUserMutedEvent)
- public var rawValue: Event
+ case typeConnectionErrorEvent(ConnectionErrorEvent)
-
+ case typeConnectedEvent(ConnectedEvent)
-
+ case typeCustomVideoEvent(CustomVideoEvent)
- public init(from decoder: Decoder)throws
+ case typeHealthCheckEvent(HealthCheckEvent)
-
+ case typeUserUpdatedEvent(UserUpdatedEvent)
-
+
- public func encode(to encoder: Encoder)throws
+
+ public var type: String
+ public var rawValue: Event
+
+
+ public init(from decoder: Decoder)throws
+
+
+ public func encode(to encoder: Encoder)throws
@MainActor public class LobbyViewModel: ObservableObject, @unchecked Sendable
- public func didUpdate(callSettings: CallSettings)async
+ public func didUpdate(callSettings: CallSettings)
public struct ControlBadgeView: View
- public var body: some View
+ case text(String, foreground: Color, background: Color)
-
+ case image(Image, foreground: Color, background: Color)
-
+
- public init(_ value: String)
+
+ public var body: some View
+
+
+ public init(_ value: String,foreground: Color = InjectedValues[\.colors].textInverted,background: Color = InjectedValues[\.colors].onlineIndicatorColor)
+ public init(_ image: Image,foreground: Color = InjectedValues[\.colors].textInverted,background: Color = InjectedValues[\.colors].onlineIndicatorColor)
extension InjectedValues
- public var pictureInPictureAdapter: StreamPictureInPictureAdapter
+ public var urlNavigator: URLNavigating
public enum OwnCapability: String, Sendable, Codable, CaseIterable
- case unknown = "_unknown"
+ case kickUser = "kick-user"
-
+ case unknown = "_unknown"
-
+
- public init(from decoder: Decoder)throws
+
+ public init(from decoder: Decoder)throws
open class DefaultAPI: DefaultAPIEndpoints, @unchecked Sendable
- open func endCall(type: String,id: String)async throws -> EndCallResponse
+ open func kickUser(type: String,id: String,kickUserRequest: KickUserRequest)async throws -> KickUserResponse
- open func updateCallMembers(type: String,id: String,updateCallMembersRequest: UpdateCallMembersRequest)async throws -> UpdateCallMembersResponse
+ open func endCall(type: String,id: String)async throws -> EndCallResponse
- open func muteUsers(type: String,id: String,muteUsersRequest: MuteUsersRequest)async throws -> MuteUsersResponse
+ open func updateCallMembers(type: String,id: String,updateCallMembersRequest: UpdateCallMembersRequest)async throws -> UpdateCallMembersResponse
- open func videoPin(type: String,id: String,pinRequest: PinRequest)async throws -> PinResponse
+ open func muteUsers(type: String,id: String,muteUsersRequest: MuteUsersRequest)async throws -> MuteUsersResponse
- open func sendVideoReaction(type: String,id: String,sendReactionRequest: SendReactionRequest)async throws -> SendReactionResponse
+ open func queryCallParticipants(id: String,type: String,limit: Int?,queryCallParticipantsRequest: QueryCallParticipantsRequest)async throws -> QueryCallParticipantsResponse
- open func listRecordings(type: String,id: String)async throws -> ListRecordingsResponse
+ open func videoPin(type: String,id: String,pinRequest: PinRequest)async throws -> PinResponse
- open func rejectCall(type: String,id: String,rejectCallRequest: RejectCallRequest)async throws -> RejectCallResponse
+ open func sendVideoReaction(type: String,id: String,sendReactionRequest: SendReactionRequest)async throws -> SendReactionResponse
- open func requestPermission(type: String,id: String,requestPermissionRequest: RequestPermissionRequest)async throws -> RequestPermissionResponse
+ open func listRecordings(type: String,id: String)async throws -> ListRecordingsResponse
- open func startRTMPBroadcasts(type: String,id: String,startRTMPBroadcastsRequest: StartRTMPBroadcastsRequest)async throws -> StartRTMPBroadcastsResponse
+ open func rejectCall(type: String,id: String,rejectCallRequest: RejectCallRequest)async throws -> RejectCallResponse
- open func stopAllRTMPBroadcasts(type: String,id: String)async throws -> StopAllRTMPBroadcastsResponse
+ open func requestPermission(type: String,id: String,requestPermissionRequest: RequestPermissionRequest)async throws -> RequestPermissionResponse
- open func stopRTMPBroadcast(type: String,id: String,name: String)async throws -> StopRTMPBroadcastsResponse
+ open func startRTMPBroadcasts(type: String,id: String,startRTMPBroadcastsRequest: StartRTMPBroadcastsRequest)async throws -> StartRTMPBroadcastsResponse
- open func startHLSBroadcasting(type: String,id: String)async throws -> StartHLSBroadcastingResponse
+ open func stopAllRTMPBroadcasts(type: String,id: String)async throws -> StopAllRTMPBroadcastsResponse
- open func startClosedCaptions(type: String,id: String,startClosedCaptionsRequest: StartClosedCaptionsRequest)async throws -> StartClosedCaptionsResponse
+ open func stopRTMPBroadcast(type: String,id: String,name: String)async throws -> StopRTMPBroadcastsResponse
- open func startRecording(type: String,id: String,startRecordingRequest: StartRecordingRequest)async throws -> StartRecordingResponse
+ open func startHLSBroadcasting(type: String,id: String)async throws -> StartHLSBroadcastingResponse
- open func startTranscription(type: String,id: String,startTranscriptionRequest: StartTranscriptionRequest)async throws -> StartTranscriptionResponse
+ open func startClosedCaptions(type: String,id: String,startClosedCaptionsRequest: StartClosedCaptionsRequest)async throws -> StartClosedCaptionsResponse
- open func getCallStats(type: String,id: String,session: String)async throws -> GetCallStatsResponse
+ open func startFrameRecording(type: String,id: String,startFrameRecordingRequest: StartFrameRecordingRequest)async throws -> StartFrameRecordingResponse
- open func stopHLSBroadcasting(type: String,id: String)async throws -> StopHLSBroadcastingResponse
+ open func startRecording(type: String,id: String,startRecordingRequest: StartRecordingRequest)async throws -> StartRecordingResponse
- open func stopClosedCaptions(type: String,id: String,stopClosedCaptionsRequest: StopClosedCaptionsRequest)async throws -> StopClosedCaptionsResponse
+ open func startTranscription(type: String,id: String,startTranscriptionRequest: StartTranscriptionRequest)async throws -> StartTranscriptionResponse
- open func stopLive(type: String,id: String,stopLiveRequest: StopLiveRequest)async throws -> StopLiveResponse
+ open func stopHLSBroadcasting(type: String,id: String)async throws -> StopHLSBroadcastingResponse
- open func stopRecording(type: String,id: String)async throws -> StopRecordingResponse
+ open func stopClosedCaptions(type: String,id: String,stopClosedCaptionsRequest: StopClosedCaptionsRequest)async throws -> StopClosedCaptionsResponse
- open func stopTranscription(type: String,id: String,stopTranscriptionRequest: StopTranscriptionRequest)async throws -> StopTranscriptionResponse
+ open func stopFrameRecording(type: String,id: String)async throws -> StopFrameRecordingResponse
- open func listTranscriptions(type: String,id: String)async throws -> ListTranscriptionsResponse
+ open func stopLive(type: String,id: String,stopLiveRequest: StopLiveRequest)async throws -> StopLiveResponse
- open func unblockUser(type: String,id: String,unblockUserRequest: UnblockUserRequest)async throws -> UnblockUserResponse
+ open func stopRecording(type: String,id: String)async throws -> StopRecordingResponse
- open func videoUnpin(type: String,id: String,unpinRequest: UnpinRequest)async throws -> UnpinResponse
+ open func stopTranscription(type: String,id: String,stopTranscriptionRequest: StopTranscriptionRequest)async throws -> StopTranscriptionResponse
- open func updateUserPermissions(type: String,id: String,updateUserPermissionsRequest: UpdateUserPermissionsRequest)async throws -> UpdateUserPermissionsResponse
+ open func listTranscriptions(type: String,id: String)async throws -> ListTranscriptionsResponse
- open func deleteRecording(type: String,id: String,session: String,filename: String)async throws -> DeleteRecordingResponse
+ open func unblockUser(type: String,id: String,unblockUserRequest: UnblockUserRequest)async throws -> UnblockUserResponse
- open func deleteTranscription(type: String,id: String,session: String,filename: String)async throws -> DeleteTranscriptionResponse
+ open func videoUnpin(type: String,id: String,unpinRequest: UnpinRequest)async throws -> UnpinResponse
- open func queryCalls(queryCallsRequest: QueryCallsRequest)async throws -> QueryCallsResponse
+ open func updateUserPermissions(type: String,id: String,updateUserPermissionsRequest: UpdateUserPermissionsRequest)async throws -> UpdateUserPermissionsResponse
- open func deleteDevice(id: String)async throws -> ModelResponse
+ open func deleteRecording(type: String,id: String,session: String,filename: String)async throws -> DeleteRecordingResponse
- open func listDevices()async throws -> ListDevicesResponse
+ open func deleteTranscription(type: String,id: String,session: String,filename: String)async throws -> DeleteTranscriptionResponse
- open func createDevice(createDeviceRequest: CreateDeviceRequest)async throws -> ModelResponse
+ open func queryCalls(queryCallsRequest: QueryCallsRequest)async throws -> QueryCallsResponse
- open func getEdges()async throws -> GetEdgesResponse
+ open func deleteDevice(id: String)async throws -> ModelResponse
- open func createGuest(createGuestRequest: CreateGuestRequest)async throws -> CreateGuestResponse
+ open func listDevices()async throws -> ListDevicesResponse
- open func videoConnect()async throws
+ open func createDevice(createDeviceRequest: CreateDeviceRequest)async throws -> ModelResponse
+ open func getEdges()async throws -> GetEdgesResponse
+ open func createGuest(createGuestRequest: CreateGuestRequest)async throws -> CreateGuestResponse
+ open func videoConnect()async throws
public struct StatelessMicrophoneIconView: View
- public var body: some View
+ public var controlStyle: ToggleControlStyle
-
+ public var body: some View
-
+
- @MainActor public init(call: Call?,size: CGFloat = 44,actionHandler: ActionHandler? = nil)
+
+ @MainActor public init(call: Call?,callSettings: CallSettings = .init(),size: CGFloat = 44,controlStyle: ToggleControlStyle = .init(
+ enabled: .init(icon: Appearance.default.images.micTurnOn, iconStyle: .transparent),
+ disabled: .init(icon: Appearance.default.images.micTurnOff, iconStyle: .disabled)
+ ),actionHandler: ActionHandler? = nil)
public final class StreamPictureInPictureAdapter: @unchecked Sendable
+
+
+ @MainActor public func setViewFactory(_ viewFactory: V)
public struct CallParticipant: Identifiable, Sendable, Hashable
- public var userId: String
+ public var source: ParticipantSource
- public var name: String
+ public var userId: String
- public var profileImageURL: URL?
+ public var name: String
- public var isPinned: Bool
+ public var profileImageURL: URL?
- public var isPinnedRemotely: Bool
+ public var isPinned: Bool
- public var shouldDisplayTrack: Bool
+ public var isPinnedRemotely: Bool
-
+ public var shouldDisplayTrack: Bool
-
+
- public init(id: String,userId: String,roles: [String],name: String,profileImageURL: URL?,trackLookupPrefix: String?,hasVideo: Bool,hasAudio: Bool,isScreenSharing: Bool,showTrack: Bool,track: RTCVideoTrack? = nil,trackSize: CGSize = CGSize(width: 1024, height: 720),screenshareTrack: RTCVideoTrack? = nil,isSpeaking: Bool = false,isDominantSpeaker: Bool,sessionId: String,connectionQuality: ConnectionQuality,joinedAt: Date,audioLevel: Float,audioLevels: [Float],pin: PinInfo?,pausedTracks: Set<TrackType>)
+
-
+ public init(id: String,userId: String,roles: [String],name: String,profileImageURL: URL?,trackLookupPrefix: String?,hasVideo: Bool,hasAudio: Bool,isScreenSharing: Bool,showTrack: Bool,track: RTCVideoTrack? = nil,trackSize: CGSize = CGSize(width: 1024, height: 720),screenshareTrack: RTCVideoTrack? = nil,isSpeaking: Bool = false,isDominantSpeaker: Bool,sessionId: String,connectionQuality: ConnectionQuality,joinedAt: Date,audioLevel: Float,audioLevels: [Float],pin: PinInfo?,pausedTracks: Set<TrackType>,source: ParticipantSource = .webRTCUnspecified)
-
+
- public static func ==(lhs: CallParticipant,rhs: CallParticipant)-> Bool
+
- public func withUpdated(trackSize: CGSize)-> CallParticipant
+ public static func ==(lhs: CallParticipant,rhs: CallParticipant)-> Bool
- public func withUpdated(track: RTCVideoTrack?)-> CallParticipant
+ public func withUpdated(trackSize: CGSize)-> CallParticipant
- public func withUpdated(screensharingTrack: RTCVideoTrack?)-> CallParticipant
+ public func withUpdated(track: RTCVideoTrack?)-> CallParticipant
- public func withUpdated(audio: Bool)-> CallParticipant
+ public func withUpdated(screensharingTrack: RTCVideoTrack?)-> CallParticipant
- public func withUpdated(video: Bool)-> CallParticipant
+ public func withUpdated(audio: Bool)-> CallParticipant
- public func withUpdated(screensharing: Bool)-> CallParticipant
+ public func withUpdated(video: Bool)-> CallParticipant
- public func withUpdated(showTrack: Bool)-> CallParticipant
+ public func withUpdated(screensharing: Bool)-> CallParticipant
- public func withUpdated(trackLookupPrefix: String)-> CallParticipant
+ public func withUpdated(showTrack: Bool)-> CallParticipant
- public func withUpdated(isSpeaking: Bool,audioLevel: Float)-> CallParticipant
+ public func withUpdated(trackLookupPrefix: String)-> CallParticipant
- public func withUpdated(dominantSpeaker: Bool)-> CallParticipant
+ public func withUpdated(isSpeaking: Bool,audioLevel: Float)-> CallParticipant
- public func withUpdated(connectionQuality: ConnectionQuality)-> CallParticipant
+ public func withUpdated(dominantSpeaker: Bool)-> CallParticipant
- public func withUpdated(pin: PinInfo?)-> CallParticipant
+ public func withUpdated(connectionQuality: ConnectionQuality)-> CallParticipant
- public func withPausedTrack(_ trackType: TrackType)-> CallParticipant
+ public func withUpdated(pin: PinInfo?)-> CallParticipant
- public func withUnpausedTrack(_ trackType: TrackType)-> CallParticipant
+ public func withPausedTrack(_ trackType: TrackType)-> CallParticipant
+ public func withUnpausedTrack(_ trackType: TrackType)-> CallParticipant
public class Call: @unchecked Sendable, WSEventsSubscriber
- public func disableClientCapabilities(_ capabilities: Set<ClientCapability>)async
+ public func disableClientCapabilities(_ capabilities: Set<ClientCapability>)async
+ public func kickUser(userId: String,block: Bool? = nil)async throws -> KickUserResponse
- public struct VideoCallParticipantView: View
+ @MainActor public struct VideoCallParticipantView: View
extension ViewFactory
+ public func makePermissionsPromptView(call: Call?)-> some View
open class CallKitService: NSObject, CXProviderDelegate, @unchecked Sendable
- open internal lazy var callController
+ open var missingPermissionPolicy: CallKitMissingPermissionPolicy
- open internal lazy var callProvider
+ open internal lazy var callController
-
+ open internal lazy var callProvider
-
+
- override public init()
+
-
+ override public init()
-
+
- open func reportIncomingCall(_ cid: String,localizedCallerName: String,callerId: String,hasVideo: Bool = false,completion: @escaping (Error?) -> Void)
+
- open func callAccepted(_ response: CallAcceptedEvent)
+ open func reportIncomingCall(_ cid: String,localizedCallerName: String,callerId: String,hasVideo: Bool = false,completion: @escaping (Error?) -> Void)
- open func callRejected(_ response: CallRejectedEvent)
+ open func callAccepted(_ response: CallAcceptedEvent)
- open func callEnded(_ cId: String,ringingTimedOut: Bool)
+ open func callRejected(_ response: CallRejectedEvent)
- open func callParticipantLeft(_ response: CallSessionParticipantLeftEvent)
+ open func callEnded(_ cId: String,ringingTimedOut: Bool)
- open func providerDidReset(_ provider: CXProvider)
+ open func callParticipantLeft(_ response: CallSessionParticipantLeftEvent)
- open func provider(_ provider: CXProvider,didActivate audioSession: AVAudioSession)
+ open func providerDidReset(_ provider: CXProvider)
- public func provider(_ provider: CXProvider,didDeactivate audioSession: AVAudioSession)
+ open func provider(_ provider: CXProvider,didActivate audioSession: AVAudioSession)
- open func provider(_ provider: CXProvider,perform action: CXAnswerCallAction)
+ public func provider(_ provider: CXProvider,didDeactivate audioSession: AVAudioSession)
- open func provider(_ provider: CXProvider,perform action: CXEndCallAction)
+ open func provider(_ provider: CXProvider,perform action: CXAnswerCallAction)
- open func provider(_ provider: CXProvider,perform action: CXSetMutedCallAction)
+ open func provider(_ provider: CXProvider,perform action: CXEndCallAction)
- open func requestTransaction(_ action: CXAction)async throws
+ open func provider(_ provider: CXProvider,perform action: CXSetMutedCallAction)
- open func checkIfCallWasHandled(callState: GetCallResponse)-> Bool
+ open func requestTransaction(_ action: CXAction)async throws
- open func setUpRingingTimer(for callState: GetCallResponse)
+ open func checkIfCallWasHandled(callState: GetCallResponse)-> Bool
- open func didUpdate(_ streamVideo: StreamVideo?)
+ open func setUpRingingTimer(for callState: GetCallResponse)
+ open func didUpdate(_ streamVideo: StreamVideo?)
public struct StatelessVideoIconView: View
- public var body: some View
+ public var controlStyle: ToggleControlStyle
-
+ public var body: some View
-
+
- public init(call: Call?,size: CGFloat = 44,actionHandler: ActionHandler? = nil)
+
+ public init(call: Call?,callSettings: CallSettings = .init(),size: CGFloat = 44,controlStyle: ToggleControlStyle = .init(
+ enabled: .init(icon: Appearance.default.images.videoTurnOn, iconStyle: .transparent),
+ disabled: .init(icon: Appearance.default.images.videoTurnOff, iconStyle: .disabled)
+ ),actionHandler: ActionHandler? = nil)
public struct CallTopView: View
- public init(viewModel: CallViewModel)
+ public init(viewFactory: Factory = DefaultViewFactory.shared,viewModel: CallViewModel) |
Build for regression testing №275 has been uploaded to TestFlight 🎁 |
SDK Size
|
|
testableapple
approved these changes
Sep 8, 2025
/merge release |
Publication of the release has been launched 👍 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
✅ Added
ViewFactory
instance to be used from Picture-in-Picture. #934CallParticipant
now exposes thesource
property, which can be used to distinguish between WebRTC users and ingest sources like RTMP or SIP. #93🔄 Changed
🐞 Fixed