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

4.71.0 Release #3572

Merged
merged 14 commits into from
Jan 28, 2025
Merged

4.71.0 Release #3572

merged 14 commits into from
Jan 28, 2025

Conversation

Stream-SDK-Bot
Copy link
Collaborator

StreamChat

βœ… Added

  • Expose Event.name to easily check which event it is #3569

🐞 Fixed

  • Calling async connectUser() methods can sometimes throw CurrentUserDoesNotExist() unexpectedly #3565
  • Fix creating controllers from background threads leading to rare crashes #3566
  • Add support for transforming Messages, Channels and Members #3564
    • Add ChatClientConfig.modelsTransformer
    • Add ChatMessage.replacing()
    • Add ChatChannel.replacing()
    • Add ChatChannelMember.replacing()
  • Fix hard deleted message events not being reported in EventsController #3569
  • Fix hard deleting a parent message not deleting its replies #3569

StreamChatUI

βœ… Added

  • Add a simpler way to customize header and footer views in the Message List #3567
    • Add ChatMessageListVC.headerView
    • Add ChatMessageListVC.footerView
  • Make it easier to provide state handling when loading more messages #3567
    • Add ChatChannelVC.loadPreviousMessages() + ChatChannelVC.didFinishLoadingPreviousMessages(error:)
    • Add ChatChannelVC.loadNextMessages() + ChatChannelVC.didFinishLoadingNextMessages(error:)
    • Add ChatThreadVC.loadPreviousReplies() + ChatThreadVC.didFinishLoadingPreviousReplies(error:)
    • Add ChatThreadVC.loadNextReplies() + ChatThreadVC.didFinishLoadingNextReplies(error:)

🐞 Fixed

  • Fix thread reply action shown when inside a Thread #3561
  • Fix reaction author's view with shrinked reaction images in iOS 18 #3568
  • Fix missing final attributes for supplementary views exception #3570
  • Fix duplicated didReceiveEvent inside ChatThreadVC #3569

πŸ”„ Changed

  • Deprecates ChatThreadVC.channelEventsController #3569

laevandus and others added 14 commits January 15, 2025 13:47
…ist (#3567)

* Add `ChatMessageListVC.headerView` and `ChatMessageListVC.footerView`

* Expose open functions to be able do manage state when loading previous and next messages in the Channel

* Expose similar functions in the Thread View

* Provide an example in the demo app

* Fix calling didFinishSync instead of loading next messages

* Simplify code

* Fix typos

* Add loading indicator view to DemoChatThreadVC

* Add test coverage to header and footer views

* Update CHANGELOG.md

* Fix UI Tests

* Remove custom header from Demo App
* Enable CoreData Concurrency Thread Safety Flag in StreamDevelopers Scheme

* Do not use chat client config from CoreData when creating the MessageController

* Make accessing ChatClientConfig in the Database Layer safer

* Fix unit tests

* Update CHANGELOG.md

* Update CHANGELOG.md

* Fix typo

* Fix chat client config tests not passing
* Add transformer closures to be able to map stream models

* Refactor to a protocol instead of closures

* Rename mapped -> replacing

* Update Sources/StreamChat/Config/StreamModelsTransformer.swift

Co-authored-by: Toomas Vahter <[email protected]>

* Add additional comment

* Use transformer directly from context

* Remove unnecessary DataStore.chatClient ref

* Provide documentation to the `replacing()` function

* Update transformed data

* Add test coverage to ChatChannel.replacing and ChatMessage.replacing

* Add test coverage to creating a new message with transformable data

* Add test coverage to creating a new reply with transformable data

* Add test coverage that DTOs are transformed

* Allow transforming members

* Add test coverage to channel member transformation

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Add Member Dummy Transformation example

* Better be safe than sorry (Never trust CoreData :D)

---------

Co-authored-by: Toomas Vahter <[email protected]>
…3568)

* Fix reaction author's view with shrinked reaction images

* Fix missing recording snapshots

* Update CHANGELOG.md
* Dismiss thread when hard deleting root message

* Fix duplicated `didReceiveEvent` inside `ChatThreadVC`

This was caused by setting 2 event delegates, one for channel events and another one for regular events

* Fix hard-deleted message events not surfacing to the `EventsController`

This was because when hard deleting a message it disappears from CoreData, so we can't create the Event domain model with the message model. So for this I created a different event.

* Expose `Event.name`

* Use the Event in the Demo App instead of assuming that message == nil is because the message was hard deleted

* Make sure the root message does not disappear

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Add test coverage

* Update DemoApp/StreamChat/Components/DemoChatThreadVC.swift

Co-authored-by: Toomas Vahter <[email protected]>

* Change the approach: Do not create a new event for Hard Deleted

* Remove unused code

* Add isSentByCurrentUser logic to hard deleted message

* Fix replies from hard deleted message not deleted

* Update CHANGELOG.md

* Simplify DemoApp example

---------

Co-authored-by: Toomas Vahter <[email protected]>
@Stream-SDK-Bot Stream-SDK-Bot requested a review from a team as a code owner January 28, 2025 10:15
@Stream-SDK-Bot
Copy link
Collaborator Author

SDK Size

title previous release current release diff status
StreamChat 7.0 MB 7.02 MB +17 KB 🟒
StreamChatUI 4.77 MB 4.77 MB +2 KB 🟒

Copy link

1 Warning
⚠️ Big PR

Generated by 🚫 Danger

Copy link

Build for regression testing β„–123457051 has been uploaded to TestFlight 🎁

@Stream-SDK-Bot
Copy link
Collaborator Author

SDK Performance

target metric benchmark branch performance status
MessageList Hitches total duration 10 ms 5.01 ms 49.9% πŸ”Ό 🟒
Duration 2.6 s 2.55 s 1.92% πŸ”Ό 🟒
Hitch time ratio 4 ms per s 1.97 ms per s 50.75% πŸ”Ό 🟒
Frame rate 75 fps 78.09 fps 4.12% πŸ”Ό 🟒
Number of hitches 1 0.6 40.0% πŸ”Ό 🟒

@testableapple
Copy link
Contributor

/merge release

@testableapple
Copy link
Contributor

Publication of the release has been launched πŸ‘

@github-actions github-actions bot merged commit ef911a7 into main Jan 28, 2025
16 checks passed
@github-actions github-actions bot deleted the release/4.71.0 branch January 28, 2025 13:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants