stream_chat 4.5.0
stream_chat: ^4.5.0 copied to clipboard
The official Dart client for Stream Chat, a service for building chat applications.
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 param. (Removed from the constructor)client.disconnect()is now divided into two different functionsclient.closeConnection()-> for closing user websocket 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 websocket related errors.StreamChatNetworkError-> for network related errors.
client.queryChannels(),channel.query()options param is removed in favor of individual paramsoption.state-> bool stateoption.watch-> bool watchoption.presence-> bool presence
client.queryUsers()options param is removed in favor of individual paramsoption.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 param. (Removed from the constructor)client.disconnect()is now divided into two different functionsclient.closeConnection()-> for closing user websocket 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 websocket related errors.StreamChatNetworkError-> for network related errors.
client.queryChannels(),channel.query()options param is removed in favor of individual paramsoption.state-> bool stateoption.watch-> bool watchoption.presence-> bool presence
client.queryUsers()options param is removed in favor of individual paramsoption.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