Skip to content

Conversation

@ipavlidakis
Copy link
Contributor

🔗 Issue Links

Resolves https://linear.app/stream/issue/IOS-1103/hifi-implementation

🎯 Goal

Describe why we are making this change.

📝 Summary

Provide bullet points with the most important changes in the codebase.

🛠 Implementation

Provide a detailed description of the implementation and explain your decisions if you find them relevant.

🎨 Showcase

Add relevant screenshots and/or videos/gifs to easily see what this PR changes, if applicable.

Before After
img img

🧪 Manual Testing Notes

Explain how this change can be tested manually, if applicable.

☑️ Contributor Checklist

  • I have signed the Stream CLA (required)
  • This change follows zero ⚠️ policy (required)
  • This change should receive manual QA
  • Changelog is updated with client-facing changes
  • New code is covered by unit tests
  • Comparison screenshots added for visual changes
  • Affected documentation updated (tutorial, CMS)

🎁 Meme

Provide a funny gif or image that relates to your work on this pull request. (Optional)

@ipavlidakis ipavlidakis self-assigned this Oct 16, 2025
@ipavlidakis ipavlidakis added the enhancement New feature or request label Oct 16, 2025
@ipavlidakis ipavlidakis changed the title Enhancement/hifi/feature implementation [Enhancement]HiFi feature implementation Oct 16, 2025
@ipavlidakis ipavlidakis force-pushed the enhancement/hifi/feature-implementation branch from 9484432 to 4561d95 Compare October 16, 2025 09:45
@github-actions
Copy link

1 Message
📖 Skipping Danger since the Pull Request is classed as Draft/Work In Progress

Generated by 🚫 Danger

@ipavlidakis ipavlidakis force-pushed the enhancement/hifi/feature-implementation branch 4 times, most recently from e20ea43 to dade6d4 Compare October 17, 2025 11:37
@ipavlidakis ipavlidakis force-pushed the enhancement/hifi/feature-implementation branch from eb2eb3b to 283a24a Compare October 20, 2025 13:50
@Stream-SDK-Bot
Copy link
Collaborator

SDK Size

title develop branch diff status
StreamVideo 8.67 MB 8.67 MB +1 KB 🟢
StreamVideoSwiftUI 2.36 MB 2.36 MB 0 KB 🟢
StreamVideoUIKit 2.48 MB 2.48 MB 0 KB 🟢
StreamWebRTC 11.01 MB 11.01 MB 0 KB 🟢

@github-actions
Copy link

Public Interface

 public struct StatelessMicrophoneIconView: View  
-   @MainActor public init(call: Call?,callSettings: CallSettings = .init(),size: CGFloat = 44,controlStyle: ToggleControlStyle = .init(
+   @MainActor public init(call: Call?,callSettings: CallSettings = .default,size: CGFloat = 44,controlStyle: ToggleControlStyle = .init(

 public struct StatelessVideoIconView: View  
-   public init(call: Call?,callSettings: CallSettings = .init(),size: CGFloat = 44,controlStyle: ToggleControlStyle = .init(
+   public init(call: Call?,callSettings: CallSettings = .default,size: CGFloat = 44,controlStyle: ToggleControlStyle = .init(

 @MainActor public class CallState: ObservableObject  
-   @Published public internal var callSettings
+   @Published public internal var callSettings: CallSettings

 public final class CallSettings: ObservableObject, Sendable, Equatable, CustomStringConvertible  
-   public let audioOn: Bool
+   public static let `default`
-   public let videoOn: Bool
+   public let audioOn: Bool
-   public let speakerOn: Bool
+   public let videoOn: Bool
-   public let audioOutputOn: Bool
+   public let speakerOn: Bool
-   public let cameraPosition: CameraPosition
+   public let audioOutputOn: Bool
-   public var shouldPublish: Bool
+   public let cameraPosition: CameraPosition
-   public var description: String
+   public var shouldPublish: Bool
-   
+   public var description: String
- 
+   
-   public convenience init(_ response: CallSettingsResponse,file: StaticString = #file,function: StaticString = #function,line: UInt = #line)
+ 
-   public init(audioOn: Bool = true,videoOn: Bool = true,speakerOn: Bool = true,audioOutputOn: Bool = true,cameraPosition: CameraPosition = .front,file: StaticString = #file,function: StaticString = #function,line: UInt = #line)
+   public convenience init(_ response: CallSettingsResponse,file: StaticString = #file,function: StaticString = #function,line: UInt = #line)
-   
+   public init(audioOn: Bool = true,videoOn: Bool = true,speakerOn: Bool = true,audioOutputOn: Bool = true,cameraPosition: CameraPosition = .front,file: StaticString = #file,function: StaticString = #function,line: UInt = #line)
- 
+   
-   public static func ==(lhs: CallSettings,rhs: CallSettings)-> Bool
+ 
+   public static func ==(lhs: CallSettings,rhs: CallSettings)-> Bool

 public final class MicrophoneManager: ObservableObject, CallSettingsManager, @unchecked Sendable  
-   public func toggle()async throws 
+   public func toggle(file: StaticString = #file,function: StaticString = #function,line: UInt = #line)async throws 
-   public func enable()async throws 
+   public func enable(file: StaticString = #file,function: StaticString = #function,line: UInt = #line)async throws 
-   public func disable()async throws
+   public func disable(file: StaticString = #file,function: StaticString = #function,line: UInt = #line)async throws

@Stream-SDK-Bot
Copy link
Collaborator

StreamVideo XCSize

Object Diff (bytes)
WebRTCStateAdapter.o +2027
RTCAudioStore+RouteChangeEffect.o -1694
MicrophoneManager.o +875
StoreCoordinator.o +582
StreamCallAudioRecorder.o +418
Show 13 more objects
Object Diff (bytes)
CallSettings.o +371
PermissionsStore.o +320
StoreTask.o +166
WebRTCStatsCollecting.o -155
CallController.o -151
CallParticipant+Convenience.o +144
StreamCallStatisticsFormatter.o -144
AudioProcessingStore.o +118
StoreLogger.o +76
Store.o +72
CallKitService.o +72
Reducer.o -52
CallState.o +49

@Stream-SDK-Bot
Copy link
Collaborator

StreamVideoSwiftUI XCSize

Object Diff (bytes)
CallControlsView.o -520
CallViewModel.o -175

@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants