stream_chat 9.18.0
stream_chat: ^9.18.0 copied to clipboard
The official Dart client for Stream Chat, a service for building chat applications.
9.18.0 #
🐞 Fixed
- Improved sync reliability and error handling with enhanced
lastSyncAtinitialization, 400 error recovery, and automatic flushing of stale persistence data after 30 days of inactivity.
✅ Added
- Added support for
Message.channelRolefield to provide access to the sender's channel role. - Added support for
Channel.messageCountfield. - Added support for Pending Messages. Pending messages can be accessed via
ChannelState.pendingMessagesorChannelState.pendingMessagesStream.
🐞 Fixed
- Fixed thread messages increasing the unread count in the main channel.
- Fixed
ChannelState.memberCount,ChannelState.configandChannelState.extraDatagetting reset on first load.
9.17.0 #
🐞 Fixed
- Fixed
currentUser.pushPreferencesnot updating immediately after callingsetPushPreferences. - Fixed
Channel.sendMessageto prevent sending empty messages when all attachments are cancelled during upload. - Fixed
toDraftMessageto only include successfully uploaded attachments in draft messages.
9.16.0 #
🐞 Fixed
- Fixed
Channelmethods to throw properStateErrorexceptions instead of relying on assertions for state validation. - Fixed
OwnUserspecific fields getting lost when creating a newOwnUserinstance from anUserinstance. - Fixed
Client.currentUserspecific fields getting reset onuser.updatedevents.
✅ Added
- Added support for
Client.setPushPreferenceswhich allows setting PushPreferences for the current user or for a specific channel.
9.15.0 #
✅ Added
- Added
avgResponseTimefield to theUsermodel to track average response time in seconds. - Added support for
skipPushwhile updating a channel message, which allows you to update a message without sending a push notification.
🐞 Fixed
- Fixed
WebSocketrace condition where reconnection could access null user during disconnect. - Fixed draft message persistence issues where removed drafts were not properly deleted from the database.
9.14.0 #
🐞 Fixed
- Fixed cached messages are cleared from channels with unread messages when accessed offline. [#2083]
- Fixed RetryQueue skipping messages due to premature removal from the queue. [#2308]
✅ Added
- Added support for
client.getUnreadCount(), which returns the unread count information for the current user.
🔄 Changed
- Deprecated
SortOption.newconstructor in favor ofSortOption.descandSortOption.asc.
9.13.0 #
- Bug fixes and improvements
9.12.0 #
✅ Added
- Added support for
MessageReminderfeature, which allows users to bookmark or set reminders for specific messages in a channel.
9.11.0 #
✅ Added
- Added
reactionGroupsto theMessagemodel. This field is a map of reaction types to their respective counts and scores and additional metadata such as the first and last reaction timestamps.
🔄 Changed
- Deprecated
message.reactionCounts,message.reactionScoresin favor ofmessage.reactionGroups.
🐞 Fixed
Null check operator used on a null valuein Websocket connect.- Ensure query cache is cleared when refreshing channel queries.
9.10.0 #
🐞 Fixed
- [#2013] Fix pinned message get duplicated.
🔄 Changed
- Updated
freezed_annotationdependency to">=2.4.1 <4.0.0".
9.9.0 #
✅ Added
- Added teams role support for users.
- Added support for Filtering and Sorting in the
client.queryThreadsmethod.
9.8.0 #
✅ Added
- Added support for Channel pinning and archiving.
- Added support for 'DraftMessage' feature, which allows users to save draft messages in channels.
Several methods have been added to the
ClientandChannelclass to manage draft messages:channel.createDraft: Saves a draft message for a specific channel.channel.getDraft: Retrieves a draft message for a specific channel.channel.deleteDraft: Deletes a draft message for a specific channel.client.queryDrafts: Queries draft messages created by the current user.
🐞 Fixed
- Fixed
channelState.unreadCountnot updating if the user is not part of the read list.
🔄 Changed
- Improved read event handling in the
Channelclass to properly update unread state information.
9.7.0 #
✅ Added
-
Added new helper extensions on
Channelto provide a convenient way to check if the current user has specific capabilities in a channel.final canSendMessage = channel.canSendMessage; final canSendReaction = channel.canSendReaction; -
Added support for message moderation feature.
-
Improved user blocking functionality by updating client state when blocking/unblocking users:
client.blockUsernow updatescurrentUser.blockedUserIdslist with newly blocked user IDs.client.unblockUsernow removes the unblocked user ID fromcurrentUser.blockedUserIdslist.client.queryBlockedUsersnow updatescurrentUser.blockedUserIdswith the latest blocked users data.
🐞 Fixed
- [#1964] Fixes
Channel.membershipfield not updating correctly. - [#2171] Fixed [Flutter Web] dynamic TypeError
🔄 Changed
- Deprecated
PermissionTypein favor ofChannelCapability. - Deprecated third party calls related APIs (Agora and 100ms).
9.5.0 #
✅ Added
- [#2101] Added support for system messages not updating
channel.lastMessageAt. - Added support for sending private or restricted visibility messages.
- Add
member.extraDatafield.
🐞 Fixed
- [#1774] Fixed failed to execute 'close' on 'WebSocket'.
- [#2016] Fix muted channel's unreadCount incorrectly updated.
🔄 Changed
- Refactored identifying the
Attachment.uploadStatelogic for local and remote attachments. Also updated the logic for determining the attachment type to check for ogScrapeUrl instead ofAttachmentType.giphy. - Improved the
x-stream-clientheader generation for better client identification and analytics.
9.4.0 #
🔄 Changed
- Updated minimum Flutter version to 3.27.4 for the SDK.
9.3.0 #
✅ Added
-
Added support for overriding the
baseUrlof the websocket.final client = StreamChatClient( apiKey, logLevel: Level.INFO, baseWsUrl: 'http://localhost:8080', );
9.2.0 #
- Bug fixes and improvements
9.1.0 #
✅ Added
- Added support for Threads v2 feature, which allows users to query all the threads.
9.0.0 #
✅ Added
- Added support for Polls feature, which allows users to create and vote on polls in chat messages.
🔄 Changed
- Updated minimum Dart version to 3.5.4 for the SDK.
8.3.0 #
✅ Added
- Added support for AI assistant states and events.
8.2.0 #
✅ Added
- Added user blocking to the client.
8.1.0 #
✅ Added
- Added
httpClientAdaptertoStreamHttpClientthat enables the use native http implementations
🔄 Changed
- Changed minimum Flutter version to 3.22 for the SDK.
8.0.0 #
🐞 Fixed
- Fixed incorrect user object and online presence when user is updated.
7.3.0 #
🔄 Changed
- Changed minimum Flutter version to 3.19 for the SDK.
7.2.2 #
- Version to keep in sync with the rest of the packages
7.2.1 #
✅ Added
- Added
voiceRecordingattachment type
7.2.0-hotfix.1 #
- Version to keep in sync with the rest of the packages
7.2.0 #
✅ Added
- Added
markUnreadmethod toChannelthat marks messages from the provided message id onwards as unread
7.1.0 #
🐞 Fixed
- Fixes a thread message causing reply messages on the main thread to be considered deleted
7.0.2 #
7.0.1 #
🐞 Fixed
- [#1811] Bumped
UUIDdependency to^4.2.1. This might produce a breaking change if you your code depends inUUID3.x.xdirectly or indirectly.
7.0.0 #
-
🛑️ Breaking
-
Removed deprecated
channelQuery.sortproperty. UsechannelStateSortinstead. -
Removed deprecated
RetryPolicy.retryTimeoutproperty. UsedelayFactorinstead. -
Removed deprecated
StreamChatNetworkError.fromDioErrorconstructor. UseStreamChatNetworkError.fromDioExceptioninstead. -
Removed deprecated
MessageSendingStatusenum. UseMessageStateinstead.
🔄 Changed
- Updated minimum supported
SDKversion to Flutter 3.13/Dart 3.1
6.10.0 #
🐞 Fixed
- [#1753] Fixed Unhandled null check operator exception when user is removed from a channel.
6.9.0 #
6.8.0 #
🐞 Fixed
- Fixed
Channel.querynot initializingChannelState.
✅ Added
- Added support for
channel.countUnreadMentions()to get the count of unread messages mentioning the current user on a channel. #1692
🔄 Changed
- Updated minimum supported
SDKversion to Dart 3.0
6.7.0 #
✅ Added
- Added support for setting
Message.type. #1682It is now possible to send system messages. System messages differ from normal messages in the way they are presented to the user. Like the name says, system messages are normally send from the system itself, but a user is able to send it as well by specifying type: 'system' with the message. The user who sends a system message client-side should have the Create System Message permission. Server-side system messages don't need that permission.
6.6.0 #
🔄 Changed
- Deprecated
Message.statusin favor ofMessage.state. - Deprecated
RetryPolicy.retryTimeoutin favor ofRetryPolicy.delayFactor.
6.5.0 #
🔄 Changed
- Updated minimum supported
SDKversion to Dart 2.19
6.4.0 #
6.3.0 #
🐞 Fixed
- [#1585] Fixed channels left not being removed from the persistent storage.
🔄 Changed
- Updated
diodependency to^5.2.0.
6.2.0 #
🐞 Fixed
- [#1422] Fixed
User.createdAtproperty using currentTime when the ws connection is not established.
✅ Added
- Added support for
ChatPersistenceClient.isConnectedfor checking if the client is connected to the database. - Added support for
ChatPersistenceClient.userIdfor getting the current connected user id. - Added two new methods
ChatPersistenceClient.disconnectandChatPersistenceClient.connectfor disconnecting and connecting to the database.
6.1.0 #
🐞 Fixed
- [#1355] Fixed error while hiding channel and clearing message history.
- [#1525] Fixed removing message not removing quoted message reference.
✅ Added
-
Expose
ChannelMuteclass. #1473 -
Added synchronization to the
StreamChatClient.syncapi. #1392 -
Added support for
StreamChatClient.chatApiInterceptorsto add custom interceptors to the API client. #1265.final client = StreamChatClient( chatApiInterceptors: [ InterceptorsWrapper( onRequest: (options, handler) { // Do something before request is sent. return handler.next(options); }, onResponse: (response, handler) { // Do something with response data return handler.next(response); }, onError: (DioError e, handler) { // Do something with response error return handler.next(e); }, ), ], );
🔄 Changed
- Updated
dartsdk environment range to support3.0.0.
6.0.0 #
🐞 Fixed
- Fixed streamWatchers. Before it was always new, now it is possible to follow the watchers of a channel.
- Make
Message.i18nfield read-only.
🔄 Changed
- Cancelling a attachment upload now removes the attachment from the message.
- Updated
dioand other dependencies to resolvable versions.
✅ Added
- Added
presenceproperty toChannel::watchmethod.
5.3.0 #
🔄 Changed
- Updated
rate_limiterdependency to^1.0.0
5.2.0 #
✅ Added
- Added
HuaweiandXiaomiPushProviders.
🐞 Fixed
- Fixed initializing last synced date.
5.1.0 #
✅ Added
- Added
thumbUrlfield inSendFileResponsemodel.
🐞 Fixed
-
Remove disposed channel clients from the client state.
-
Deprecated the
sortparameter inqueryChannelsin favor ofchannelStateSort.
5.0.0 #
- Included the changes from version 4.5.0.
🛑️ Breaking Changes from 5.0.0-beta.2
-
Channel.addMembers,Channel.removeMembers,Channel.inviteMembersandChannel.updatepositional parameters are now optional parameters.// previous channel.addMembers([...ids], message, hideHistory); channel.removeMembers([...ids], message); channel.inviteMembers([...ids], message); channel.update({...channelData}, updateMessage); // new channel.addMembers([...ids], message: ..., hideHistory: ...); channel.removeMembers([...ids], message: ...); channel.inviteMembers([...ids], message: ...); channel.update({...channelData}, updateMessage: ...);
5.0.0-beta.1 #
- Minor fixes.
- Removed deprecated code.
4.6.0 #
✅ Added
- Added
StreamChatClient.getCallTokenandStreamChatClient.createCallmethods.
🐞 Fixed
- Only listen to client events when the user is connected to the websocket.
4.5.0 #
🐞 Fixed
- Fix
Channel.removeMessagenot able to remove thread message.
✅ Added
- Added
hide_historyflag inclient.addChannelMembers,channel.addMembers.
4.4.1 #
🐞 Fixed
- Do not serialize
AttachmentFile.bytes
4.4.0 #
🐞 Fixed
- Fix WebSocket contemporary connection calls while disconnecting
✅ Added
- Export
StreamAttachmentFileUploader.
🔄 Changed
- Deprecated
StreamChatClient.attachmentFileUploader, UseStreamChatClient.attachmentFileUploaderProviderinstead.
4.3.0 #
🐞 Fixed
- [#1135] Persistence was not removing the hidden channels.
- Fix
x-stream-clientheader generation.
4.2.0 #
✅ Added
- Added
PaginationParams.createdAtAfterOrEqualfor message pagination. - Added
PaginationParams.createdAtAfterfor message pagination. - Added
PaginationParams.createdAtBeforeOrEqualfor message pagination. - Added
PaginationParams.createdAtBeforefor message pagination. - Added
PaginationParams.createdAtAroundfor message pagination. - Added support for
channel.disabled,channel.hiddenandchannel.truncatedAtinChannel. - Added support for
channel.membershipandchannel.membershipStreaminChannel. Channelnow listens formember.updatedevents and updates theChannel.membersaccordingly.
🔄 Changed
- Deprecated
PaginationParams.beforeandPaginationParams.after. UsePaginationParams.limitinstead.
🐞 Fixed
- [#1147]
channel.unsetnot updating the extra data stream.
4.1.0 #
✅ Added
- Added support for extra data in attachment file uploader. Thanks, @rlee1990.
🔄 Changed
- Deprecated
roleinMemberin favor ofchannelRole - Deprecated
currentUserRolegetter inChannelin favor ofcurrentUserChannelRole
4.0.1 #
- Minor fixes
4.0.0 #
For upgrading to V4, please refer to the V4 Migration Guide
✅ Added
- Added
push_provider_nametoaddDeviceAPI call
4.0.0-beta.2 #
🐞 Fixed
- Fixed reactions not working for threads in offline mode.
- [#1046] After
/mutecommand on reload cannot access any channel. - [#1047]
own_capabilitiesextraData missing after channel update. - [#1054]
Fix
Unsupported operation: Cannot remove from an unmodifiable list. - [#1033] Hard delete from dashboard does not delete message from client.
- Send only
user_idwhile reconnecting.
✅ Added
- Handle
event.messageinchannel.truncateevents - Added additional parameters to
channel.truncate
4.0.0-beta.0 #
✅ Added
- Added support for ownCapabilities.
🐞 Fixed
- Minor fixes and improvements.
3.6.0 #
🐞 Fixed
- Fixed reactions not working for threads in offline mode.
- [#1046] After
/mutecommand on reload cannot access any channel. - [#1047]
own_capabilitiesextraData missing after channel update. - [#1054]
Fix
Unsupported operation: Cannot remove from an unmodifiable list. - [#1033] Hard delete from dashboard does not delete message from client.
- Send only
user_idwhile reconnecting.
✅ Added
- Handle
event.messageinchannel.truncateevents - Added additional parameters to
channel.truncate
3.5.1 #
🐞 Fixed
channel.unreadCountwas being set as using global unread count on a very specific case.- The reconnection logic for the WebSocket connection is now more robust.
3.5.0 #
✅ Added
- You can now pass
scoretoclient.sendReactionandchannel.sendReactionfunctions. - Added new
client.partialUpdateUsersfunction in order to partially update users.
🐞 Fixed
- [#890] Fixed Reactions not updating on thread messages. Thanks bstolinski.
- [#897] Fixed error type mis-match
in
AuthInterceptor. - [#891] Fixed reply counter for parent message not updating correctly after deleting thread message.
- Fix
channelState.copyWithwith respect to pinnedMessages.
3.4.0 #
🐞 Fixed
- [#857] Channel now listens for member ban/unban and updates the channel state with the latest data.
- [#748]
Message.useris now also included while saving users in persistence. - [#871] Fixed thread message deletion.
- [#846] Fixed
message.ownReactionsgetting truncated when receiving a reaction event. - Add check for invalid image URLs
- Fix
channelState.pinnedMessagesStreamgetting reset to0after a channel update. - Fixed
unreadCountafter removing user from a channel.
🔄 Changed
client.locationis now deprecated in favor of the new edge server and will be removed in v4.0.0.channel.banUser,channel.unbanUseris now deprecated in favor of the newchannel.banMemberandchannel.unbanMember. These deprecated methods will be removed in v4.0.0.- Added
banExpiresproperty of typeDateTimeon theMember,OwnUser, andUsermodels.
✅ Added
- Added
client.enrichUrlendpoint for enriching URLs with metadata. - Added
client.queryBannedUsers,channel.queryBannedUsersendpoint for querying banned users.
3.3.1 #
🐞 Fixed
- [#799] Fixed
totalUnreadCountis not updating when app is resumed from background mode. - Fix retry mechanism failing in some cases.
3.3.0 #
✅ Added
- Extra properties added to
PaginationParamsto aid in fetching messages. - Added hard delete functionality.
🐞 Fixed
closeConnection()now usesnormalClosurestatus when closing websocket.- Fixed local unread count indicator increasing for thread replies.
- Fixed user presence indicator not updating correctly.
ChannelEvent.membersCountdefaults to 0 avoiding parsing errors due to missingmembers_countfield.
3.2.1 #
🐞 Fixed
- Fixed
StreamChatClient.markAllReadapi call
3.2.0 #
🐞 Fixed
markAllRead()now updates local channel states.- [#744] Fixed unread count not updating correctly
3.1.1 #
✅ Added
- Added
Filter.notExists.
🐞 Fixed
- [#710] Fixed JWT requiring
using
Stringas id. - Fixed expired CDN attachment links not updating correctly.
3.0.0 #
🛑️ Breaking Changes from 2.2.1
- Added 6 new methods in
ChatPersistenceClient.bulkUpdateMessagesbulkUpdatePinnedMessagesbulkUpdateMembersbulkUpdateReadsupdatePinnedMessageReactionsdeletePinnedMessageReactionsByMessageId
✅ Added
- Added
Filter.containsandFilter.empty - Added support for
next,previousvalue pagination inclient.search, read more. Attachmentclass now has afileSizeandmimeTypeproperty. Setting afilewill also set thefile_size,mime_typekey onextraData, soattachment.fileSize,attachment.mimetypeandattachment.extraData['file_size'],attachment.extraData['mime_type]is same respectively.
🐞 Fixed
2.2.1 #
🐞 Fixed
- Fixed unread indicator not updating correctly
- Fix
channel.shownot working because of null body
2.2.0 #
🐞 Fixed
- Fixed
channel.markAllReadthrowing failed host lookup.
✅ Added
UserandOwnUserclasses now have animageproperty. Setting an image will also set the ' image' key onextraData, souser.imageanduser.extraData['image']is the same.UserandOwnUserclasses now have anameproperty. Setting a name will also set the 'name' key onextraData, souser.nameanduser.extraData['name']is the same.Channelclass now has extraimagegetter and setter. As well as anupdateImageto do a partial update after a channel has been initialized.Channelclass now has extranamegetter and setter. As well as anupdateNameto do a partial update after a channel has been initialized.- Added slow mode which allows a cooldown period after a user sends a message.
2.1.1 #
🐞 Fixed
- Mutes were not working correctly in 2.1.0
2.1.0 #
🛑️ Removed
- The
MessageTranslationclass has been removed. Use the newi18nfield in theMessageclass instead.
✅ Added
- The
Messageclass now has ani18nfield for translations - The
Userclass now has alanguagefield for the user's language preference.
🔄 Changed
client.useris now deprecated in favor ofclient.currentUser.client.userStreamis now deprecated in favor ofclient.currentUserStream.
🐞 Fixed
2.0.0 #
🛑️ Breaking Changes from 1.5.3
- migrate this package to null safety
ConnectUserWithProvidernow requirestokenProvideras a required parameter. (Removed from the constructor)client.disconnect()is now divided into two different functionsclient.closeConnection()-> for closing user web socket connection.client.disconnectUser()-> for disconnecting user and resetting client state.
client.devToken()now returns aTokenmodel instead ofString.ApiErroris removed in favor ofStreamChatErrorStreamChatError-> parent type for all the stream errors.StreamWebSocketError-> for user web socket related errors.StreamChatNetworkError-> for network related errors.
client.queryChannels(),channel.query()options parameter is removed in favor of individual parametersoption.state-> bool stateoption.watch-> bool watchoption.presence-> bool presence
client.queryUsers()options parameter is removed in favor of individual parametersoption.presence-> bool presence
- Migrate this package to null safety
- Added typed filters
🐞 Fixed
- #369: Client does not return without internet connection
- several minor fixes
- performance improvements
✅ Added
- New
Locationenum is introduced for easily changing the client location/baseUrl. - New
client.openConnection()andclient.closeConnection()is introduced to connect/disconnect user ws connection. - New
client.partialUpdateMessageandchannel.partialUpdateMessagemethods connectWebSocketparameter in connect user calls to use the client in "connection-less" mode.
🔄 Changed
baseURLis now deprecated in favor of usingLocationto change data location.
2.0.0-nullsafety.8 #
🐞 Fixed
- Export
PushProviderenum
2.0.0-nullsafety.7 #
🛑️ Breaking Changes from 2.0.0-nullsafety.6
ConnectUserWithProvidernow requirestokenProvideras a required parameter. (Removed from the constructor)client.disconnect()is now divided into two different functionsclient.closeConnection()-> for closing user web socket connection.client.disconnectUser()-> for disconnecting user and resetting client state.
client.devToken()now returns aTokenmodel instead ofString.ApiErroris removed in favor ofStreamChatErrorStreamChatError-> parent type for all the stream errors.StreamWebSocketError-> for user web socket related errors.StreamChatNetworkError-> for network related errors.
client.queryChannels(),channel.query()options parameter is removed in favor of individual parametersoption.state-> bool stateoption.watch-> bool watchoption.presence-> bool presence
client.queryUsers()options parameter is removed in favor of individual parametersoption.presence-> bool presence
✅ Added
- New
Locationenum is introduced for easily changing the client location/baseUrl. - New
client.openConnection()andclient.closeConnection()is introduced to connect/disconnect user WS connection.
🔄 Changed
baseURLis now deprecated in favor of usingLocationto change data location.
2.0.0-nullsafety.6 #
- Fix thread reply not working with attachments
- Minor fixes
2.0.0-nullsafety.5 #
- Minor fixes
- Performance improvements
- Fixed
skip_pushinclient.sendMessage - Added partial message update method
2.0.0-nullsafety.2 #
- Added new
Filter.rawconstructor - Changed extraData
- Minor fixes
2.0.0-nullsafety.1 #
- Migrate this package to null safety
- Added typed filters
1.5.3 #
- fix:
StreamChatClient.connectreturns quicker when you're using the persistence package
1.5.2 #
- fix:
queryChannelsshould throw exceptions only if no data is present in cache.
1.5.1 #
- Minor fixes and improvements
1.5.0 #
- Minor fixes and improvements
1.4.0-beta #
- Improved attachment uploading
- Fix: update member presence
- Added skip_push to message model
- Minor fixes and improvements
1.3.2+1-beta #
- Fixed queryChannels bug
1.3.1-beta #
- Debounced frequent db calls
1.3.0-beta #
- Save pinned messages in offline storage
- Minor fixes
StreamClient.QueryChannelsnow returns a Stream and fetches the channels from storage before calling the api- Added
StreamClient.QueryChannelsOnlineandStreamClient.QueryChannelsOfflineto fetch channels only from online or offline
1.2.0-beta #
- 🛑 BREAKING Changed signature of
StreamClient.searchmethod - Added
pinMessagefeature docs here - Fixed minor bugs
1.1.0-beta #
- Fixed minor bugs
- Add support for custom attachment upload docs here
- Add support for asynchronous attachment upload
1.0.3-beta #
- Fixed issue with disconnecting after connecting without awaiting the connection result
- Fixed bug that caused duplicated typing.stop events to be fired
1.0.2-beta #
- Deprecated
setUser,setGuestUser,setUserWithProviderin favor ofconnectUser,connectGuestUser,connectUserWithProvider - Optimised reaction updates - i.e., Update first call Api later.
1.0.1-beta #
- Fixed pub analysis issues
1.0.0-beta #
- 🛑 BREAKING Renamed
Clientto less genericStreamChatClient - 🛑 BREAKING Segregated the persistence layer into separate
package
stream_chat_persistence - 🛑 BREAKING Moved
Client.backgroundKeepAliveto core package - 🛑 BREAKING Moved
Client.showLocalNotificationto core package and renamed it toStreamChatCore.onBackgroundEventReceived - Removed
flutterdependency. This is now a pure Dart package 🥳 - Minor improvements and bugfixes
0.2.24+2 #
- Fix reconnection bug while using tokenProvider
0.2.24+1 #
- Stop ws reconnection after calling disconnect
0.2.24 #
- Create enum for push providers
- Add merge helper functions in
MessageandChannelModelfor easier data manipulation
0.2.23+3 #
- Remove + notation from userAgent
- Fix optimistic update for totalUnreadCount
0.2.23+2 #
- Do not throw an error when calling queryChannels without an active connection if the offline storage is enabled
0.2.23+1 #
- Throw an error when calling queryChannels without an active connection
- Wait to establish a connection if calling queryChannels while connecting
0.2.23 #
- Add thread_participants in message model
0.2.22 #
- Add thread-less message reply feature (QuotedMessage)
0.2.21+2 #
- Fix but not throwing error during querychannels and persistance disabled
- Fix reaction.updated event handling
0.2.21+1 #
- Fix error in the offline storage queryChannelCids query
0.2.21 #
- Fix channel.hide(clearHistory: true) not clearing local messages
- Add banned field to member
0.2.20 #
- Return offline data only if the backend is unreachable. This avoids the glitch of the ChannelListView because we cannot sort by custom properties.
0.2.19 #
- Added message filters for
Client.search()
0.2.18 #
- Correctly dispose resources when disposing the client state
- Limit parallel queryChannels with same parameters to 1
- Added
clearUserparameter toclient.disconnectto remove the user instance of the client
0.2.17+1 #
- Do not retry messages when server returns error
0.2.17 #
- Add shadow ban feature
0.2.16 #
- Listen for user.updated events
0.2.15+2 #
- Fix reaction score updates
0.2.15+1 #
- Listen to reaction.updated event
0.2.15 #
- Fix search message response
0.2.14 #
- Add event.extradata
0.2.13+1 #
- Let user change channel.extradata if the channel is not initialized yet
0.2.13 #
- Add parent_id to events for typing indicators in threads
0.2.12+2 #
- Fix error with reactions with null user
0.2.12 #
- Do not save channels in memory if not being watched. This was leading to some bugs in some specific use-cases.
0.2.11 #
- Fix user.name getter
- Use detached loggers
- Throw error while connecting if it comes from backend
- Fix ws reconnection
0.2.10+2 #
- Fix bug with event filtering
0.2.10+1 #
- Add default limit to pagination
0.2.10 #
- Added
channel.state.unreadCountStream
0.2.9 #
- Adding a message on
Channel.updateis now optional
0.2.8+1 #
- Fix retry logic
0.2.8 #
- Add missing event types
- Fix local sorting on offline storage
0.2.7+1 #
Client.channelreturns an existing channel if available- Update message in the offline storage if attachment has expired (for the new CDN)
- Fix
GetMessagesByIdResponseformat - Do not query messages if already existing in offline storage
0.2.6 #
- Experimental support for Flutter web and MacOs
0.2.5+2 #
- Cleaned up Serialization on extra_data
0.2.5+1 #
- Fix
channel.showapi call
0.2.5 #
- Add
channelTypeandchannelIdproperties to event object
0.2.4+2 #
- Fix query members messing channel state
0.2.4+1 #
- Do not resync if there is no channel in offlinestorage
0.2.4 #
- Add null-safety to ws disconnect
- Add pagination parameters to queryUsers request
0.2.3+3 #
- Fix reaction add/remove logic
0.2.3+2 #
- Skip system messages during unreadCount computation
0.2.3+1 #
- Removed moor_ffi from dependencies in favor of moor/ffi
0.2.3 #
-
Fix reject invite payload
-
Add multi-tenant properties to channel and user
0.2.2+1 #
- Fix queryChannels payload
0.2.2 #
- Fix add/remove/invite members api calls
0.2.1 #
- Add
isMutedStreamtoChannel - Add
isGrouptoChannel - Add
isDistincttoChannel
0.2.0+2 #
- Fix search messages response class
0.2.0+1 #
- Fix offline members update
- Add channel mutes
- Fix default channel sort
0.2.0 #
- Add
lastMessagegetter to Channel.state - Add
isSystemproperty to Message - Incremental websocket reconnection timeout
- Add translate message api call
- Add queryMembers api call
- Add user list to client state
- Synchronize channel members status
- Add offline storage
- Add push notifications helper functions
0.2.0-alpha+23 #
- Add
lastMessagegetter toChannel.state
0.2.0-alpha+22 #
- Add
isSystemproperty to Message
0.2.0-alpha+21 #
- Incremental websocket reconnection timeout
0.2.0-alpha+20 #
- More robust offline storage insertions
0.2.0-alpha+19 #
- Add translate message api call
- Add queryMembers api call
0.2.0-alpha+18 #
- Revert moor_ffi version to 0.5.0
0.2.0-alpha+17 #
-
Add user list to client
-
Synchronize channel members status
0.2.0-alpha+16 #
- Try QueryChannels when
resyncendpoint returns an error
0.2.0-alpha+15 #
- Fix receiving reactions
0.2.0-alpha+14 #
- Avoid sending local event for optimistic updates
0.2.0-alpha+13 #
- Fix offline on app first start up
0.2.0-alpha+12 #
- Fix retry mechanism in threads
- Fix delete channel query
0.2.0-alpha+9 #
- Add retry mechanism and retry queue
0.2.0-alpha+8 #
- Add copyWith to Attachment
0.2.0-alpha+7 #
- Add channel deleted/updated event handling
0.2.0-alpha+6 #
- Align with stable release
0.2.0-alpha+5 #
- Rename client parameters
0.2.0-alpha+3 #
-
Remove dependencies on notification service
-
Expose some helping method for integrate offline storage with push notifications
0.2.0-alpha+2 #
- Fix unread count
0.2.0-alpha #
-
Offline storage
-
Push notifications
-
Minor bug fixes
0.1.30 #
- Add silent property to message
0.1.29 #
- Fix read event handling
0.1.28 #
- Fix bug clearing members when receiving a message
0.1.27 #
- Update dependencies
0.1.26 #
- Remove wrong
membersproperty fromChannelModel
0.1.25 #
- Fix online status
0.1.24 #
- Fix unread count
0.1.22 #
- Add mute/unmute channel
0.1.20 #
- Fix channel query path without id
0.1.19 #
- Fix loading message replies
0.1.18 #
- Export dio error
0.1.17 #
-
Ignore current user typing events
-
Add event types
0.1.16 #
- Fix message update
0.1.15 #
- Fix mentions handling
0.1.14 #
- Handle message modification and commands
0.1.13 #
- Add message.updated event handling
0.1.12 #
- Add export multipart_file from dio
0.1.11 #
- Add channel config checks
0.1.10 #
- Rename Channel.channelClients to channels
0.1.9 #
- Fix channel update on message delete
0.1.8 #
- Add delete message handling
0.1.7 #
- Add reaction handling
0.1.6 #
-
Add initialized completer
-
Update example
0.1.5 #
-
Add
ClientStateandChannelClientStateclasses to handle channel state updates using events -
Update example supporting threads
0.1.4 #
-
Update some api with wrong or incomplete signatures
-
Add documentation for public apis
0.1.2 #
-
add websocket reconnection logic
-
add token expiration mechanism
0.1.1 #
- add typing events handling
0.1.0 #
-
a better example can be found in the example/ directory
-
fix some api calls and add missing one
0.0.2 #
- first beta version