diff --git a/CHANGELOG.md b/CHANGELOG.md
index ad27ad0b1..962a32bf9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,13 +5,22 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
# Upcoming
### 🔄 Changed
-- Update WebRTC to 137.0.42 which brings performance improvements on video rendering. [#983](https://github.com/GetStream/stream-video-swift/pull/983)
+
+# [1.35.0](https://github.com/GetStream/stream-video-swift/releases/tag/1.35.0)
+_November 05, 2025_
+
+### ✅ Added
+- SwiftUI modifiers that surface moderation blur and warning events in `CallView`. [#987](https://github.com/GetStream/stream-video-swift/pull/987)
+
+### 🔄 Changed
# [1.34.2](https://github.com/GetStream/stream-video-swift/releases/tag/1.34.2)
_October 24, 2025_
### 🔄 Changed
+- Update WebRTC to 137.0.42 which brings performance improvements on video rendering. [#983](https://github.com/GetStream/stream-video-swift/pull/983)
+
# [1.34.1](https://github.com/GetStream/stream-video-swift/releases/tag/1.34.1)
_October 14, 2025_
@@ -37,7 +46,7 @@ _September 08, 2025_
### ✅ Added
- When the user is missing a permission, the SDK will prompt them to accept any missing permission. [#915](https://github.com/GetStream/stream-video-swift/pull/915)
-- You can now set the `ViewFactory` instance to be used from Picture-in-Picture. [#934](https://github.com/GetStream/stream-video-swift/pull/934)
+- You can now set the `ViewFactory` instance to be used from Picture-in-Picture. [#934](https://github.com/GetStream/stream-video-swift/pull/934)
- `CallParticipant` now exposes the `source` property, which can be used to distinguish between WebRTC users and ingest sources like RTMP or SIP. [#93](https://github.com/GetStream/stream-video-swift/pull/933)
- Add the user action to kick a participant from a call. [#928](https://github.com/GetStream/stream-video-swift/pull/928)
diff --git a/Package.swift b/Package.swift
index 60b210cb4..9e6fc7881 100644
--- a/Package.swift
+++ b/Package.swift
@@ -23,7 +23,7 @@ let package = Package(
],
dependencies: [
.package(url: "https://github.com/apple/swift-protobuf.git", exact: "1.30.0"),
- .package(url: "https://github.com/GetStream/stream-video-swift-webrtc.git", exact: "137.0.42")
+ .package(url: "https://github.com/GetStream/stream-video-swift-webrtc.git", exact: "137.0.43")
],
targets: [
.target(
diff --git a/README.md b/README.md
index d827f3a96..fbdd71711 100644
--- a/README.md
+++ b/README.md
@@ -9,9 +9,9 @@
-
-
-
+
+
+
diff --git a/Sources/StreamVideo/CallState.swift b/Sources/StreamVideo/CallState.swift
index d23d2a963..ce44d79ed 100644
--- a/Sources/StreamVideo/CallState.swift
+++ b/Sources/StreamVideo/CallState.swift
@@ -308,6 +308,10 @@ public class CallState: ObservableObject {
break
case .typeCallUserFeedbackSubmittedEvent:
break
+ case .typeCallModerationBlurEvent:
+ break
+ case .typeCallModerationWarningEvent:
+ break
}
}
diff --git a/Sources/StreamVideo/Generated/SystemEnvironment+Version.swift b/Sources/StreamVideo/Generated/SystemEnvironment+Version.swift
index b952f1086..69e2f37c3 100644
--- a/Sources/StreamVideo/Generated/SystemEnvironment+Version.swift
+++ b/Sources/StreamVideo/Generated/SystemEnvironment+Version.swift
@@ -7,7 +7,7 @@ import Foundation
extension SystemEnvironment {
/// A Stream Video version.
- public static let version: String = "1.34.2"
+ public static let version: String = "1.35.0"
/// The WebRTC version.
- public static let webRTCVersion: String = "137.0.42"
+ public static let webRTCVersion: String = "137.0.43"
}
diff --git a/Sources/StreamVideo/Info.plist b/Sources/StreamVideo/Info.plist
index 4c36b4383..81683f3c5 100644
--- a/Sources/StreamVideo/Info.plist
+++ b/Sources/StreamVideo/Info.plist
@@ -15,7 +15,7 @@
CFBundlePackageType
$(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString
- 1.34.2
+ 1.35.0
CFBundleVersion
$(CURRENT_PROJECT_VERSION)
NSHumanReadableCopyright
diff --git a/Sources/StreamVideo/OpenApi/generated/Models/CallModerationBlurEvent.swift b/Sources/StreamVideo/OpenApi/generated/Models/CallModerationBlurEvent.swift
new file mode 100644
index 000000000..cc37118f4
--- /dev/null
+++ b/Sources/StreamVideo/OpenApi/generated/Models/CallModerationBlurEvent.swift
@@ -0,0 +1,44 @@
+//
+// Copyright © 2025 Stream.io Inc. All rights reserved.
+//
+
+import Foundation
+
+public final class CallModerationBlurEvent: @unchecked Sendable, Event, Codable, JSONEncodable, Hashable, WSCallEvent {
+ public var callCid: String
+ public var createdAt: Date
+ public var custom: [String: RawJSON]
+ public var type: String = "call.moderation_blur"
+ public var userId: String
+
+ public init(callCid: String, createdAt: Date, custom: [String: RawJSON], userId: String) {
+ self.callCid = callCid
+ self.createdAt = createdAt
+ self.custom = custom
+ self.userId = userId
+ }
+
+ public enum CodingKeys: String, CodingKey, CaseIterable {
+ case callCid = "call_cid"
+ case createdAt = "created_at"
+ case custom
+ case type
+ case userId = "user_id"
+ }
+
+ public static func == (lhs: CallModerationBlurEvent, rhs: CallModerationBlurEvent) -> Bool {
+ lhs.callCid == rhs.callCid &&
+ lhs.createdAt == rhs.createdAt &&
+ lhs.custom == rhs.custom &&
+ lhs.type == rhs.type &&
+ lhs.userId == rhs.userId
+ }
+
+ public func hash(into hasher: inout Hasher) {
+ hasher.combine(callCid)
+ hasher.combine(createdAt)
+ hasher.combine(custom)
+ hasher.combine(type)
+ hasher.combine(userId)
+ }
+}
diff --git a/Sources/StreamVideo/OpenApi/generated/Models/CallModerationWarningEvent.swift b/Sources/StreamVideo/OpenApi/generated/Models/CallModerationWarningEvent.swift
new file mode 100644
index 000000000..e242d2daf
--- /dev/null
+++ b/Sources/StreamVideo/OpenApi/generated/Models/CallModerationWarningEvent.swift
@@ -0,0 +1,49 @@
+//
+// Copyright © 2025 Stream.io Inc. All rights reserved.
+//
+
+import Foundation
+
+public final class CallModerationWarningEvent: @unchecked Sendable, Event, Codable, JSONEncodable, Hashable, WSCallEvent {
+ public var callCid: String
+ public var createdAt: Date
+ public var custom: [String: RawJSON]
+ public var message: String
+ public var type: String = "call.moderation_warning"
+ public var userId: String
+
+ public init(callCid: String, createdAt: Date, custom: [String: RawJSON], message: String, userId: String) {
+ self.callCid = callCid
+ self.createdAt = createdAt
+ self.custom = custom
+ self.message = message
+ self.userId = userId
+ }
+
+ public enum CodingKeys: String, CodingKey, CaseIterable {
+ case callCid = "call_cid"
+ case createdAt = "created_at"
+ case custom
+ case message
+ case type
+ case userId = "user_id"
+ }
+
+ public static func == (lhs: CallModerationWarningEvent, rhs: CallModerationWarningEvent) -> Bool {
+ lhs.callCid == rhs.callCid &&
+ lhs.createdAt == rhs.createdAt &&
+ lhs.custom == rhs.custom &&
+ lhs.message == rhs.message &&
+ lhs.type == rhs.type &&
+ lhs.userId == rhs.userId
+ }
+
+ public func hash(into hasher: inout Hasher) {
+ hasher.combine(callCid)
+ hasher.combine(createdAt)
+ hasher.combine(custom)
+ hasher.combine(message)
+ hasher.combine(type)
+ hasher.combine(userId)
+ }
+}
diff --git a/Sources/StreamVideo/OpenApi/generated/Models/VideoEvent.swift b/Sources/StreamVideo/OpenApi/generated/Models/VideoEvent.swift
index bf1363cf9..1305b27da 100644
--- a/Sources/StreamVideo/OpenApi/generated/Models/VideoEvent.swift
+++ b/Sources/StreamVideo/OpenApi/generated/Models/VideoEvent.swift
@@ -37,6 +37,8 @@ public enum VideoEvent: Codable, Hashable {
case typeCallMemberUpdatedEvent(CallMemberUpdatedEvent)
case typeCallMemberUpdatedPermissionEvent(CallMemberUpdatedPermissionEvent)
case typeCallMissedEvent(CallMissedEvent)
+ case typeCallModerationBlurEvent(CallModerationBlurEvent)
+ case typeCallModerationWarningEvent(CallModerationWarningEvent)
case typeCallNotificationEvent(CallNotificationEvent)
case typePermissionRequestEvent(PermissionRequestEvent)
case typeUpdatedCallPermissionsEvent(UpdatedCallPermissionsEvent)
@@ -120,6 +122,10 @@ public enum VideoEvent: Codable, Hashable {
return value.type
case let .typeCallMissedEvent(value):
return value.type
+ case let .typeCallModerationBlurEvent(value):
+ return value.type
+ case let .typeCallModerationWarningEvent(value):
+ return value.type
case let .typeCallNotificationEvent(value):
return value.type
case let .typePermissionRequestEvent(value):
@@ -237,6 +243,10 @@ public enum VideoEvent: Codable, Hashable {
return value
case let .typeCallMissedEvent(value):
return value
+ case let .typeCallModerationBlurEvent(value):
+ return value
+ case let .typeCallModerationWarningEvent(value):
+ return value
case let .typeCallNotificationEvent(value):
return value
case let .typePermissionRequestEvent(value):
@@ -355,6 +365,10 @@ public enum VideoEvent: Codable, Hashable {
try container.encode(value)
case let .typeCallMissedEvent(value):
try container.encode(value)
+ case let .typeCallModerationBlurEvent(value):
+ try container.encode(value)
+ case let .typeCallModerationWarningEvent(value):
+ try container.encode(value)
case let .typeCallNotificationEvent(value):
try container.encode(value)
case let .typePermissionRequestEvent(value):
@@ -497,6 +511,12 @@ public enum VideoEvent: Codable, Hashable {
} else if dto.type == "call.missed" {
let value = try container.decode(CallMissedEvent.self)
self = .typeCallMissedEvent(value)
+ } else if dto.type == "call.moderation_blur" {
+ let value = try container.decode(CallModerationBlurEvent.self)
+ self = .typeCallModerationBlurEvent(value)
+ } else if dto.type == "call.moderation_warning" {
+ let value = try container.decode(CallModerationWarningEvent.self)
+ self = .typeCallModerationWarningEvent(value)
} else if dto.type == "call.notification" {
let value = try container.decode(CallNotificationEvent.self)
self = .typeCallNotificationEvent(value)
diff --git a/Sources/StreamVideoSwiftUI/CallContainer.swift b/Sources/StreamVideoSwiftUI/CallContainer.swift
index ce599fbf9..d17496184 100644
--- a/Sources/StreamVideoSwiftUI/CallContainer.swift
+++ b/Sources/StreamVideoSwiftUI/CallContainer.swift
@@ -66,6 +66,7 @@ public struct CallContainer: View {
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
.toastView(toast: $viewModel.toast)
+ .moderationWarning(call: viewModel.call)
.overlay(overlayView)
.onReceive(viewModel.$callingState) { _ in
if viewModel.callingState == .idle || viewModel.callingState == .inCall {
diff --git a/Sources/StreamVideoSwiftUI/CallView/ViewModifiers/Moderation/ModerationBlurViewModifier.swift b/Sources/StreamVideoSwiftUI/CallView/ViewModifiers/Moderation/ModerationBlurViewModifier.swift
new file mode 100644
index 000000000..c81903c06
--- /dev/null
+++ b/Sources/StreamVideoSwiftUI/CallView/ViewModifiers/Moderation/ModerationBlurViewModifier.swift
@@ -0,0 +1,55 @@
+//
+// Copyright © 2025 Stream.io Inc. All rights reserved.
+//
+
+import Foundation
+import StreamVideo
+import SwiftUI
+
+/// A view modifier that blurs a participant when moderation blur toggles.
+struct ModerationBlurViewModifier: ViewModifier {
+
+ var call: Call?
+ var participant: CallParticipant
+ var blurRadius: Float
+
+ @State var isBlurred: Bool = false
+
+ func body(content: Content) -> some View {
+ Group {
+ if isBlurred {
+ content
+ .blur(radius: .init(blurRadius))
+ } else {
+ content
+ }
+ }
+ .onReceive(
+ call?
+ .eventPublisher(for: CallModerationBlurEvent.self)
+ .filter { $0.userId == participant.userId }
+ .map { _ in !isBlurred }
+ .removeDuplicates()
+ .receive(on: DispatchQueue.main)
+ ) { isBlurred = $0 }
+ }
+}
+
+extension View {
+
+ /// Applies a moderation blur effect that responds to moderation events.
+ @ViewBuilder
+ public func moderationBlur(
+ call: Call?,
+ participant: CallParticipant,
+ blurRadius: Float = 30
+ ) -> some View {
+ modifier(
+ ModerationBlurViewModifier(
+ call: call,
+ participant: participant,
+ blurRadius: blurRadius
+ )
+ )
+ }
+}
diff --git a/Sources/StreamVideoSwiftUI/CallView/ViewModifiers/Moderation/ModerationWarningViewModifier.swift b/Sources/StreamVideoSwiftUI/CallView/ViewModifiers/Moderation/ModerationWarningViewModifier.swift
new file mode 100644
index 000000000..3f4205e15
--- /dev/null
+++ b/Sources/StreamVideoSwiftUI/CallView/ViewModifiers/Moderation/ModerationWarningViewModifier.swift
@@ -0,0 +1,54 @@
+//
+// Copyright © 2025 Stream.io Inc. All rights reserved.
+//
+
+import Foundation
+import StreamVideo
+import SwiftUI
+
+/// A view modifier that shows a toast when moderation warnings arrive.
+struct ModerationWarningViewModifier: ViewModifier {
+
+ var call: Call?
+ var placement: ToastPlacement
+ var duration: TimeInterval
+
+ @State var toast: Toast?
+
+ func body(content: Content) -> some View {
+ content
+ .toastView(toast: $toast)
+ .onReceive(
+ call?
+ .eventPublisher(for: CallModerationWarningEvent.self)
+ .map {
+ Toast(
+ style: .warning,
+ message: $0.message,
+ placement: placement,
+ duration: duration
+ )
+ }
+ .receive(on: DispatchQueue.main)
+ ) { toast = $0 }
+ }
+}
+
+extension View {
+
+ /// Presents a moderation warning toast driven by moderation events.
+ @ViewBuilder
+ public func moderationWarning(
+ call: Call?,
+ placement: ToastPlacement = .top,
+ duration: TimeInterval = 2.5
+ ) -> some View {
+ modifier(
+ ModerationWarningViewModifier(
+ call: call,
+ placement: placement,
+ duration: duration
+ )
+ )
+ }
+}
diff --git a/Sources/StreamVideoSwiftUI/Info.plist b/Sources/StreamVideoSwiftUI/Info.plist
index 4c36b4383..81683f3c5 100644
--- a/Sources/StreamVideoSwiftUI/Info.plist
+++ b/Sources/StreamVideoSwiftUI/Info.plist
@@ -15,7 +15,7 @@
CFBundlePackageType
$(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString
- 1.34.2
+ 1.35.0
CFBundleVersion
$(CURRENT_PROJECT_VERSION)
NSHumanReadableCopyright
diff --git a/Sources/StreamVideoSwiftUI/ViewFactory.swift b/Sources/StreamVideoSwiftUI/ViewFactory.swift
index 2ffff101d..b63e4b71e 100644
--- a/Sources/StreamVideoSwiftUI/ViewFactory.swift
+++ b/Sources/StreamVideoSwiftUI/ViewFactory.swift
@@ -273,6 +273,7 @@ extension ViewFactory {
customData: customData,
call: call
)
+ .moderationBlur(call: call, participant: participant)
}
public func makeVideoCallParticipantModifier(
diff --git a/Sources/StreamVideoUIKit/Info.plist b/Sources/StreamVideoUIKit/Info.plist
index 4c36b4383..81683f3c5 100644
--- a/Sources/StreamVideoUIKit/Info.plist
+++ b/Sources/StreamVideoUIKit/Info.plist
@@ -15,7 +15,7 @@
CFBundlePackageType
$(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString
- 1.34.2
+ 1.35.0
CFBundleVersion
$(CURRENT_PROJECT_VERSION)
NSHumanReadableCopyright
diff --git a/StreamVideo-XCFramework.podspec b/StreamVideo-XCFramework.podspec
index d816b3a25..5261b15da 100644
--- a/StreamVideo-XCFramework.podspec
+++ b/StreamVideo-XCFramework.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |spec|
spec.name = 'StreamVideo-XCFramework'
- spec.version = '1.34.2'
+ spec.version = '1.35.0'
spec.summary = 'StreamVideo iOS Video Client'
spec.description = 'StreamVideo is the official Swift client for Stream Video, a service for building video applications.'
@@ -24,7 +24,7 @@ Pod::Spec.new do |spec|
spec.prepare_command = <<-CMD
mkdir -p Frameworks/
- curl -sL "https://github.com/GetStream/stream-video-swift-webrtc/releases/download/137.0.42/StreamWebRTC.xcframework.zip" -o Frameworks/StreamWebRTC.zip
+ curl -sL "https://github.com/GetStream/stream-video-swift-webrtc/releases/download/137.0.43/StreamWebRTC.xcframework.zip" -o Frameworks/StreamWebRTC.zip
unzip -o Frameworks/StreamWebRTC.zip -d Frameworks/
rm Frameworks/StreamWebRTC.zip
CMD
diff --git a/StreamVideo.podspec b/StreamVideo.podspec
index 0a115ef43..829a86742 100644
--- a/StreamVideo.podspec
+++ b/StreamVideo.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |spec|
spec.name = 'StreamVideo'
- spec.version = '1.34.2'
+ spec.version = '1.35.0'
spec.summary = 'StreamVideo iOS Video Client'
spec.description = 'StreamVideo is the official Swift client for Stream Video, a service for building video applications.'
@@ -25,7 +25,7 @@ Pod::Spec.new do |spec|
spec.prepare_command = <<-CMD
mkdir -p Frameworks/
- curl -sL "https://github.com/GetStream/stream-video-swift-webrtc/releases/download/137.0.42/StreamWebRTC.xcframework.zip" -o Frameworks/StreamWebRTC.zip
+ curl -sL "https://github.com/GetStream/stream-video-swift-webrtc/releases/download/137.0.43/StreamWebRTC.xcframework.zip" -o Frameworks/StreamWebRTC.zip
unzip -o Frameworks/StreamWebRTC.zip -d Frameworks/
rm Frameworks/StreamWebRTC.zip
CMD
diff --git a/StreamVideo.xcodeproj/project.pbxproj b/StreamVideo.xcodeproj/project.pbxproj
index e2e4a2fd6..801a3668f 100644
--- a/StreamVideo.xcodeproj/project.pbxproj
+++ b/StreamVideo.xcodeproj/project.pbxproj
@@ -515,6 +515,8 @@
40A0FFBB2EA63E9A00F39D8F /* BatteryStore+DefaultReducer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40A0FFBA2EA63E9A00F39D8F /* BatteryStore+DefaultReducer.swift */; };
40A0FFBE2EA63FE500F39D8F /* BatteryStore+ObservationMiddleware.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40A0FFBD2EA63FE500F39D8F /* BatteryStore+ObservationMiddleware.swift */; };
40A0FFC02EA6418000F39D8F /* Sequence+AsyncReduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40A0FFBF2EA6418000F39D8F /* Sequence+AsyncReduce.swift */; };
+ 40A317E82EB504C900733948 /* ModerationBlurViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40A317E72EB504C900733948 /* ModerationBlurViewModifier.swift */; };
+ 40A317EB2EB5081500733948 /* ModerationWarningViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40A317EA2EB5081500733948 /* ModerationWarningViewModifier.swift */; };
40A7C5B52E099B4600EEDF9C /* ParticipantEventResetAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40A7C5B22E099B1000EEDF9C /* ParticipantEventResetAdapter.swift */; };
40A7C5B82E099D6200EEDF9C /* ParticipantEventResetAdapter_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40A7C5B72E099D6200EEDF9C /* ParticipantEventResetAdapter_Tests.swift */; };
40A9416E2B4D959F006D6965 /* StreamPictureInPictureAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40A9416D2B4D959F006D6965 /* StreamPictureInPictureAdapter.swift */; };
@@ -1311,6 +1313,8 @@
845C09952C10A7D700F725B3 /* SessionTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 845C09902C0E0B7600F725B3 /* SessionTimer.swift */; };
845C09972C11AAA200F725B3 /* RejectCallRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 845C09962C11AAA100F725B3 /* RejectCallRequest.swift */; };
845E31062A7121D6004DC470 /* BroadcastObserver_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 845E31052A7121D6004DC470 /* BroadcastObserver_Tests.swift */; };
+ 8464FBA92EB3832000933768 /* CallModerationBlurEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8464FBA72EB3832000933768 /* CallModerationBlurEvent.swift */; };
+ 8464FBAA2EB3832000933768 /* CallModerationWarningEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8464FBA82EB3832000933768 /* CallModerationWarningEvent.swift */; };
8468821328DFA448003BA9EE /* UnsecureRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8468821228DFA448003BA9EE /* UnsecureRepository.swift */; };
8469593229BB3D7500134EA0 /* SignalServer_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8469593129BB3D7500134EA0 /* SignalServer_Tests.swift */; };
8469593429BB5CE200134EA0 /* HTTPConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8469593329BB5CE200134EA0 /* HTTPConfig.swift */; };
@@ -2208,6 +2212,8 @@
40A0FFBA2EA63E9A00F39D8F /* BatteryStore+DefaultReducer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BatteryStore+DefaultReducer.swift"; sourceTree = ""; };
40A0FFBD2EA63FE500F39D8F /* BatteryStore+ObservationMiddleware.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BatteryStore+ObservationMiddleware.swift"; sourceTree = ""; };
40A0FFBF2EA6418000F39D8F /* Sequence+AsyncReduce.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sequence+AsyncReduce.swift"; sourceTree = ""; };
+ 40A317E72EB504C900733948 /* ModerationBlurViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModerationBlurViewModifier.swift; sourceTree = ""; };
+ 40A317EA2EB5081500733948 /* ModerationWarningViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModerationWarningViewModifier.swift; sourceTree = ""; };
40A7C5B22E099B1000EEDF9C /* ParticipantEventResetAdapter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParticipantEventResetAdapter.swift; sourceTree = ""; };
40A7C5B72E099D6200EEDF9C /* ParticipantEventResetAdapter_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParticipantEventResetAdapter_Tests.swift; sourceTree = ""; };
40A9416D2B4D959F006D6965 /* StreamPictureInPictureAdapter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamPictureInPictureAdapter.swift; sourceTree = ""; };
@@ -2884,6 +2890,8 @@
845C09922C0E1BF900F725B3 /* DemoSessionTimerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DemoSessionTimerView.swift; sourceTree = ""; };
845C09962C11AAA100F725B3 /* RejectCallRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RejectCallRequest.swift; sourceTree = ""; };
845E31052A7121D6004DC470 /* BroadcastObserver_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BroadcastObserver_Tests.swift; sourceTree = ""; };
+ 8464FBA72EB3832000933768 /* CallModerationBlurEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallModerationBlurEvent.swift; sourceTree = ""; };
+ 8464FBA82EB3832000933768 /* CallModerationWarningEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallModerationWarningEvent.swift; sourceTree = ""; };
8468821228DFA448003BA9EE /* UnsecureRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnsecureRepository.swift; sourceTree = ""; };
8469593129BB3D7500134EA0 /* SignalServer_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignalServer_Tests.swift; sourceTree = ""; };
8469593329BB5CE200134EA0 /* HTTPConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HTTPConfig.swift; sourceTree = ""; };
@@ -4906,6 +4914,15 @@
path = Middleware;
sourceTree = "";
};
+ 40A317E62EB504B900733948 /* Moderation */ = {
+ isa = PBXGroup;
+ children = (
+ 40A317E72EB504C900733948 /* ModerationBlurViewModifier.swift */,
+ 40A317EA2EB5081500733948 /* ModerationWarningViewModifier.swift */,
+ );
+ path = Moderation;
+ sourceTree = "";
+ };
40A7C5B42E099B1600EEDF9C /* ParticipantEventResetAdapter */ = {
isa = PBXGroup;
children = (
@@ -5555,6 +5572,7 @@
40C7B82A2B612D5100FB9DB2 /* ViewModifiers */ = {
isa = PBXGroup;
children = (
+ 40A317E62EB504B900733948 /* Moderation */,
403EFC9E2BDBFE050057C248 /* CallEndedViewModifier.swift */,
408D29A02B6D208700885473 /* Snapshot */,
409145E92B68FDD2007F3C17 /* ReadableContentGuide */,
@@ -7164,6 +7182,8 @@
84DC383E29ADFCFC00946713 /* Models */ = {
isa = PBXGroup;
children = (
+ 8464FBA72EB3832000933768 /* CallModerationBlurEvent.swift */,
+ 8464FBA82EB3832000933768 /* CallModerationWarningEvent.swift */,
8438AB042E5F3A2900BA834F /* AppEventResponse.swift */,
8438AB052E5F3A2900BA834F /* FileUploadConfig.swift */,
84DD68F22E5F24A9001A1DF5 /* AppUpdatedEvent.swift */,
@@ -8444,6 +8464,8 @@
8478EB13288A054B00525538 /* VideoConfig.swift in Sources */,
841BAA372BD15CDE000C73E4 /* Coordinates.swift in Sources */,
8492B875290808AE00006649 /* StreamVideoEnvironment.swift in Sources */,
+ 8464FBA92EB3832000933768 /* CallModerationBlurEvent.swift in Sources */,
+ 8464FBAA2EB3832000933768 /* CallModerationWarningEvent.swift in Sources */,
841BAA492BD15CDE000C73E4 /* CollectUserFeedbackRequest.swift in Sources */,
406583902B877A0500B4F979 /* ImageBackgroundVideoFilter.swift in Sources */,
8454A3192AAB374B00A012C6 /* CallStatsReport.swift in Sources */,
@@ -9466,6 +9488,7 @@
84F3B0DE28913E0F0088751D /* CallControlsView.swift in Sources */,
8435EB9029CDAADA00E02651 /* ParticipantsGridLayout.swift in Sources */,
8434C52D289AA41D0001490A /* ImageExtensions.swift in Sources */,
+ 40A317E82EB504C900733948 /* ModerationBlurViewModifier.swift in Sources */,
849EDA8B297AFCC80072A12D /* PreJoiningView.swift in Sources */,
84D425082AA61E9900473150 /* LivestreamPlayer.swift in Sources */,
40A941762B4D9F16006D6965 /* PictureInPictureSourceView.swift in Sources */,
@@ -9479,6 +9502,7 @@
843697D228C7A25F00839D99 /* ParticipantsGridView.swift in Sources */,
840042CF2A70212D00917B30 /* ScreensharingControls.swift in Sources */,
40C7B8342B613A8200FB9DB2 /* ControlBadgeView.swift in Sources */,
+ 40A317EB2EB5081500733948 /* ModerationWarningViewModifier.swift in Sources */,
8406269A2A37A5E2004B8748 /* CallEvents.swift in Sources */,
40C7B8362B613C7800FB9DB2 /* ParticipantsListButton.swift in Sources */,
40AA2EE22AE0137E000DCA5C /* ClipCorners.swift in Sources */,
@@ -11364,7 +11388,7 @@
repositoryURL = "https://github.com/GetStream/stream-video-swift-webrtc";
requirement = {
kind = exactVersion;
- version = 137.0.42;
+ version = 137.0.43;
};
};
8423B7542950BB0A00012F8D /* XCRemoteSwiftPackageReference "sentry-cocoa" */ = {
diff --git a/StreamVideoArtifacts.json b/StreamVideoArtifacts.json
index e62ba2ff7..82e1c7f3f 100644
--- a/StreamVideoArtifacts.json
+++ b/StreamVideoArtifacts.json
@@ -1 +1 @@
-{"0.4.2":"https://github.com/GetStream/stream-video-swift/releases/download/0.4.2/StreamVideo-All.zip","0.5.0":"https://github.com/GetStream/stream-video-swift/releases/download/0.5.0/StreamVideo-All.zip","0.5.1":"https://github.com/GetStream/stream-video-swift/releases/download/0.5.1/StreamVideo-All.zip","0.5.2":"https://github.com/GetStream/stream-video-swift/releases/download/0.5.2/StreamVideo-All.zip","0.5.3":"https://github.com/GetStream/stream-video-swift/releases/download/0.5.3/StreamVideo-All.zip","1.0.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.0/StreamVideo-All.zip","1.0.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.1/StreamVideo-All.zip","1.0.2":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.2/StreamVideo-All.zip","1.0.3":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.3/StreamVideo-All.zip","1.0.4":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.4/StreamVideo-All.zip","1.0.5":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.5/StreamVideo-All.zip","1.0.6":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.6/StreamVideo-All.zip","1.0.7":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.7/StreamVideo-All.zip","1.0.8":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.8/StreamVideo-All.zip","1.0.9":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.9/StreamVideo-All.zip","1.10.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.10.0/StreamVideo-All.zip","1.11.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.11.0/StreamVideo-All.zip","1.12.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.12.0/StreamVideo-All.zip","1.13.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.13.0/StreamVideo-All.zip","1.14.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.14.0/StreamVideo-All.zip","1.14.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.14.1/StreamVideo-All.zip","1.15.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.15.0/StreamVideo-All.zip","1.16.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.16.0/StreamVideo-All.zip","1.17.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.17.0/StreamVideo-All.zip","1.18.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.18.0/StreamVideo-All.zip","1.19.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.19.0/StreamVideo-All.zip","1.19.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.19.1/StreamVideo-All.zip","1.19.2":"https://github.com/GetStream/stream-video-swift/releases/download/1.19.2/StreamVideo-All.zip","1.20.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.20.0/StreamVideo-All.zip","1.21.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.21.0/StreamVideo-All.zip","1.21.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.21.1/StreamVideo-All.zip","1.22.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.22.0/StreamVideo-All.zip","1.22.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.22.1/StreamVideo-All.zip","1.22.2":"https://github.com/GetStream/stream-video-swift/releases/download/1.22.2/StreamVideo-All.zip","1.24.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.24.0/StreamVideo-All.zip","1.25.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.25.0/StreamVideo-All.zip","1.26.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.26.0/StreamVideo-All.zip","1.27.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.27.0/StreamVideo-All.zip","1.27.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.27.1/StreamVideo-All.zip","1.27.2":"https://github.com/GetStream/stream-video-swift/releases/download/1.27.2/StreamVideo-All.zip","1.28.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.28.0/StreamVideo-All.zip","1.28.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.28.1/StreamVideo-All.zip","1.29.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.29.0/StreamVideo-All.zip","1.29.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.29.1/StreamVideo-All.zip","1.30.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.30.0/StreamVideo-All.zip","1.31.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.31.0/StreamVideo-All.zip","1.32.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.32.0/StreamVideo-All.zip","1.33.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.33.0/StreamVideo-All.zip","1.34.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.34.0/StreamVideo-All.zip","1.34.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.34.1/StreamVideo-All.zip","1.34.2":"https://github.com/GetStream/stream-video-swift/releases/download/1.34.2/StreamVideo-All.zip"}
\ No newline at end of file
+{"0.4.2":"https://github.com/GetStream/stream-video-swift/releases/download/0.4.2/StreamVideo-All.zip","0.5.0":"https://github.com/GetStream/stream-video-swift/releases/download/0.5.0/StreamVideo-All.zip","0.5.1":"https://github.com/GetStream/stream-video-swift/releases/download/0.5.1/StreamVideo-All.zip","0.5.2":"https://github.com/GetStream/stream-video-swift/releases/download/0.5.2/StreamVideo-All.zip","0.5.3":"https://github.com/GetStream/stream-video-swift/releases/download/0.5.3/StreamVideo-All.zip","1.0.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.0/StreamVideo-All.zip","1.0.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.1/StreamVideo-All.zip","1.0.2":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.2/StreamVideo-All.zip","1.0.3":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.3/StreamVideo-All.zip","1.0.4":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.4/StreamVideo-All.zip","1.0.5":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.5/StreamVideo-All.zip","1.0.6":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.6/StreamVideo-All.zip","1.0.7":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.7/StreamVideo-All.zip","1.0.8":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.8/StreamVideo-All.zip","1.0.9":"https://github.com/GetStream/stream-video-swift/releases/download/1.0.9/StreamVideo-All.zip","1.10.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.10.0/StreamVideo-All.zip","1.11.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.11.0/StreamVideo-All.zip","1.12.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.12.0/StreamVideo-All.zip","1.13.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.13.0/StreamVideo-All.zip","1.14.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.14.0/StreamVideo-All.zip","1.14.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.14.1/StreamVideo-All.zip","1.15.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.15.0/StreamVideo-All.zip","1.16.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.16.0/StreamVideo-All.zip","1.17.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.17.0/StreamVideo-All.zip","1.18.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.18.0/StreamVideo-All.zip","1.19.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.19.0/StreamVideo-All.zip","1.19.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.19.1/StreamVideo-All.zip","1.19.2":"https://github.com/GetStream/stream-video-swift/releases/download/1.19.2/StreamVideo-All.zip","1.20.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.20.0/StreamVideo-All.zip","1.21.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.21.0/StreamVideo-All.zip","1.21.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.21.1/StreamVideo-All.zip","1.22.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.22.0/StreamVideo-All.zip","1.22.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.22.1/StreamVideo-All.zip","1.22.2":"https://github.com/GetStream/stream-video-swift/releases/download/1.22.2/StreamVideo-All.zip","1.24.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.24.0/StreamVideo-All.zip","1.25.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.25.0/StreamVideo-All.zip","1.26.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.26.0/StreamVideo-All.zip","1.27.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.27.0/StreamVideo-All.zip","1.27.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.27.1/StreamVideo-All.zip","1.27.2":"https://github.com/GetStream/stream-video-swift/releases/download/1.27.2/StreamVideo-All.zip","1.28.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.28.0/StreamVideo-All.zip","1.28.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.28.1/StreamVideo-All.zip","1.29.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.29.0/StreamVideo-All.zip","1.29.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.29.1/StreamVideo-All.zip","1.30.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.30.0/StreamVideo-All.zip","1.31.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.31.0/StreamVideo-All.zip","1.32.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.32.0/StreamVideo-All.zip","1.33.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.33.0/StreamVideo-All.zip","1.34.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.34.0/StreamVideo-All.zip","1.34.1":"https://github.com/GetStream/stream-video-swift/releases/download/1.34.1/StreamVideo-All.zip","1.34.2":"https://github.com/GetStream/stream-video-swift/releases/download/1.34.2/StreamVideo-All.zip","1.35.0":"https://github.com/GetStream/stream-video-swift/releases/download/1.35.0/StreamVideo-All.zip"}
\ No newline at end of file
diff --git a/StreamVideoSwiftUI-XCFramework.podspec b/StreamVideoSwiftUI-XCFramework.podspec
index 547b4909e..8efff7eaa 100644
--- a/StreamVideoSwiftUI-XCFramework.podspec
+++ b/StreamVideoSwiftUI-XCFramework.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |spec|
spec.name = 'StreamVideoSwiftUI-XCFramework'
- spec.version = '1.34.2'
+ spec.version = '1.35.0'
spec.summary = 'StreamVideo SwiftUI Video Components'
spec.description = 'StreamVideoSwiftUI SDK offers flexible SwiftUI components able to display data provided by StreamVideo SDK.'
diff --git a/StreamVideoSwiftUI.podspec b/StreamVideoSwiftUI.podspec
index cd747365c..1324446bc 100644
--- a/StreamVideoSwiftUI.podspec
+++ b/StreamVideoSwiftUI.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |spec|
spec.name = 'StreamVideoSwiftUI'
- spec.version = '1.34.2'
+ spec.version = '1.35.0'
spec.summary = 'StreamVideo SwiftUI Video Components'
spec.description = 'StreamVideoSwiftUI SDK offers flexible SwiftUI components able to display data provided by StreamVideo SDK.'
diff --git a/StreamVideoUIKit-XCFramework.podspec b/StreamVideoUIKit-XCFramework.podspec
index 73a9de9f5..7bb494585 100644
--- a/StreamVideoUIKit-XCFramework.podspec
+++ b/StreamVideoUIKit-XCFramework.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |spec|
spec.name = 'StreamVideoUIKit-XCFramework'
- spec.version = '1.34.2'
+ spec.version = '1.35.0'
spec.summary = 'StreamVideo UIKit Video Components'
spec.description = 'StreamVideoUIKit SDK offers flexible UIKit components able to display data provided by StreamVideo SDK.'
diff --git a/StreamVideoUIKit.podspec b/StreamVideoUIKit.podspec
index 0e000ee81..5ab3ad443 100644
--- a/StreamVideoUIKit.podspec
+++ b/StreamVideoUIKit.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |spec|
spec.name = 'StreamVideoUIKit'
- spec.version = '1.34.2'
+ spec.version = '1.35.0'
spec.summary = 'StreamVideo UIKit Video Components'
spec.description = 'StreamVideoUIKit SDK offers flexible UIKit components able to display data provided by StreamVideo SDK.'