Releases: sendbird/sendbird-chat-sdk-javascript
v4.5.0
v4.5.0 (Mar 3, 2023)
Features
Polls in Open Channel
Polls is now supported in both Open Channels and Group Channels!
Specification
- Added
Poll.serialize()
- Added
PollModule.buildPollFromSerializedData()
- Added
onPollUpdated
,onPollVoted
, andonPollDeleted
inOpenChannelHandlerParams
- Moved following methods from
GroupChannel
toBaseChannel
:updatePoll()
deletePoll()
closePoll()
addPollOption()
updatePollOption()
deletePollOption()
votePoll()
getPollChangeLogsSinceTimestamp()
getPollChangeLogsSinceToken()
createPollListQuery()
createPollVoterListQuery()
Improvements
- Fixed a bug where
GroupChannelFilter
using nicknames (nicknameContainsFilter
,nicknameExactMatchFilter
, andnicknameExactMatchFilter
) includes current user's nickname when searching from locally cached group channels - Fixed a bug where
BaseMessage.applyThreadInfoUpdateEvent()
always returning false - Fixed a bug where
BaseChannel
’screateMessageMetaArrayKeys
,deleteMessageMetaArrayKeys
,addMessageMetaArrayValues
, andremoveMessageMetaArrayValues
returning unexpected result when file message is given
v4.4.0
v4.4.0 (Feb 24, 2023)
Features
Disconnect Websocket only
When you call sb.disconnect
, it disconnects the WebSocket and clears local cache. You can think of it as logging out.
In some cases, you need to only disconnect the WebSocket. You can now do it by calling sb.disconnectWebSocket
.
It only disconnects the WebSocket and preserves the local cache.
sb.disconnectWebSocket();
To connect again after disconnecting with disconnectWebSocket(),
use sb.connect().
const user = await sb.connect(userId: userId);
Added appStateToggleEnabled param
Added SendbirdChatParams.appStateToggleEnabled which can be used to optionally disable internal control of Websocket connection on document.visibilityState change
Improvements
- Fixed a bug where changed
groupChannel.members
was not updated while disconnected
v4.3.1
v4.3.1 (Feb 15, 2023)
Improvements
- Fixed a bug where
poll.votedOptionIds
is not updated upon callingpoll.applyPollUpdateEvent(pollUpdateEvent)
- Fixed a bug where auto-resending file message fails occasionally
MessageCollectionEventHandler.onMessagesDeleted
- Added a new parameter
messages: BaseMessage[]
- Deprecated
messageIds: number[]
onMessagesDeleted
callback now returns either unsent or sent messages through a new parametermessages: BaseMessage[]
, which you can use to remove pending messages
- Added a new parameter
- Fixed a bug where
MessageRequestHandler.onPending
is called when pending message is marked for auto-resend - Fixed a bug where
MessageCollection.hasNext
remains true afterMessageCollection.initialize()
is called withstartingPoint
as now - Fixed a bug where SDK calls
MessageCollectionEventHandler
when handler has not been set - Fixed a bug where
MessageCollectionEventHandler.onMessagesUpdated
is called on update ofGroupChannel
sgetUnreadMemberCount
andgetUndeliveredMemberCount
- Deprecated
EVENT_MESSAGE_READ
andEVENT_MESSAGE_DELIVERED
inMessageEventSource
- Exported
BaseMessageCreateParams
andBaseMessageUpdateParams
- Improved stability
v4.3.0
Changelog
v4.3.0 (Feb 01, 2023)
Features
Participant class in Open Channel
Participant is a new interface for User who joined Open Channel. It's optimized for scalability and contains much lighter information about the User than a Member in Group Channel.
Now clients can implement Open Channels easier in SDK with more built-in capabilities. You can compare how Member, Participant, and User are different here
Participant
holds essential information about the participant like below. They contain their muted status (is_muted
) on top of basic User information
class Participant extends User {
readonly isMuted: boolean;
}
ParticipantListQuery.next()
now returnsPromise<Participant[]>
- For backward compatibility, the return type remains as
Promise<User[]>
, but the return value can be casted intoPromise<Participant[]>
v4.2.9
Changelog
v4.2.9 (Feb 01, 2023)
Features
- Added
SendbirdChatOptions.sessionTokenRefreshTimeout
. You can now set longer timeout value for session token expire. (Default: 60s, Maximum: 1800s). This means that Sendbird SDK will wait longer for your new session token, making it easier for you to reconnect to our service.
Improvements
- Improved stability
v4.2.8
v4.2.7
v4.2.6
v4.2.5
v4.2.5 (Jan 17, 2023)
Improvements
- Fixed a bug in
MessageCollection
onMessagesUpdated event triggered for old messages - Fixed a bug where calling
connect
while offline did notreconnect
even when the app came online - Improved stability
v4.2.4
v4.2.4 (Jan 11, 2023)
Improvements
- Fixed a bug in
MessageCollection
where old messages are being added to the view when app reconnects - Added argument validation in
GroupChannel.pinMessage()
andGroupChannel.unpinMessage()
- Fixed a bug where
GroupChannelHandler.onChannelChanged()
andGroupChannelHandler.onPinnedMessageUpdated()
events are not called whenchannel.lastPinnedMessage
is updated - Improved stability