⚠️ Breaking Changes from 4.0-beta.11
- JSON Encoding/Decoding for both Network and Database date formatting changed to RFC3339 formats #1403
ChatMessage.threadParticipants
is now an Array instead of Set #1398- Introduces
ChatChannelVC
and removes responsibilities ofChatMessageListVC
. The latter now is only responsible to render the message list layout, the data is provided byChatChannelVC
orChatThreadVC
. #1314 - Replaces
ChatMessageActionsVC.Delegate
withChatMessageActionsVCDelegate
#1314 - Renames
ChatChannelListRouter.showMessageList()
->showChannel()
#1314 - Removal of
ComposerVCDelegate
#1314 - Replaces
ChatMessageListKeyboardObserver
withComposerKeyboardHandler
#1314
Understanding ChatChannelVC
vs ChatTheadVC
vs ChatMessageListVC
-
ChatChannelVC
:ChatChannelHeaderView
ChatMessageListVC
ComposerVC
-
ChatThreadVC
:ChatThreadHeaderView
ChatMessageListVC
ComposerVC
A new ChatChannelVC
is introduced that represents the old ChatMessageListVC
, which was responsible to display the messages from a channel. The ChatThreadVC
remains the same and it is responsible for displaying the replies in a thread, but now instead of duplicating the implementation from the channel, both use the ChatMessageListVC
and configure it for their needs. For this to be possible the ChatMessageListVC
has now a ChatMessageListVCDataSource
and ChatMessageListVCDelegate
. Both ChatChannelVC
and ChatThreadVC
implement the ChatMessageListVCDataSource
and ChatMessageListVCDelegate
.
🔄 Changed
- Nuke dependency was updated to v10 #1405
✅ Added
- For non-DM channels, the avatar is now shown as a combination of the avatars of the last active members of the channel #1344
- New DateFormatter methods
rfc3339Date
andrfc3339DateString
#1403 - Add a new
isMentionsEnabled
flag to make it easier to disable the user mentions in the ComposerVC #1416 - Use remote config to disable mute actions #1418
- Use remote config to disable thread info from message options #1418
- Provide different Objc name for InputTextView #1420
- Add message search support through
MessageSearchController
#1426
🐞 Fixed
- Fix incorrect RawJSON number handling, the
.integer
case is no longer supported and is replaced by.number
#1375 - Fix message list and thread index out of range issue on
tableView(_:cellForRowAt:)
#1373 - Fix crash when dismissing gallery images #1383
- Improve pagination efficiency #1381
- Fix user mention suggestions not showing all members #1390
- Fix thread avatar view not displaying latest reply author avatar #1398
- Fix crash on incorrect date string parsing #1403
- Fix threads not showing all the responses if there were responses that were also sent to the channel #1413
- Fix crash when accessing
ChatMessage.attachmentCounts
on <iOS13 with in-memory storage turned ON - Fix
isCommandsEnabled
not disabling the typing commands #1416 - Fix mention suggester now supports
options.minimumRequiredCharacters
equal to 0 and sorts results with same score consistently - Fix filters with wrong Date encoding strategy #1420
- Fix message height is now calculated correctly when a message is updated #1424
- Fix
ChatMessageReactionData.init
not public #1425