Releases: GetStream/stream-chat-swift
Releases · GetStream/stream-chat-swift
1.5.5
🔄 Changed
- Handling keyboard notifications for ChatViewController in rx, robust way.
✅ Added
- Banner animation without bouncing.
- Customization for message actions.
- Added
Event.reactionUpdated
. - Opened
MessageTableViewCell
. - Opened
ChannelTableViewCell
. - More customization for a message and channel cells.
- Added
AvatarViewStyle
- Added
SeparatorStyle
- Added
Spacing
- Added
ChannelTableViewCell.VerticalTextAlignment
MessageTableViewCell.avatarViewStyle: AvatarViewStyle?
MessageTableViewCell.spacing: Spacing
MessageTableViewCell.edgeInsets: UIEdgeInsets
ChannelTableViewCell.avatarViewStyle: AvatarViewStyle?
ChannelTableViewCell.separatorStyle: SeparatorStyle
ChannelTableViewCell.nameNumberOfLines: Int
ChannelTableViewCell.messageNumberOfLines: Int
ChannelTableViewCell.height: CGFloat
ChannelTableViewCell.spacing: Spacing
ChannelTableViewCell.edgeInsets: UIEdgeInsets
ChannelTableViewCell.verticalTextAlignment: VerticalTextAlignment
- Added
- Added a customization for message actions.
🐞 Fixed
- Fixed example app memory leak.
- Fixed keyboard events replaying unexpectedly.
- Scroll the table view to the bottom safely.
- Fixed a crash when the token was expired.
- Fixed
StatusTableViewCell
layout. - Fixed video attachments are not recognized and not clickable. #56
- Fixed ComposerView going behind keyboard when an opaque TabBar is used. #64
- Fixed WebView crashing when file picker is presented in a website in iPhones. #69
- Fixed messages not being grouped correctly after one day. #72
1.5.4
💥 Breaking Changes
- The order of parameters in
Message.init
- Removed members from
ChannelResponse
. Now it's only inside the channel of the response.
🔄 Changed
- Improved Token validation.
✅ Added
- Public
Attachment.init(...)
. - Public
Reaction.init(...)
. - Public
Reaction(counts: [ReactionType: Int])
. - Public
User.unknown
. - Example app with Cocoapods.
- Example app with Carthage.
- A new authorization in the Example app.
✈️ Offline mode insideInternetConnection
.- Improved connection flow.
- Extension
Data.hex
. - Extension
String.md5
,String.url?
. Filter.description
.Sorting.description
.- A variable
JSONDecoder.default
. Now you can change the default JSON decoder. - Variables
JSONEncoder.default
andJSONEncoder.defaultGzip
. Now you can change default JSON encoders. - A channel for a direct messages will use a member avatar as default channel image by default.
- Docs for the
ClientLogger
. - Hide a channel with clearing messages history.
- Added a new event
Event.channelHidden(HiddenChannelResponse, EventType)
.
🐞 Fixed
- ComposerView position related to the keyboard with an opaque
UITabBar
. - A proper way to check if members are empty.
1.5.3
1.5.2
1.5.1
1.5.0
Added
-
Added levels for
ClientLogger
.- Error Level:
ClientLogger.Options.requestsError
ClientLogger.Options.webSocketError
ClientLogger.Options.notificationsError
ClientLogger.Options.error
— all errors
- Debug Level:
ClientLogger.Options.requests
ClientLogger.Options.webSocket
ClientLogger.Options.notifications
ClientLogger.Options.debug
— all debug
- Info Level:
ClientLogger.Options.requestsInfo
ClientLogger.Options.webSocketInfo
ClientLogger.Options.notificationsInfo
ClientLogger.Options.info
— all info
- Error Level:
-
MessageViewStyle.showTimeThreshold
to show additional time for messages from the same user at different times.
. . . AdditionalDateStyle.messageAndDate
. . . . AdditionalDateStyle.userNameAndDate
. . .
-
Optimized MessageTableViewCell rendering.
-
Channel name. If it's empty:
- for 2 members: the 2nd member name
- for more than 2 members: member name + N others.
- channel
id
.
-
Channel.isDirectMessage
— checks if only 2 members in the channel and the channel name was generated. -
Improved work with
ExtraData
. -
A custom
ChannelType.custom(String)
Changed
- Removed a
channelType
parameter inChannelsPresenter.init
. - Renamed
ExtraData.data
->ExtraData.object
Channel.currentUnreadCount
update.
Fixed
- Detecting and highlighting URL's in messages.
- Skip empty messages.
ChatFooterView
with a white circle.- A user avatar missing.
1.4.4
1.4.3
Added
- The current user mentioned unread count
// The current unread count.
let count: Int = channel.currentMentionedUnreadCount
// An observable unread count.
channel.mentionedUnreadCount
.drive(onNext: { count in
print(count)
})
.disposed(by: disposeBag)
- Map an observable value to void.
.void()