GetStream / stream-chat-swiftui

SwiftUI Chat SDK ➜ Stream Chat 💬
https://getstream.io/chat/sdk/swiftui/
Other
354 stars 88 forks source link

Reactions triggers the message view transition #349

Open ondrejkorol opened 1 year ago

ondrejkorol commented 1 year ago

Following the issue of unreliable reactions on pinned messages, I noticed a weird behavior.

Adding or removing a reaction will result in the insert/removal transition of the whole message view, which shouldn't be the desired behavior. The nice thing would be to just animate the insertion/removal of the reactions view.

I know it's possible to turn off the animation for reactions via messageDisplayOptions.shouldAnimateReactions or disable the message view transition, but that just hides the issue.

The animation should be visible on the recording created in the example app. It affects any message that you react to.

GetStream Environment

GetStream Chat version: 4.35.1 GetStream Chat frameworks: StreamChat, StreamChatUI 4.35.1/main iOS version: 15 – 16.5 Swift version: 5 Xcode version: 14.3.1 Device: doesn't matter

https://github.com/GetStream/stream-chat-swift/assets/68337693/ae9b38b8-396d-42fa-8da7-0065968f9327

ondrejkorol commented 1 year ago

The issue is present when developers enable the message transition via messageDisplayOptions: E.g. in the Demo app, App Delegate:

 let utils = Utils(
            messageListConfig: MessageListConfig(
                messageDisplayOptions: .init(currentUserMessageTransition: .move(edge: .top)),
                dateIndicatorPlacement: .messageList)
        )
        streamChat = StreamChat(chatClient: chatClient, utils: utils)
martinmitrevski commented 1 year ago

Thanks, we will look into this. In general, there's no support for transition per message, but just one for all messages. So in this case, probably we need to turn it off for reaction updates.