Skip to content
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

[Swift6 Migration]StreamVideoSwiftUI #679

Merged
merged 2 commits into from
Feb 24, 2025

Conversation

ipavlidakis
Copy link
Contributor

☑️ 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)

@ipavlidakis ipavlidakis added the enhancement New feature or request label Feb 19, 2025
@ipavlidakis ipavlidakis self-assigned this Feb 19, 2025
@ipavlidakis ipavlidakis requested a review from a team as a code owner February 19, 2025 19:45
@Stream-SDK-Bot
Copy link
Collaborator

Stream-SDK-Bot commented Feb 19, 2025

SDK Size

title develop branch diff status
StreamVideo 7.54 MB 7.56 MB +17 KB 🟢
StreamVideoSwiftUI 2.07 MB 2.07 MB +1 KB 🟢
StreamVideoUIKit 2.21 MB 2.21 MB +1 KB 🟢
StreamWebRTC 9.85 MB 9.85 MB 0 KB 🟢

@ipavlidakis ipavlidakis force-pushed the migration/swift-6/stream-video-tests branch 2 times, most recently from 146d99b to 5e56db1 Compare February 20, 2025 14:45
@ipavlidakis ipavlidakis marked this pull request as draft February 20, 2025 14:45
Base automatically changed from migration/swift-6/stream-video-tests to migration/swift-6/streamVideo-iteration-b February 20, 2025 17:08
Base automatically changed from migration/swift-6/streamVideo-iteration-b to swift-6-migration February 20, 2025 17:08
@ipavlidakis ipavlidakis force-pushed the migration/swift-6/stream-video-swiftui branch from a742744 to a2079c3 Compare February 24, 2025 09:13
Copy link

Public Interface

- 668
+ 661
- nonisolated(unsafe)
- , @unchecked Sendable
- : Sendable
- nonisolated
+ @mainactor
- nonisolated(unsafe)
- nonisolated(unsafe)
- , @unchecked Sendable
- , Sendable
**+ struct PinInfo : Sendable, Hashable
public let isLocal: Bool
public let pinnedAt: Date

extension CGSize : Hashable
public func hash(into hasher: inout Hasher)

public**
- , Sendable
- : Sendable
~~- PinInfo : Sendable, Hashable
public let isLocal: Bool
public let pinnedAt: Date

public struct~~
+ extension String : CodingKey
**+ var stringValue: String
public init?(stringValue: String)
public var intValue: Int?
public init?(intValue: Int)

public**
- , @unchecked Sendable
- final
- ,
- unchecked Sendable
@

+ : CustomStringConvertible
+ : CustomStringConvertible
+ : CustomStringConvertible
+ : CustomStringConvertible
+ : CustomStringConvertible
- extension Call : Identifiable
~~- var id: String

public~~
- , Sendable
- public var deviceOrientation: UIDeviceOrientation
public var captureVideoOrientation: AVCaptureVideoOrientation

- ,
- unchecked Sendable
+ MainActor
+ @mainactor
+ @mainactor
- , @unchecked Sendable
- final
- , @unchecked Sendable
- public
+ open
- , Sendable
- : Sendable
- : Sendable
- , Sendable
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- , @unchecked Sendable
- , @unchecked Sendable
- : Sendable
- : Sendable
- async
- : Sendable
- nonisolated(unsafe)
- extension CGSize : @retroactive Hashable
- func hash(into hasher
+ protocol ThermalStateObserving
~~- inout Hasher)

extension CGSize : Hashable
public func hash(into hasher: inout Hasher)

extension String : @retroactive CodingKey
public~~
+ ObservableObject
- stringValue
+ state
~~- String
public init?(stringValue: String)
public var intValue: Int?
public init?(intValue: Int)

extension String : CodingKey
public var stringValue: String
public init?(stringValue: String)
public var intValue: Int?
public init?(intValue: Int)

extension~~
+ var statePublisher
- @retroactive Comparable
public static func

+ AnyPublisher
- (
lhs:

- rhs: ProcessInfo.ThermalState
) -

+ Never
- Bool
+ var scale: CGFloat
- public protocol ThermalStateObserving : ObservableObject
var state: ProcessInfo.ThermalState
var statePublisher: AnyPublisher<ProcessInfo.ThermalState, Never>
var scale: CGFloat

- nonisolated(unsafe)
- , @unchecked Sendable
- ,
- unchecked Sendable
@

- ,
- unchecked Sendable
@

+ : CustomStringConvertible
- let
+ var
- let
+ var
- let
+ var
- @sendable
- @sendable
- @sendable
- @sendable
+ : CustomStringConvertible
+ : CustomStringConvertible
+ : CustomStringConvertible
+ : CustomStringConvertible
+ : CustomStringConvertible
+ : CustomStringConvertible
- nonisolated(unsafe)
- , Sendable
- nonisolated(unsafe)
- nonisolated(unsafe)
- @mainactor @sendable
- , @unchecked Sendable
- @sendable
- @sendable
- @preconcurrency
- & Sendable
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)

Copy link

github-actions bot commented Feb 24, 2025

1 Warning
⚠️ Big PR

Generated by 🚫 Danger

@ipavlidakis ipavlidakis marked this pull request as ready for review February 24, 2025 09:45
Copy link
Contributor

@martinmitrevski martinmitrevski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just 2 questions. Let me know what you think.

@@ -103,36 +109,47 @@ final class StreamPictureInPictureController: NSObject, AVPictureInPictureContro
public func pictureInPictureControllerWillStartPictureInPicture(
_ pictureInPictureController: AVPictureInPictureController
) {
log.debug("Will start with trackId:\(track?.trackId ?? "n/a")", subsystems: .pictureInPicture)
Task { @MainActor in
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the log restricted to the main actor only? Seems like maybe we can avoid this?

Copy link
Contributor Author

@ipavlidakis ipavlidakis Feb 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is on purpose in order to provide the log when the actual operation is happening The track used in the log is isolated in the MainActor

Copy link

Public Interface

- 668
+ 661
- nonisolated(unsafe)
- , @unchecked Sendable
- : Sendable
- nonisolated
+ @mainactor
- nonisolated(unsafe)
- nonisolated(unsafe)
- , @unchecked Sendable
- , Sendable
**+ struct PinInfo : Sendable, Hashable
public let isLocal: Bool
public let pinnedAt: Date

extension CGSize : Hashable
public func hash(into hasher: inout Hasher)

public**
- , Sendable
- : Sendable
~~- PinInfo : Sendable, Hashable
public let isLocal: Bool
public let pinnedAt: Date

public struct~~
+ extension String : CodingKey
**+ var stringValue: String
public init?(stringValue: String)
public var intValue: Int?
public init?(intValue: Int)

public**
- , @unchecked Sendable
- final
- ,
- unchecked Sendable
@

+ : CustomStringConvertible
+ : CustomStringConvertible
+ : CustomStringConvertible
+ : CustomStringConvertible
+ : CustomStringConvertible
- extension Call : Identifiable
~~- var id: String

public~~
- , Sendable
- public var deviceOrientation: UIDeviceOrientation
public var captureVideoOrientation: AVCaptureVideoOrientation

- ,
- unchecked Sendable
+ MainActor
+ @mainactor
+ @mainactor
- , @unchecked Sendable
- final
- , @unchecked Sendable
- public
+ open
- , Sendable
- : Sendable
- : Sendable
- , Sendable
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- , @unchecked Sendable
- , @unchecked Sendable
- : Sendable
- : Sendable
- async
- : Sendable
- nonisolated(unsafe)
- extension CGSize : @retroactive Hashable
- func hash(into hasher
+ protocol ThermalStateObserving
~~- inout Hasher)

extension CGSize : Hashable
public func hash(into hasher: inout Hasher)

extension String : @retroactive CodingKey
public~~
+ ObservableObject
- stringValue
+ state
~~- String
public init?(stringValue: String)
public var intValue: Int?
public init?(intValue: Int)

extension String : CodingKey
public var stringValue: String
public init?(stringValue: String)
public var intValue: Int?
public init?(intValue: Int)

extension~~
+ var statePublisher
- @retroactive Comparable
public static func

+ AnyPublisher
- (
lhs:

- rhs: ProcessInfo.ThermalState
) -

+ Never
- Bool
+ var scale: CGFloat
- public protocol ThermalStateObserving : ObservableObject
var state: ProcessInfo.ThermalState
var statePublisher: AnyPublisher<ProcessInfo.ThermalState, Never>
var scale: CGFloat

- nonisolated(unsafe)
- , @unchecked Sendable
- ,
- unchecked Sendable
@

- ,
- unchecked Sendable
@

+ : CustomStringConvertible
- let
+ var
- let
+ var
- let
+ var
- @sendable
- @sendable
- @sendable
- @sendable
+ : CustomStringConvertible
+ : CustomStringConvertible
+ : CustomStringConvertible
+ : CustomStringConvertible
+ : CustomStringConvertible
+ : CustomStringConvertible
- nonisolated(unsafe)
- , Sendable
- nonisolated(unsafe)
- nonisolated(unsafe)
- @mainactor @sendable
- , @unchecked Sendable
- @sendable
- @sendable
- @preconcurrency
- & Sendable
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)
- nonisolated(unsafe)

@ipavlidakis ipavlidakis merged commit d862a54 into swift-6-migration Feb 24, 2025
4 of 6 checks passed
@ipavlidakis ipavlidakis deleted the migration/swift-6/stream-video-swiftui branch February 24, 2025 14:37
ipavlidakis added a commit that referenced this pull request Feb 27, 2025
ipavlidakis added a commit that referenced this pull request Feb 28, 2025
ipavlidakis added a commit that referenced this pull request Feb 28, 2025
ipavlidakis added a commit that referenced this pull request Feb 28, 2025
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