November 25th, 2021 - 4.23.0
Common changes for all artifacts
🐞 Fixed
⬆️ Improved
- Improved logs for errors in the SDK.
stream-chat-android-offline
🐞 Fixed
- Deprecated
QueryChannelsController::mutedChannelsIds
. UseChatDomain.mutedChannels
instead - Fix issue when sent attachments from Android SDK don't show title in iOS.
✅ Added
- Added new extension function
ChatClient::replayEventsForActiveChannels
. - Added new extension function
ChatClient::setMessageForReply
. - Added new extension function
ChatClient::downloadAttachment
to download attachments withoutChatDomain
.
stream-chat-android-ui-common
✅ Added
- Made
ThreeTenInitializer
public to allow manual invocations of it. See the new documentation for more details.
stream-chat-android-ui-components
🐞 Fixed
- Removed ripple effect for attachements in message options.
⬆️ Improved
- More customization for AvatarView. Now it is possible to choose between Square and Circle. Use new fields in AvatarStyle to customize AvatarView the way you prefer.
✅ Added
- Added setter
MessageListView.setMessageBackgroundFactory
to set a factory to provide a background for messages. - Added
MessageInputViewModel::sendMessageWithCustomAttachments
function allowing to send message with custom attachments list. - Added
MessageInputView::submitCustomAttachments
function allowing setting custom attachments inMessageInputView
. - Added
SelectedCustomAttachmentViewHolderFactory
interface andBaseSelectedCustomAttachmentViewHolder
class allowing defining how previews of custom attachments inMessageInputView
should be rendered.
⚠️ Changed
- Added
MessageSendHandler::sendMessageWithCustomAttachments
andMessageSendHandler::sendToThreadWithCustomAttachments
allowing to intercept sending custom attachments actions.
stream-chat-android-compose
🐞 Fixed
- Fixed the information about channel members shown in the
MessageListHeader
subtitle.
⬆️ Improved
- Updated a lot of documentation around the Messages features
- Improved the subtitle text in the
MessageListHeader
component. - Now, the
MessageComposer
component supports sendingtyping.start
andtyping.stop
events when a user starts or stops typing. - Made the
ChannelNameFormatter
,ClipboardHandler
andMessagePreviewFormatter
interfaces functional for ease of use.
✅ Added
- Added the "mute" option to the
ChannelInfo
action dialog. - Added a wrapper for the message input state in the form of
MessageInputState
- Added
attachmentsContentImageWidth
,attachmentsContentImageHeight
,attachmentsContentGiphyWidth
,attachmentsContentGiphyHeight
,attachmentsContentLinkWidth
,attachmentsContentFileWidth
andattachmentsContentFileUploadWidth
options toStreamDimens
, to make it possible to customize the dimensions of attachments content viaChatTheme
. - Added a thread separator between a parent message and thread replies.
- Added the
threadSeparatorGradientStart
andthreadSeparatorGradientEnd
options toStreamColors
, to make it possible to customize the thread separator background gradient colors viaChatTheme
. - Added the
threadSeparatorVerticalPadding
andthreadSeparatorTextVerticalPadding
options toStreamDimens
, to make it possible to customize the dimensions of thread separator viaChatTheme
. - Added a typing indicator to the
MessageListHeader
component. - Added the
messageOverlayActionItemHeight
option toStreamDimens
, to make it possible to customize the height of an action item on the selected message overlay viaChatTheme
. - Added the
messageAlignmentProvider
field to theChatTheme
that allows to customize message horizontal alignment. - Added the
maxAttachmentCount
andmaxAttachmentSize
parameters to theMessagesViewModelFactory
, to make it possible to customize the allowed number and size of attachments that can be sent via theMessageComposer
component.
⚠️ Changed
- Made the MessageMode subtypes to the parent class, to make it easier to understand when importing
- Renamed the MessageMode.Thread to MessageMode.MessageThread for clarity
- Changed the signature of the MessageComposer to accommodate for the
MessageInputState
- Moved common state to the
io.getstream.chat.android.common
package - Made the
AttachmentFactory.previewContent
field nullable. - Exposed
MessageReactions
as a public component so users can use it to display a message reactions bubble in their custom UI.