-
Notifications
You must be signed in to change notification settings - Fork 111
V5: Use StreamCore based chat #1034
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
base: v5
Are you sure you want to change the base?
Conversation
36124e8 to
9055016
Compare
9055016 to
d50d7c9
Compare
Generated by 🚫 Danger |
| /// Returns the current value for the `StreamChat` instance. | ||
| private struct StreamChatProviderKey: InjectionKey { | ||
| static var currentValue: StreamChat? | ||
| nonisolated(unsafe) static var currentValue: StreamChat? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Switching to StreamCore's InjectedValues which does not use MainActor, therefore, this becomes needed again.
| } | ||
|
|
||
| private func connectUser(withCredentials credentials: UserCredentials) { | ||
| chatClient.logout {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Race between logout and connect below. Internally we automatically logout on connect if needed. Therefore, it can be deleted.
Public Interface- @MainActor public protocol InjectionKey
- extension ChatThread: Identifiable
-
- public var id: String
- extension String
-
- public func levenshtein(_ other: String)-> Int
- @MainActor @propertyWrapper public struct Injected
-
- public var wrappedValue: T
-
-
- public init(_ keyPath: WritableKeyPath<InjectedValues, T>)
- extension MessageReactionType: Identifiable
-
- public var id: String
- extension ChatMessageReaction: Identifiable
-
- public var id: String
- @MainActor public struct InjectedValues
-
- public static subscript<K>(key: K.Type)-> K.Value where K: InjectionKey
- public static subscript<T>(_ keyPath: WritableKeyPath<InjectedValues, T>)-> T
extension ViewFactory
+ public func makeAttachmentTextView(options: AttachmentTextViewOptions)-> some View
extension InjectedValues
- public var chatClient: ChatClient
+ @MainActor public var chatClient: ChatClient
- public var colors: ColorPalette
+ @MainActor public var colors: ColorPalette
- public var utils: Utils
+ @MainActor public var utils: Utils
- public var images: Images
+ @MainActor public var images: Images
- public var fonts: Fonts
+ @MainActor public var fonts: Fonts |
SDK Size
|
StreamChatSwiftUI XCSize
Show 259 more objects
|
|


🔗 Issue Links
Fixes: IOS-1205
🎯 Goal
Compatibility changes for StreamCore based StreamChat
📝 Summary
🛠 Implementation
🎨 Showcase
🧪 Manual Testing Notes
☑️ Contributor Checklist
docs-contentrepo