stream_chat_flutter 10.0.0-beta.8
stream_chat_flutter: ^10.0.0-beta.8 copied to clipboard
Stream Chat official Flutter SDK. Build your own chat experience using Dart and Flutter.
10.0.0-beta.8 #
🛑️ Breaking
-
onCustomAttachmentPickerResulthas been removed. UseonAttachmentPickerResultwhich returnsFutureOr<bool>to indicate if the result was handled.// Before StreamMessageInput( onCustomAttachmentPickerResult: (result) { // Handle custom location attachment final location = result.data['location']; sendLocationMessage(location); }, ) // After StreamMessageInput( onAttachmentPickerResult: (result) { if (result is CustomAttachmentPickerResult) { // Handle custom location attachment final location = result.data['location']; sendLocationMessage(location); return true; // Skip default handling } return false; // Use default handling for built-in types }, ) -
customAttachmentPickerOptionshas been removed. UseattachmentPickerOptionsBuilderto modify, reorder, or extend default options.// Before - could only add custom options StreamMessageInput( customAttachmentPickerOptions: [ TabbedAttachmentPickerOption( key: 'location', icon: Icon(Icons.location_on), // ... ), ], ) // After - can now modify, filter, or extend default options StreamMessageInput( attachmentPickerOptionsBuilder: (context, defaultOptions) { return [ ...defaultOptions, // Keep all default options TabbedAttachmentPickerOption( key: 'location', icon: Icon(Icons.location_on), // ... ), ]; }, ) -
Included the changes from version
9.19.0.
9.19.0 #
✅ Added
- Added
StreamMessageListView.floatingDateDividerBuilderin order to specifically customize the floating date divider. - Added spacing to typing indicator.
10.0.0-beta.7 #
✅ Added
-
Added support for
StreamMessageWidget.deletedMessageBuilderto customize the deleted message UI. -
Included the changes from version
9.18.0.
9.18.0 #
🐞 Fixed
- Fixed
StreamMessageListViewnot marking thread messages as read when scrolled to the bottom of the list. - Fixed
StreamMessageInputnot validating draft messages before creating/updating them.
10.0.0-beta.6 #
🐞 Fixed
-
Fixed users with
sendReplycapability unable to send replies in threads. -
Fixed delete/flag message dialogs executing action when dialog is dismissed without confirmation.
-
Included the changes from version
9.17.0.
9.17.0 #
✅ Added
- Added
messageBackgroundGradientproperty toStreamMessageThemeDatafor gradient message backgrounds.
🐞 Fixed
- Fixed
.replaceMentionsnot escaping special characters in the username. - Fixed videos not being saved to gallery correctly on mobile platforms. [#2357]
- Fixed unread indicator button using hardcoded white color instead of theme color
colorTheme.barsBg. [#2366] - Fixed
GradientAvatarsfor users with same-length IDs would have identical colors. [#2369]
9.16.0 #
🐞 Fixed
- Fixed context menu being truncated and scrollable on web when there was enough space to display it fully. [#2317]
- Fixed
StreamMessageInputcooldown resume error if channel state is not yet initialized. [#2338]
✅ Added
- Added
paddingandtextInputMargintoStreamMessageInputto allow fine-tuning the layout.
10.0.0-beta.4 #
✅ Added
-
Added
emojiCodeproperty toStreamReactionIconto support custom emojis in reactions. -
Updated default reaction builders with standard emoji codes. (
❤️,👍,👎,😂,😮) -
Added
StreamChatConfiguration.maybeOf()method for safe context access in async operations. -
Included the changes from version
9.15.0.
9.15.0 #
✅ Added
- Added
bottomandbottomOpacityto theStreamChannelHeaderwidget. - Added
StreamChat.maybeOf()method for safe context access in async operations.
🐞 Fixed
- Fixed
StreamMessageInputcrashes with "Null check operator used on a null value" when async operations continue after widget unmounting.
10.0.0-beta.3 #
🛑️ Breaking
- Deprecated API Cleanup: Removed all deprecated classes, methods, and properties for the v10 major release:
- Removed Classes:
DmCheckbox(useDmCheckboxListTile),StreamIconThemeSvgIcon(useStreamSvgIcon),StreamVoiceRecordingThemeData(useStreamVoiceRecordingAttachmentThemeData),StreamVoiceRecordingLoading,StreamVoiceRecordingSlider(useStreamAudioWaveformSlider),StreamVoiceRecordingPlayer(useStreamVoiceRecordingAttachment),StreamVoiceRecordingListPlayer(useStreamVoiceRecordingAttachmentPlaylist) - Removed Properties:
reactionIconsandvoiceRecordingThemefromStreamChatTheme,isThreadConversationfromFloatingDateDivider,idleSendButtonandactiveSendButtonfromStreamMessageInput,isCommandEnabledandisEditEnabledfromStreamMessageSendButton,assetName,width, andheightfromStreamSvgIcon - Removed Constructor Parameters:
useNativeAttachmentPickerOnMobilefrom various components,allowCompressionfromStreamAttachmentHandler.pickFile()andStreamFilePicker(usecompressionQualityinstead),cidfromStreamUnreadIndicatorconstructor - Removed Methods:
lastUnreadMessage()from message list extensions (useStreamChannel.getFirstUnreadMessage),loadBuffer()and_loadAsync()fromStreamVideoThumbnailImage - StreamSvgIcon Refactoring: Removed 80+ deprecated factory constructors. Use
StreamSvgIcon(icon: StreamSvgIcons.iconName)instead of factory constructors likeStreamSvgIcon.add()
- Removed Classes:
PollMessagewidget has been removed and replaced withPollAttachmentfor better integration with the attachment system. Polls can now be customized throughPollAttachmentBuilderor by creating custom poll attachment widgets via the attachment builder system.AttachmentPickerTypeenum has been replaced with a sealed class to support extensible custom types like contact and location pickers. Use built-in types likeAttachmentPickerType.imagesor define your own viaCustomAttachmentPickerType.StreamAttachmentPickerOptionhas been replaced with two sealed classes to support layout-specific picker options:SystemAttachmentPickerOptionfor system pickers (e.g. camera, files) andTabbedAttachmentPickerOptionfor tabbed pickers (e.g. gallery, polls, location).showStreamAttachmentPickerModalBottomSheetnow returns aStreamAttachmentPickerResultinstead ofAttachmentPickerValuefor improved type safety and clearer intent handling.StreamMobileAttachmentPickerBottomSheethas been renamed toStreamTabbedAttachmentPickerBottomSheet, andStreamWebOrDesktopAttachmentPickerBottomSheethas been renamed toStreamSystemAttachmentPickerBottomSheetto better reflect their respective layouts.
For more details, please refer to the migration guide.
✅ Added
-
Added
extraDatafield toAttachmentPickerValueto support storing and retrieving custom picker state (e.g. tab-specific config). -
Added
customAttachmentPickerOptionstoStreamMessageInputto allow injecting custom picker tabs like contact and location pickers. -
Added
onCustomAttachmentPickerResultcallback toStreamMessageInputto handle results returned by custom picker tabs. -
Included the changes from version
9.14.0.
9.14.0 #
🐞 Fixed
- Fixed
StreamMessageInputtries to expand to full height when used in a unconstrained environment. - Fixed
StreamCommandAutocompleteOptionsto style the command name withtextHighEmphasisstyle.
9.13.0 #
🐞 Fixed
- Fixed
FloatingDateDividernot showing the correct date when the latest message was too big and exceeded the viewport main axis size. - Fixed
ScrollToBottombutton always showing when the latest message was too big and exceeded the viewport main axis size.
10.0.0-beta.1 #
🛑️ Breaking
StreamReactionPickernow requires reactions to be explicitly handled viaonReactionPicked. (Automatic handling is no longer supported.)StreamMessageActionis now generic(StreamMessageAction<T>), enhancing type safety. Individual onTap callbacks have been removed; actions are now handled centrally by widgets likeStreamMessageWidget.onCustomActionTapor modals using action types.StreamMessageReactionsModalno longer requires themessageThemeparameter. The theme now automatically derives from thereverseproperty.StreamMessageWidgetno longer requires theshowReactionTailparameter. The reaction picker tail is now always shown when the reaction picker is visible.
For more details, please refer to the migration guide.
✅ Added
- Added new
StreamMessageActionsBuilderwhich provides a list of actions to be displayed in the message actions modal. - Added new
StreamMessageActionConfirmationModalfor confirming destructive actions like delete or flag. - Added new
StreamMessageModalandshowStreamMessageModalfor consistent message-related modals with improved transitions and backdrop effects.showStreamMessageModal( context: context, ...other parameters, builder: (context) => StreamMessageModal( ...other parameters, headerBuilder: (context) => YourCustomHeader(), contentBuilder: (context) => YourCustomContent(), ), ); - Added
desktopOrWebparameter toPlatformWidgetBuilderto allow specifying a single builder for both desktop and web platforms. - Added
reactionPickerBuildertoStreamMessageActionsModal,StreamMessageReactionsModal, andStreamMessageWidgetto enable custom reaction picker widgets. - Added
StreamReactionIcon.defaultReactionsproviding a predefined list of common reaction icons. - Exported
StreamMessageActionsModalandStreamModeratedMessageActionsModalwhich are now based onStreamMessageModalfor consistent styling and behavior.
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 #
🐞 Fixed
- Fixed
StreamMessageInputthrowing exception when a non-initializedChannelis used.
🔄 Changed
- Updated
just_audiodependency to">=0.9.38 <0.11.0".
9.10.0 #
🔄 Changed
- Updated
share_plusdependency to^11.0.0. - Updated
desktop_dropdependency to">=0.5.0 <0.7.0".
9.9.0 #
✅ Added
- Added support for Draft messages preview.
- Added a new
StreamDraftListViewfor displaying draft messages. - Added a confirmation dialog for end vote in Polls. [#2211]
🐞 Fixed
- [#2182] Fixes StreamMessageInput not listening to channel capabilities.
🔄 Changed
- Exported
StreamQuotedMessageWidgetto allow customization of quoted messages usingStreamMessageWidget.quotedMessageBuilder.
9.8.0 #
🐞 Fixed
- [#2184] Fixed messages not being marked as read when scrolled to the bottom.
- [#2187] Fixed
MessageListViewscrolling back up after reaching bottom when unread indicator or scroll to bottom button is tapped. - [#2085] Fixed handling of read events in the Channel class.
- [#2150] Fixed Push notifications for mentions shows user ID instead of Username.
- [#2203] Fixed StreamMessageInput shows Poll option even if polls are disabled in channel config.
9.7.0 #
🐞 Fixed
- [#2118] Fixed invalid assertions applied on message input command and attachment button.
- [#2042] Fixed
StreamMessageInputsend message predicate to properly handle shift+enter for new lines and improve message text validation.
✅ Added
- Added support for new message moderation feature in the SDK.
9.6.0 #
9.5.0 #
🐞 Fixed
- Fixed
StreamMessageInputnot able to edit the ogAttachments. - Fixed
MessageWidgetshowing pinned background for deleted messages.
✅ Added
- Introduced
StreamMessageInput.useSystemAttachmentPickerfor system media picker support. - Introduced
StreamMessageThemeData.messageDeletedStyleto style the text on a deleted message.
🔄 Changed
- Updated the message list view to prevent pinning messages that have restricted visibility.
- Deprecated
StreamMessageInput.useNativeAttachmentPickerOnMobilein favor ofStreamMessageInput.useSystemAttachmentPicker.
9.4.0 #
🔄 Changed
- Updated minimum Flutter version to 3.27.4 for the SDK.
- Replaced image_gallery_saver_plus with gal
9.3.0 #
✅ Added
- Added support for
voiceRecordingtype attachments.
🔄 Changed
- Deprecated
PlayListItemin favor ofPlaylistTrack. - Deprecated
StreamVoiceRecordingListPlayerin favor ofStreamVoiceRecordingAttachmentPlaylist. - Deprecated
StreamVoiceRecordingLoadingas it is no longer used. - Deprecated
StreamVoiceRecordingPlayerin favor ofStreamVoiceRecordingAttachment. - Deprecated
StreamVoiceRecordingSliderin favor ofStreamAudioWaveformSlider. - Deprecated
VoiceRecordingAttachmentBuilderin favor ofVoiceRecordingAttachmentPlaylistBuilder. - Deprecated
StreamVoiceRecordingThemein favor ofStreamVoiceRecordingAttachmentTheme.
9.2.0+1 #
- Remove untracked files from the package.
9.2.0 #
🐞 Fixed
- Fixed
StreamChannelnot available in the widget tree for various poll-related dialogs.
9.1.0 #
✅ Added
- Added a new
StreamThreadListViewwidget to load and display list of threads. - Added a new
StreamUnreadThreadsBannerwidget to display count of unread threads. - Added new
StreamUnreadIndicator.channelsandStreamUnreadIndicator.threadsconstructors to display unread channels and threads respectively.
🔄 Changed
- Deprecated
StreamUnreadIndicatorcid property in favor ofStreamUnreadIndicator.channelsconstructor.
9.0.0 #
🛑️ Breaking
- The
StreamAttachmentPickerControllerhas been restructured to improve flexibility and support additional use cases like poll management.- Previously managed a
List<Attachment>but now manages anAttachmentPickerValueobject, which includes:attachments: A list of attachments.poll: A new field for managing polls.
- Previously managed a
✅ Added
- Added a new
StreamPollCreatorwidget to facilitate poll creation within the chat interface. - Added a new
PollMessagewidget to display poll messages within the chat interface.
🔄 Changed
- Updated minimum Flutter version to 3.24.5 for the SDK.
8.3.0 #
✅ Added
- Added several new widgets to enhance the AI assistant features.
StreamingMessageViewto show AI assistant messages with streaming animation.AITypingIndicatorViewto show AI typing indicator.
✅ Added
- Added several new widgets to enhance the AI assistant features.
StreamingMessageViewto show AI assistant messages with streaming animation.AITypingIndicatorViewto show AI typing indicator.
🐞 Fixed
- [#2030] Fixed
video_thumbnailNamespace not specified.
8.2.0 #
✅ Added
- Added
onThreadTapparameter toMessageWidgetContentto enable thread tap action. - Messages by default now show an "Edited" label if text is edited. Use
showEditedLabelto disable this functionality.
🐞 Fixed
- Fixed locale conversion in jiffy.
🔄 Changed
- Updated
stream_chat_flutter_coredependency to8.2.0.
8.1.0 #
🐞 Fixed
- Fixed enrichment errors causing some URLs to enrich twice.
- Added option to use the native attachment picker on mobile
🔄 Changed
- Changed minimum Flutter version to 3.22 for the SDK.
8.0.0 #
🐞 Fixed
- Fixed null errors in web from markdown.
- Fixed bug causing background events to be sent in foreground.
7.3.0 #
🐞 Fixed
- Fixed copy message function.
🔄 Changed
- Changed minimum Flutter version to 3.19 for the SDK.
- Updated
stream_chat_flutter_coredependency to7.3.0.
7.2.2 #
✅ Added
- Added
customAttachmentBuildersparameter forStreamAttachmentWidgetBuilder.defaultBuilders. attachmentBuildersparameter forStreamMessageWidgetnow only expects custom builders.- Added
StreamMediaAttachmentBuilderwidget to show media attachments in a message.
🐞 Fixed
- Added export for
message_widget_content_components.dartto allow for easier customization of message content components. - Fixed error when channel image is not set.
- Fixes reaction picker tail showing up unexpectedly.
- Copying a message now replaces the User IDs with user names.
- Exported thumbnail widgets from the package.
- Extends predicates for sending and clearing messages to mobile.
🔄 Changed
- Updated
stream_chat_flutter_coredependency to7.2.2.
7.2.1 #
✅ Added
- Added
VoiceRecordingAttachmentBuilder, for displaying voice recording attachments in the chat.
🐞 Fixed
- Fixed wrong calculation of the last unread message indicator.
7.2.0-hotfix.1 #
🔄 Changed
- Updated
stream_chat_flutter_coredependency to7.2.0-hotfix.1.
7.2.0 #
✅ Added
StreamMessageListView will now by default show unread indicator floating on top of the message
list that will scroll to last read message when tapped and mark channel as unread when dismissed.
- Added
showUnreadIndicatorparameter toStreamMessageListViewthat controls visibility of new channel unread indicator - Added
unreadIndicatorBuilderparameter toStreamMessageListViewthat allows to provide custom unread indicator builder - Added
markReadWhenAtTheBottomparameter toStreamMessageListViewthat will toggle, previously default, behaviour of marking channel as read when message list is scrolled to the bottom (now default isfalse) - Added
showUnreadCountOnScrollToBottomparameter toStreamMessageListViewthat will toggle, previously shown by default, unread messages counter on the scroll to bottom button (no default isfalse)
Added Mark as Unread option to StreamMessageWidget context menu that will show for non-thread
messages of other users and mark channel as unread from selected message onwards.
- Added
showMarkUnreadMessagetoStreamMessageWidgetthat controls visibility of Mark as Unread option.
7.1.0 #
🐞 Fixed
- Fixed quoted message having 0 bottom padding. All sides now have 8 padding
🔄 Changed
- Updated
photo_managerdependency to^3.0.0 - Updated
lottieto>=2.6.0 <4.0.0
7.0.2 #
✅ Added
- Added
ActionsBuildersignature for function which will return default actions and allows past custom actions. - Added
spaceBetweenActionsparameter forStreamMessageInputto control distance between actions
🐞 Fixed
- Removed double focus on
StreamMessageInputwhenfocusNodeis provided for web and desktop. - Optionally call
onThreadTapinBottomRowto avoidNull check operator used on a null value
7.0.1 #
7.0.0 #
🛑️ Breaking
- Removed deprecated
ChannelPreviewwidget. UseStreamChannelListTileinstead. - Removed deprecated
ChannelPreviewBuilder, UseStreamChannelListViewIndexedWidgetBuilderinstead. - Removed deprecated
StreamUserItemwidget. UseStreamUserListTileinstead. - Removed deprecated
ReturnActionTypeenum, No longer used. - Removed deprecated
StreamMessageInput.attachmentThumbnailBuildersparameter. UseStreamMessageInput.mediaAttachmentBuilderinstead. - Removed deprecated
MessageListView.onMessageSwipedparameter. Try wrapping theMessageWidgetwith aSwipeable,Dismissibleor a custom widget to achieve the swipe to reply behaviour. - Removed deprecated
MessageWidget.showReactionPickerIndicatorparameter. UseMessageWidget.showReactionPickerinstead. - Removed deprecated
MessageWidget.bottomRowBuilderparameter. UseMessageWidget.bottomRowBuilderWithDefaultWidgetinstead. - Removed deprecated
MessageWidget.deletedBottomRowBuilderparameter. UseMessageWidget.deletedBottomRowBuilderWithDefaultWidgetinstead. - Removed deprecated
MessageWidget.usernameBuilderparameter. UseMessageWidget.usernameBuilderWithDefaultWidgetinstead. - Removed deprecated
MessageTheme.linkBackgroundColorparameter. UseMessageTheme.urlAttachmentBackgroundColorinstead. - Removed deprecated
showConfirmationDialogmethod. UseshowConfirmationBottomSheetinstead. - Removed deprecated
showInfoDialogmethod. UseshowInfoBottomSheetinstead. - Removed deprecated
wrapAttachmentWidgetmethod. UseWrapAttachmentWidgetclass instead. - Removed deprecated
showReactionPickerTailparameter. UseshowReactionPickerinstead.
✅ Added
-
Added support for
StreamMessageInput.contentInsertionConfigurationto specify the content insertion configuration. #1613StreamMessageInput( ..., contentInsertionConfiguration: ContentInsertionConfiguration( onContentInserted: (content) { // Do something with the content. controller.addAttachment(...); }, ), )
🔄 Changed
- Updated
jiffydependency to^6.2.1. - Updated minimum supported
SDKversion to Flutter 3.13/Dart 3.1 - Updated
stream_chat_flutter_coredependency to7.0.0.
6.12.0 #
🐞 Fixed
-
Fix render overflow issue with
StreamTypingIndicator. It now usesFlexibleinsideRow. -
[#1759] Fixed The Reaction Picker is not being removed when I set showReactionPicker to false.
6.10.0 #
🐞 Fixed
- [#1721]
Fixed
StreamMessageInput.allowedAttachmentPickerTypesnot working on mobile devices.
✅ Added
- Added support for overriding the
MessageWidget.onReactionsHovercallback.Note Used only in desktop devices (web and desktop).
6.9.0 #
🐞 Fixed
- [#1702]
Fixed
Message.replaceMentionsnot treating@usernamesas mentions. - [#1694] Fixed Video player buttons getting covered by bottom toolbar.
✅ Added
-
Added support for listening error events in AttachmentPickerBottomSheet.
-
Added support for overriding the
MessageWidget.onReactionTapcallback. -
Added support for
StreamMessageInput.contentInsertionConfigurationto specify the content insertion configuration. #1613StreamMessageInput( ..., contentInsertionConfiguration: ContentInsertionConfiguration( onContentInserted: (content) { // Do something with the content. controller.addAttachment(...); }, ), )
🔄 Changed
- Updated minimum supported
SDKversion to Flutter 3.10/Dart 3.0 - Updated
stream_chat_flutter_coredependency to6.8.0. - Updated jiffy dependency to ^6.2.1.
6.8.1 #
🐞 Fixed
- Fixed
StreamMessageInputalways sending message assystem.
6.6.0 #
🔄 Changed
- Updated minimum supported
SDKversion to Flutter 3.7/Dart 2.19
6.5.0 #
🐞 Fixed
- [#1620] Fixed messages Are Not
Hard Deleting even
after overriding the
onConfirmDeleteTapcallback. - [#1621] Fixed
createdAtStylenull check error inSendingIndicatorBuilder. - [#1069] Fixed message swipe to
reply using same
direction for both current user and other users. It now uses
SwipeDirection.startToEndfor current user andSwipeDirection.endToStartfor other users. - [#1590]
Fixed
StreamMessageWidget.showReactionPickerIndicatornot toggling the reaction picker indicator visibility. - [#1639] Fixed attachments not
showing in gallery view
even after saving them to the device.
Note This fix depends on the image_gallery_saver plugin. Make sure to add necessary permissions in your App as per the plugin documentation.
- [#1642]
Fixed
StreamMessageWidget.widthFactornot working on web and desktop platforms.
✅ Added
-
Added support for customizing attachments in
StreamMessageInput. Use various properties mentioned below. #1511StreamMessageInput.attachmentListBuilderto customize the attachment list.StreamMessageInput.fileAttachmentListBuilderto customize the file attachment list.StreamMessageInput.mediaAttachmentListBuilderto customize the media attachment list. Includes images, videos and gifs.StreamMessageInput.fileAttachmentBuilderto customize the file attachment item shown inFileAttachmentList.StreamMessageInput.mediaAttachmentBuilderto customize the media attachment item shown inMediaAttachmentList.
-
Added
StreamMessageInput.quotedMessageAttachmentThumbnailBuildersto customize the thumbnail builders for quoted message attachments.
🔄 Changed
-
Deprecated
StreamMessageInput.attachmentThumbnailBuildersin favor ofStreamMessageInput.mediaAttachmentBuilder. -
Deprecated
StreamMessageListView.onMessageSwiped. Try wrapping theMessageWidgetwith aSwipeable,Dismissibleor a custom widget to achieve the swipe to reply behaviour.// Migration from onMessageSwiped to Swipeable. StreamMessageListView( ..., messageBuilder: (context, messageDetails, messages, defaultWidget) { // The threshold after which the message should be considered as swiped. const threshold = 0.2; // The direction in which the message should be swiped to reply. final swipeDirection = messageDetails.isMyMessage ? SwipeDirection.endToStart // : SwipeDirection.startToEnd; return Swipeable( key: ValueKey(messageDetails.message.id), direction: swipeDirection, swipeThreshold: threshold, onSwiped: (direction) { // Handle the swipe action here. }, backgroundBuilder: (context, details) { // The alignment of the swipe action. final alignment = messageDetails.isMyMessage ? Alignment.centerRight // : Alignment.centerLeft; // The progress of the swipe action. final progress = math.min(details.progress, threshold) / threshold; return Align( alignment: alignment, child: Opacity( opacity: progress, child: const Icon( Icons.reply, color: Colors.white, ), ), ); }, child: defaultWidget, ); }, ) -
Deprecated
StreamMessageWidget.showReactionPickerIndicatorin favor ofStreamMessageWidget.showReactionPicker.StreamMessageWidget( - showReactionPickerIndicator: true/false, + showReactionPicker: true/false, ) -
Updated
video_playerdependency to^2.7.0. -
Updated
chewiedependency to^1.6.0. -
Updated
share_plusdependency to^7.0.2. -
Deprecated
StreamUserItemin favor ofStreamUserListTile.
6.4.0 #
🐞 Fixed
- [#1600] Fixed
type
ImageDecoderCallbacknot found error on pre-Flutter 3.10.0 versions. - [#1605] Fixed Null exception is
thrown on message list
for unread messages when
ScrollToBottomButtonis pressed. - [#1615]
Fixed
StreamAttachmentPickerBottomSheetnot able to find theStreamChatThemewhen used in nested MaterialApp.
✅ Added
-
Added support for
StreamMessageInput.allowedAttachmentPickerTypesto specify the allowed attachment picker types. #1601StreamMessageInput( ..., allowedAttachmentPickerTypes: const [ AttachmentPickerType.files, AttachmentPickerType.images, ], ) -
Added support for
StreamMessageWidget.onConfirmDeleteTapto override the default action on delete confirmation. #1604StreamMessageWidget( ..., onConfirmDeleteTap: (message) async { final channel = StreamChannel.of(context).channel; await channel.deleteMessage(message, hard: false); }, ) -
Added support for
StreamMessageWidget.quotedMessageBuilderandStreamMessageInput.quotedMessageBuilderto override the default quoted message widget. #1547StreamMessageWidget( ..., quotedMessageBuilder: (context, message) { return Container( color: Colors.red, child: Text('Quoted Message'), ); }, ) -
Added support for
StreamChannelAvatar.ownSpaceAvatarBuilder,StreamChannelAvatar.oneToOneAvatarBuilderandStreamChannelAvatar.groupAvatarBuilderto override the default avatar widget.#1614StreamChannelAvatar( ..., ownSpaceAvatarBuilder: (context, channel) { return Container( color: Colors.red, child: Text('Own Space Avatar'), ); }, oneToOneAvatarBuilder: (context, channel) { return Container( color: Colors.red, child: Text('One to One Avatar'), ); }, groupAvatarBuilder: (context, channel) { return Container( color: Colors.red, child: Text('Group Avatar'), ); }, )
6.3.0 #
6.2.0 #
🐞 Fixed
- [#1546]
Fixed
StreamMessageInputTheme.linkHighlightColorreturning null for default theme. - [#1548] Fixed
StreamMessageInputurlRegex only matching the lowercasehttp(s)|ftp. - [#1542] Handle error thrown
in
StreamMessageInputwhen unable to fetch a link preview. - [#1540]
Use
CircularProgressIndicator.adaptiveinstead of material indicator. - [#1490]
Fixed
editMessageInputBuilderproperty not used inMessageActionsModal.editMessageoption. - [#1544] Fixed error thrown when unable to fetch image/data in Message link preview.
- [#1482]
Fixed
StreaChannelListTilenot showing unread indicator whencurrentUseris not present in the initial member list. - [#1487] Use localized title
for
WebOrDesktopAttachmentPickerOptioninStreamMessageInput. - [#1250] Fixed bottomRow
widgetSpans getting resized
twice when
textScalingis enabled. - [#1498] Fixed
MessageInputautocomplete not working on non-mobile platforms. - [#1576] Temporary fix
for
StreamMessageListViewgetting broken when loaded at a particular message and a new message is added.
✅ Added
- Added support for
StreamMessageThemeData.urlAttachmentTextMaxLineto specify the.maxLinesfor the url attachment text. #1543
🔄 Changed
- Updated
shimmerdependency to^3.0.0. - Updated
image_gallery_saverdependency to^2.0.1. - Deprecated
ChannelPreviewin favor ofStreamChannelListTile. - Updated
stream_chat_flutter_coredependency to6.2.0.
6.1.0 #
🐞 Fixed
- [#1502] Fixed
isOnlyEmojimethod Detects Single Hangul Consonants as Emoji. - [#1505] Fixed Message bubble disappears for Hangul Consonants.
- [#1476]
Fixed
UserAvatarTransform.userAvatarBuilderworks only for otherUser. - [#1490]
Fixed
editMessageInputBuilderproperty not used in message edit widget. - [#1523]
Fixed
StreamMessageThemeDatanot being applied correctly. - [#1525]
Fixed
StreamQuotedMessageWidgetmessage for deleted messages not being shown correctly. - [#1529] Fixed
ClipboardDatarequires non-nullable string as text on Flutter 3.10. - [#1533]
Fixed
StreamMessageListViewmessages grouped incorrectly w.r.t. timestamp. - [#1532]
Fixed
StreamMessageWidgetactions dialog backdrop filter is cut off by safe area.
✅ Added
-
Added
MessageTheme.urlAttachmentHostStyle,MessageTheme.urlAttachmentTitleStyle, andMessageTheme.urlAttachmentTextStyleto customize the style of the url attachment. -
Added
StreamMessageInput.ogPreviewFilterto allow users to filter out the og preview links. #1338StreamMessageInput( ogPreviewFilter: (matchedUri, messageText) { final url = matchedUri.toString(); if (url.contains('giphy.com')) { // Return false to prevent the OG preview from being built. return false; } // Return true to build the OG preview. return true; ), -
Added
StreamMessageInput.hintGetterto allow users to customize the hint text of the message input. #1401StreamMessageInput( hintGetter: (context, hintType) { switch (hintType) { case HintType.searchGif: return 'Custom Search Giphy'; case HintType.addACommentOrSend: return 'Custom Add a comment or send'; case HintType.slowModeOn: return 'Custom Slow mode is on'; case HintType.writeAMessage: return 'Custom Write a message'; } }, ), -
Added
StreamMessageListView.shrinkWrapto allow users to shrink wrap the message list view.
🔄 Changed
- Updated
dartsdk environment range to support3.0.0. - Deprecated
MessageTheme.linkBackgroundColorin favor ofMessageTheme.urlAttachmentBackgroundColor. - Updated
stream_chat_flutter_coredependency to6.1.0.
6.0.0 #
🐞 Fixed
- [#1456] Fixed logic for showing that a message was read using sending indicator.
- [#1462] Fixed support for iPad in the share button for images.
- [#1475] Fixed typo to fix compilation.
✅ Added
- Now it is possible to customize the max lines of the title of a url attachment. Before it was always 1 line.
- Added
attachmentActionsModalBuilderparameter toStreamMessageWidgetthat allows to customizeAttachmentActionsModal. - Added
StreamMessageInput.sendMessageKeyPredicateandStreamMessageInput.clearQuotedMessageKeyPredicateto customize the keys used to send and clear the quoted message.
🔄 Changed
- Updated dependencies to resolvable versions.
🚀 Improved
- Improved draw of reaction options. #1455
5.3.0 #
🔄 Changed
- Updated
photo_managerdependency to^2.5.2
🐞 Fixed
- [#1424] Fixed a render issue when showing messages starting with 4 whitespaces.
- Fixed a bug where the
AttachmentPickerBottomSheetwas not able to identify the mobile browser. - Fixed uploading files on Windows - fixed temp file path.
✅ Added
- New
noPhotoOrVideoLabeldisplayed when there is no files to choose.
5.2.0 #
✅ Added
- Added a new
bottomRowBuilderWithDefaultWidgetparameter toStreamMessageWidgetwhich contains a third parameter ( defaultBottomRowwidget withcopyWithmethod available) to allow easier customization.
🔄 Changed
- Updated
lottiedependency to^2.0.0 - Updated
desktop_dropdependency to^0.4.0 - Updated
connectivity_plusdependency to^3.0.2 - Updated
dart_vlcdependency to^0.4.0 - Updated
file_pickerdependency to^5.2.4 - Deprecated
StreamMessageWidget.bottomRowBuilderin favor ofStreamMessageWidget.bottomRowBuilderWithDefaultWidget. - Deprecated
StreamMessageWidget.deletedBottomRowBuilderin favor ofStreamMessageWidget.bottomRowBuilderWithDefaultWidget. - Deprecated
StreamMessageWidget.usernameBuilderin favor ofStreamMessageWidget.bottomRowBuilderWithDefaultWidget.
🐞 Fixed
- [#1379] Fixed "Issues with photo attachments on web", where the cached image attachment would not render while uploading.
- Fix render overflow issue with
MessageSearchListTileTitle. It now usesText.richinstead ofRow. Better default behaviour and allowsTextOverflow. - [1346] Fixed a render issue while uploading video on web.
- [#1347]
onReplynot working inAttachmentActionsModalwhich is used byStreamImageAttachmentandStreamImageGroup.
5.1.0 #
🐞 Fixed
- Show message custom actions on desktop context menu.
- Can move cursor by left/right arrow in StreamMessageInput on web/desktop.
✅ Added
VideoAttachmentnow usesthumbUrlto show the thumbnail if it's available instead of generating them.- Expose
widthFactoroption inMessageWidget - Add
enableActionAnimationflag toStreamMessageInput
5.0.1 #
🔄 Changed
- Updated
share_plusdependency to^4.5.0
5.0.0 #
- Included the changes from version 4.5.0.
🐞 Fixed
- [#1326] Fixed hitting "enter" on the android keyboard sends the message instead of going to a new line.
✅ Added
- Added
StreamMemberGridViewandStreamMemberListView. - Added support for additional text field parameters in
StreamMessageInputmaxLinesminLinestextInputActionkeyboardTypetextCapitalization
- Added
showStreamAttachmentPickerModalBottomSheetto show the attachment picker modal bottom sheet.
🔄 Changed
- Removed Emoji picker from
StreamMessageInput.
5.0.0-beta.2 #
🐞 Fixed
- Fixed the unread message header in the message list view.
- Show dialog after clicking on the camera button and permission is denied.
- Fix Jiffy initialization.
- Fix loading to unread position in
StreamMessageListView. - Minor fixes and improvements.
🔄 Changed
- [#1125]
defaultUserImage,placeholderUserImage,reactionIcons, andenforceUniqueReactionshave been refactored out ofStreamChatThemeDataand into the newStreamChatConfigurationDataclass.
✅ Added
- Added
StreamAutocompletewidget for autocomplete triggers inStreamMessageInput. - Added
StreamMessageInput.customAutocompleteTriggersto allow users to define their custom triggers.
5.0.0-beta.1 #
- 🎉 Initial support for desktop 🖥️ and web 🧑💻
- Right-click context menus for messages and full-screen attachments
- Upload and download attachments using the native desktop file system
- Press the "enter" key to send a message
- If you are quoting a message and have not yet typed any text, you can press the "esc" key to remove the quoted message.
- A dedicated "X" button for removing a quoted message with your mouse
- Drag and drop attachment files to
StreamMessageInput- New
StreamMessageInput.draggingBorderproperty to customize the border color of the message input when dropping a file.
- New
- Message reactions bubbles
- Hovering over a message reaction will show the users that have reacted to the message
- Desktop attachment sharing UI
- Selectable message text
- Gallery navigation controls with keyboard shortcuts (left and right arrow keys)
- Appropriate message sizing for large screens
- Right-click context menu for
StreamMessageListViewitems StreamMessageListViewitems not swipeable on desktop & web- Video support for Windows & Linux through
dart_vlc - Video support for macOS through
video_player_macos - Replace bottom sheets with dialogs where appropriate
- Other Additions ✅
onQuotedMessageClearedtoStreamMessageInputselectedandselectedTileColortoStreamChannelListTileAttachmentUploadStateBuilder.inProgressBuildertoAttachmentUploadStateBuilderAttachmentUploadStateBuilder.successBuildertoAttachmentUploadStateBuilderAttachmentUploadStateBuilder.failedBuildertoAttachmentUploadStateBuilder- Translations:
couldNotReadBytesFromFileErrordownloadLabeltoggleMuteUnmuteActiontoggleMuteUnmuteGroupQuestiontoggleMuteUnmuteGroupTexttoggleMuteUnmuteUserQuestiontoggleMuteUnmuteUserText
- Deprecated
showConfirmationDialogin favor ofshowConfirmationBottomSheet - Deprecated
showInfoDialogin favor ofshowInfoBottomSheet - Deprecated
wrapAttachmentWidgetin favor of theWrapAttachmentWidgetclass
- Breaking changes 🚧
StreamImageAttachment.sizehas been converted from typeSizeto typeBoxConstraintsStreamFileAttachment.sizehas been converted from typeSizeto typeBoxConstraintsStreamGiphyAttachment.sizehas been converted from typeSizeto typeBoxConstraintsStreamVideoAttachment.sizehas been converted from typeSizeto typeBoxConstraintsStreamVideoThumbnailImage.widthandStreamVideoThumbnailImage.heighthave been removed in favor ofStreamVideoThumbnailImage.constraints
- Dependency updates ⬆️
chewie: ^1.3.0->chewie: ^1.3.4path_provider: ^2.0.1->path_provider: ^2.0.9video_player: ^2.1.0->video_player: ^2.4.5
- Code Improvements 🔧
- Extracted many widgets to classes to improve readability, maintainability, and devtools usage.
- Organized internal directory structure
- Extracted typedefs to their own file
- Updated dartdoc documentation
- Various code readability improvements
4.6.0 #
🐞 Fixed
- [#1323]: Fix message text hiding because of a flutter bug.
4.5.0 #
- Updated
stream_chat_flutter_coredependency to4.5.0.
🐞 Fixed
- [#882] Lots of unhandled exceptions when network is off or spotty.
- Fixes an error where Stream CDN images were not being resized in the message list view.
🚀 Improved
- Automatically resize images that are above a specific pixel count to ensure resizing works: getstream.io/chat/docs/go-golang/file_uploads/#image-resizing
✅ Added
-
Added
thumbnailSize,thumbnailResizeType, andthumbnailCropTypeparams toStreamMessageWidgetto customize the appearance of image attachment thumbnails.StreamMessageListView( messageBuilder: (context, details, messages, defaultMessage) { return defaultMessage.copyWith( imageAttachmentThumbnailSize: ..., imageAttachmentThumbnailCropType: ..., imageAttachmentThumbnailResizeType: ..., ); }, ), -
Added
thumbnailSize,thumbnailFormat,thumbnailQualityandthumbnailScaleparams toStreamAttachmentPickerto customize the appearance of image attachment thumbnails.StreamMessageInput( focusNode: _focusNode, messageInputController: _messageInputController, attachmentsPickerBuilder: (_, __, picker) { return picker.copyWith( attachmentThumbnailSize: ..., attachmentThumbnailFormat: ..., attachmentThumbnailQuality: ..., attachmentThumbnailScale: ..., ); }, ),
4.4.1 #
4.3.0 #
- Updated
photo_viewdependency to0.14.0.
🐞 Fixed
- [#1180] Fix file download.
- Fix commands resetting the
StreamMessageInputController.value. - [#996] Videos break bottom photo carousal.
- Fix: URLs with path and/or query parameters are not enriched.
- [#1194] Request permission to access gallery when opening the file picker.
✅ Added
- [#1011] Animate the background color of pinned messages.
- Added unread messages divider in
StreamMessageListView. - Added
StreamMessageListView.unreadMessagesSeparatorBuilder. - Now
StreamMessageListViewopens to the oldest unread message by default.
4.1.0 #
✅ Added
- [#1119] Added an option to disable
mentions overlay in
StreamMessageInput - Deprecated
disableEmojiSuggestionsOverlayin favor ofenableEmojiSuggestionsOverlayinStreamMessageInput
🐞 Fixed
- Fixed attachment picker ui.
- Fixed StreamChannelHeader and StreamThreadHeader subtitle alignment.
- Fixed message widget thread indicator in reverse mode.
- [#1044]: Refactor StreamMessageWidget bottom row to use Text.rich.
🔄 Changed
- Removed
isOwnercondition fromChannelBottomSheetandStreamChannelInfoBottomSheetfor delete option tile.
4.0.0 #
For upgrading to V4, please refer to the V4 Migration Guide
✅ Added
- [#1087]: Handle limited access to camera on iOS.
centerTitleandelevationproperties toChannelHeader,ThreadHeaderandChannelListHeader.
🐞 Fixed
4.0.0-beta.2 #
✅ Added
- Added support to pass
autoCorrecttoStreamMessageInputfor the text input field - Added support to control the visibility of the default emoji suggestions overlay
in
StreamMessageInput - Added support to build custom widget for scrollToBottom in
StreamMessageListView
🐞 Fixed
4.0.0-beta.1 #
✅ Added
- Deprecated old widgets in favor of Stream-prefixed ones.
- Use channel capabilities to show/hide actions.
- Deprecated
ChannelListViewin favor ofStreamChannelListView. - Deprecated
ChannelPreviewin favor ofStreamChannelListTile. - Deprecated
ChannelAvatarin favor ofStreamChannelAvatar. - Deprecated
ChannelNamein favor ofStreamChannelName. - Deprecated
MessageInputin favor ofStreamMessageInput. - Separated
MessageInputwidget in smaller components. (For exampleCountDownButton,StreamAttachmentPicker...) - Updated
stream_chat_flutter_coredependency to4.0.0-beta.0. - Added OpenGraph preview support for links in
StreamMessageInput. - Removed video compression.
3.6.0 #
🐞 Fixed
- Minor fixes and improvements
-[#892]: Fix
default
initialAlignmentinMessageListView. - Fix
MessageInputTheme.inputBackgroundColorcolor not being used in some widgets ofMessageInput - Removed dependency on
visibility_detector
3.5.1 #
🛑️ Breaking Changes
pinPermissionsis no longer needed inMessageListView.MessageInputnow works with aMessageInputControllerinstead of aTextEditingController
🐞 Fixed
- Mentions overlay now doesn't overflow when there is not enough height available
- Updated
stream_chat_flutter_coredependency to3.5.1.
✅ Added
onLinkTapforMessageWidgetcan now be passed down toUrlAttachment.
3.5.0 #
3.4.0 #
- Updated
stream_chat_flutter_coredependency to3.4.0.
🐞 Fixed
- SVG rendering fixes.
- Use file extension instead of mimeType for downloading files.
- [#860] CastError while compressing Videos.
✅ Added
- Videos can now be auto-played in
FullScreenMedia - Extra customisation options for
MessageInput
🔄 Changed
- Add
didUpdateWidgetoverride inMessageInputwidget to handle changes tofocusNode.
3.3.1 #
✅ Added
MessageListViewnow allows more better control over spacing after messages usingspacingWidgetBuilder.StreamChannelcan now fetch messages around a message ID with thequeryAroundMessagecall.- Added
MessageListView.keyboardDismissBehaviorproperty.
🐞 Fixed
- [#766]
AttachmentActionsModalnow has customisation options for actions. - Fixed
MessageWidgetnull errors associated withchannel.memberCount. - Fixed adding attachments on web.
- [#767]: Fix
MessageInputfocus behaviour when sending messages. - Fixed user presence indicator not updating correctly.
- Do not use
withData: trueinFilePickercalls. - Fixed read indicator not updating correctly in specific situations.
3.2.0 #
- Updated Dart SDK constraints to
>=2.14.0 <3.0.0. - Updated
stream_chat_flutter_coredependency to3.2.0.
🐞 Fixed
- Fixed message highlight animation alignment in
MessageListView. - [#491]: Fix
MediaListViewshowing media in wrong order. - Fixed
MessageListViewinitialIndex not working in some cases. - Improved
MessageListViewrendering in case of reordering. - Fix image thumbnail generation when using Stream CDN.
✅ Added
MessageListViewThemeDatanow accepts aDecorationImageas a background image forMessageListView.
3.1.1 #
- Updated
stream_chat_flutter_coredependency to3.1.1. - Updated
file_picker,image_gallery_saver, andvideo_thumbnailto the latest versions.
🐞 Fixed
- [#687]: Fix Users losing their place in the conversation after replying in threads.
- Fixed floating date stream subscription causing "Bad state: stream has already been listened.” error.
- Fixed
Stringcapitalize extension not working on empty strings.
✅ Added
- Added
MessageInput.customOverlaysproperty to add custom overlays to the message input. - Added
MessageInput.mentionAllAppUsersproperty to mention all app users in the message input. - The
MessageInputnow supports local search for channels with less than 100 members. - Added
MessageListView.paginationLoadingIndicatorBuilderto override the default loading indicator shown while paginating the message list. - Added new
linkBackgroundColorinMessageThemefor setting background colors of link attachments.
⚠️ Deprecated
MessageInput.mentionsTileBuilderis now deprecated in favor ofMessageInput.userMentionsTileBuilder.MentionTileis now deprecated in favor ofUserMentionsTile.
3.0.0 #
- Updated
stream_chat_flutter_coredependency to3.0.0.
🛑️ Breaking Changes from 2.2.1
UserListViewfilterproperty now is non-nullable.
🐞 Fixed
- [#668]: Fix
MessageInputrendering errors in case there are no actions available to show. - [#349]: Fix
MessageInputattachment render overflow error. MessageInputoverlays now follow theMessageInputfocus.- [#674]: Check scrollController is attached before calling jump in MessageListView.
- Fixed
MessageListViewheader and footer whenreverse: false.
🔄 Changed
- Animation curves changed from default
Curves.lineartoCurves.easeOutandCurves.easeInfor attachment controls. - Removed default padding in
DateDividerinMessageListView
✅ Added
- Added
MessageInput.customPortalOptionsproperty to add custom overlays to theMessageInput.
2.2.1 #
⚠️ Deprecated
MessageSearchListViewpaginationParamsproperty is now deprecated in favor oflimit.// previous paginationParams = const PaginationParams(limit: 30) // new limit = 30UserListViewpaginationproperty is now deprecated in favor oflimit.// previous pagination = const PaginationParams(limit: 30) // new limit = 30ChannelListViewpaginationproperty is now deprecated in favor oflimit.// previous pagination = const PaginationParams(limit: 30) // new limit = 30
🔄 Changed
UserListViewCorefilter property now has a default value.filter = const Filter.empty()
🐞 Fixed
- Fixed
MessageSearchListViewpagination. - Fixed
MessageWidgetattachment tap callbacks.
2.2.1 #
- Updated
stream_chat_flutter_coredependency to 2.2.1
2.2.0 #
✅ Added
- #516:
Added
StreamChatThemeData.placeholderUserImagefor building a widget when theUserAvatarimage is loading - Added a
backgroundColorproperty to the following widgets:ChannelHeaderChannelListHeaderGalleryHeaderGalleryFooterThreadHeader
- Added
MessageInput.attachmentLimitin order to limit the no. of attachments that can be sent with a single message. - Added
MessageInput.onAttachmentLimitExceedcallback which will be called when theattachmentLimitis exceeded. This will override the default error alert behaviour. - Added
MessageInput.attachmentButtonBuilderandMessageInput.commandButtonBuilderfor more customizations.
typedef ActionButtonBuilder = Widget Function(
BuildContext context,
IconButton defaultActionButton,
);
NOTE: The last parameter is the default
ActionButtonYou can call.copyWithto customize just a subset of properties.
- Added slow mode which allows a cooldown period after a user sends a message.
🔄 Changed
Theming has been upgraded! Most theme classes now have InheritedTheme classes associated with
them, and have been upgraded with some goodies like lerp functions. Here's the full naming
breakdown:
AvatarThemeis nowAvatarThemeDataChannelHeaderThemeis nowChannelHeaderThemeDataChannelListHeaderThemeis nowChannelListHeaderThemeDataChannelListViewThemeis nowChannelListViewThemeDataChannelPreviewThemeis nowChannelPreviewThemeDataMessageInputThemeis nowMessageInputThemeDataMessageListViewThemeis nowMessageListViewThemeMessageSearchListViewThemeis nowMessageSearchListViewThemeDataMessageThemeis nowMessageThemeDataUserListViewThemeis nowUserListViewThemeData
- Updated core dependency.
🐞 Fixed
- Fixed
MessageInputtextField case whereinputis not enabled if the file picked from the camera is null. - Fixed date dividers position/alignment in non reversed
MessageListView. - Fixed
MessageListViewnot opening to the right initialMessage ifStreamChannel.initialMessageIdis set. - Fixed null check errors when accessing
message.textinMessageWidgetandMessageListView; this occurred when sending a message with no text.
2.1.1 #
- Updated core dependency
2.1.0 #
✅ Added
- Added
MessageListView.paginationLimit MessageTextrenders message translation if available- Allow the various ListView widgets to be themed via ThemeData classes
- Added
bottomRowBuilderanddeletedBottomRowBuilderthat build a widget below aMessageWidget
🔄 Changed
StreamChat.of(context).useris now deprecated in favor ofStreamChat.of(context).currentUser.StreamChat.of(context).userStreamis now deprecated in favor ofStreamChat.of(context).currentUserStream.
🐞 Fixed
- Fix floating date divider not having a fixed size
2.0.0 #
🛑️ Breaking Changes from 1.5.4
-
Migrate this package to null safety
-
Renamed
ChannelImagetoChannelAvatar -
Updated
StreamChatThemeData.reactionIconsto accept custom builder -
Renamed
ColorThemeproperties to reflect the purpose of the colorsColorTheme.black->ColorTheme.textHighEmphasisColorTheme.grey->ColorTheme.textLowEmphasisColorTheme.greyGainsboro->ColorTheme.disabledColorTheme.greyWhisper->ColorTheme.bordersColorTheme.whiteSmoke->ColorTheme.inputBgColorTheme.whiteSnow->ColorTheme.appBgColorTheme.white->ColorTheme.barsBgColorTheme.blueAlice->ColorTheme.linkBgColorTheme.accentBlue->ColorTheme.accentPrimaryColorTheme.accentRed->ColorTheme.accentErrorColorTheme.accentGreen->ColorTheme.accentInfo
-
ChannelListCoreoptions property is removed in favor of individual propertiesoptions.state-> bool stateoptions.watch-> bool watchoptions.presence-> bool presence
-
UserListViewoptions property is removed in favor of individual propertiesoptions.presence-> bool presence
-
Renamed
ImageHeadertoGalleryHeader -
Renamed
ImageFootertoGalleryFooter -
MessageBuilderandParentMessageBuildersignature is now
typedef MessageBuilder = Widget Function(
BuildContext,
MessageDetails,
List<Message>,
MessageWidget defaultMessageWidget,
);
NOTE: the last parameter is the default
MessageWidgetYou can call.copyWithto customize just a subset of properties
✅ Added
- Added video compress options (frame and quality) to
MessageInput - TypingIndicator now has a property called
parentIdto show typing indicator specific to threads - #493: add support for messageListView header/footer
MessageWidgetaccepts auserAvatarBuilder- Added pinMessage ui support
- Added
MessageListView.threadSeparatorBuilderproperty - Added
MessageInput.onErrorproperty to allow error handling - Added
GalleryHeader/GalleryFootertheme classes
🐞 Fixed
- #483: Keyboard covers input text box when editing message
- Modals are shown using the nearest
Navigatorto make using the SDK easier in a nested navigator use case - #484: messages don't update without a reload
MessageListViewnot rendering if the user is not a member of the channel- Fix
MessageInputoverflow when there are no actions - Minor fixes and improvements
2.0.0-nullsafety.9 #
🛑️ Breaking Changes from 2.0.0-nullsafety.8
- Renamed
ColorThemeproperties to reflect the purpose of the colorsColorTheme.black->ColorTheme.textHighEmphasisColorTheme.grey->ColorTheme.textLowEmphasisColorTheme.greyGainsboro->ColorTheme.disabledColorTheme.greyWhisper->ColorTheme.bordersColorTheme.whiteSmoke->ColorTheme.inputBgColorTheme.whiteSnow->ColorTheme.appBgColorTheme.white->ColorTheme.barsBgColorTheme.blueAlice->ColorTheme.linkBgColorTheme.accentBlue->ColorTheme.accentPrimaryColorTheme.accentRed->ColorTheme.accentErrorColorTheme.accentGreen->ColorTheme.accentInfo
✅ Added
- Added video compress options (frame and quality) to
MessageInput
2.0.0-nullsafety.8 #
🛑️ Breaking Changes from 2.0.0-nullsafety.7
ChannelListCoreoptions property is removed in favor of individual propertiesoptions.state-> bool stateoptions.watch-> bool watchoptions.presence-> bool presence
UserListViewoptions property is removed in favor of individual propertiesoptions.presence-> bool presence
MessageBuilderandParentMessageBuildersignature is now
typedef MessageBuilder = Widget Function(
BuildContext,
MessageDetails,
List<Message>,
MessageWidget defaultMessageWidget,
);
NOTE: The last parameter is the default
MessageWidgetYou can call.copyWithto customize just a subset of properties.
✅ Added
- TypingIndicator now has a property called
parentIdto show typing indicator specific to threads - #493: add support for messageListView header/footer
MessageWidgetaccepts auserAvatarBuilder
🐞 Fixed
2.0.0-nullsafety.7 #
- Minor fixes and improvements
- Updated
stream_chat_coredependency - Fixed a bug with connectivity implementation
2.0.0-nullsafety.6 #
- Minor fixes and improvements
- Updated
stream_chat_coredependency - 🛑 BREAKING Updated StreamChatThemeData.reactionIcons to accept custom builder
2.0.0-nullsafety.5 #
- Minor fixes and improvements
- Updated
stream_chat_coredependency - Performance improvements
- Added pinMessage ui support
- Added
MessageListView.threadSeparatorBuilderproperty
2.0.0-nullsafety.4 #
- Minor fixes and improvements
- Updated
stream_chat_coredependency - Improved performance of
MessageWidgetcomponent
2.0.0-nullsafety.3 #
- Fix MessageInput overflow when there are no actions
2.0.0-nullsafety.2 #
- Migrate this package to null safety
1.5.4 #
- Updated
stream_chat_coredependency
1.5.3 #
- Updated
stream_chat_coredependency
1.5.2 #
- Fix accessibility text size overflows
- Updated Giphy attachment ui
- Minor fixes and improvements
1.5.1 #
- Fixed unread count not updating while the chat is open
1.5.0 #
- Fixed swipeable visible on navigation back
- Fixed video upload
MessageInput: added more actions locations, merge actions and addshowCommandsButtonproperty- 🛑 BREAKING Updated AttachmentBuilder signature
- Fixed image reloading on reaction.new
1.4.0-beta #
- Unfocus
MessageInputonly when sending commands - Updated default error for
MessageSearchListView - Show error messages as system and keep them in the message input
- Remove notification badge logic
- Use shimmer while loading images
- Polished
StreamChatThemeadding more options and a newMessageInputThemededicated toMessageInput - Add possibility to specify custom message actions using
MessageWidget.customActions - Added
MessageListView.onAttachmentTapcallback - Fixed message newline issue
- Fixed
MessageListViewscroll keyboard behaviour - Minor fixes and improvements
1.3.2-beta #
- Updated
stream_chat_coredependency - Fixed minor bugs
1.3.1-beta #
- Updated
stream_chat_coredependency - Fixed minor bugs
1.3.0-beta #
- Added
MessageInputTheme - Fixed overflow in
MessageInputanimation - Delete only image on imagegallery
- Close keyboard after sending a command
- Exposed
customAttachmentBuildersthroughMessageListView - Updated
stream_chat_coredependency
1.2.0-beta #
- Minor fixes
- Updated
stream_chat_coredependency
1.1.1-beta #
- Added MessageInput button color customization options
- Fixed author theme and messageinput background
1.1.0-beta #
- Update stream_chat_core dependency
- Expose common builders in ListView widgets
- Add support for asynchronous attachment upload while sending a message
- Fixed minor bugs
1.0.2-beta #
- Update stream_chat_core dependency
1.0.1-beta #
- Update stream_chat_core dependency
1.0.0-beta #
- Refreshed widgets design
- Improved API documentation
- Updated
stream_chatdependency to^1.0.0-beta - Extracted sample app into dedicated repository
- Re-implemented existing widgets
using
stream_chat_flutter_core
0.2.21 #
- Add
loadingBuilderinMessageListView - Add
messageFilterproperty inMessageListView
0.2.20+4 #
- Fix
channelPreviewwhen the message list is empty
0.2.20+3 #
- Fix reaction picker score indicator
0.2.20+2 #
- Added
shouldAddChannelto ChannelsBloc in order to check if a channel has to be added to the list when a new message arrives
0.2.20+1 #
- Fixed bug that caused video attachment to show the same preview
0.2.20 #
- Implement shadowban
0.2.19 #
- Updated llc dependency
- Added loading builder in channellistview
- Added sendButtonLocation and animationduration to messageinput
0.2.18 #
- Updated llc dependency
0.2.17+2 #
- Expose ChannelsBloc.channelsComparator to sort channels on message.new event
0.2.17+1 #
- Fix mention tap bug
0.2.17 #
- Expose messageInputDecoration as part of the theme
0.2.16 #
- Do not wrap channel preview builder. Users will have to implement they're custom onTap/onLongPress implementation
- Make public autofocus field of the TextField of message_input
0.2.15 #
- Add onLongPress on channel when using custom channel builder
0.2.14 #
- Add onMessageTap callbacks
0.2.13+2 #
- Add debounce to on change messageinput listener
0.2.13+1 #
- Use TextEditingController.addListener instead of TextField.onChanged
0.2.13 #
- Update llc dependency
- Send parent_id in typing events
- Expose addition input styling options
- Expose builder for empty channel state
0.2.12 #
- Upgrade dependencies
- Check if user.extraData['image'] is not null before using it
0.2.11+1 #
- Fix error with channel query while handling background notifications
0.2.11 #
- Update llc dependency
- Update widget to use
channel.state.unreadCountStream
0.2.10 #
- Update llc dependency
- Add
separatorBuildertoChannelListView
0.2.9+1 #
- Update llc dependency
- Minor bug fixes
0.2.9 #
- Update llc dependency
- Fix example to run on Flutter web
0.2.8+4 #
- fix: Auto capitalize the start of sentences in MessageInput
- Update dependencies
0.2.8+3 #
- Add simple example of channel creation in sample app
- Add back button to the full-screen video view
- Update llc version
0.2.8+2 #
- Add back button to the full-screen view
0.2.8+1 #
- Update LLC dependency
- Update file_picker dependency
0.2.8 #
- Update LLC dependency
0.2.7+2 #
- Fix channellistview loading when client is not initialized
- Update LLC dependency
0.2.7 #
- Update llc dependency
- Fixed a bug that made the SDK crash if it went to background while not connected
0.2.6+1 #
- Update llc dependency
0.2.6 #
- Add
pullToRefreshproperty toChannelListView - Add
onLinkTaptoMessageWidget
0.2.5 #
- Implement
didUpdateWidgetinChannelListViewto react to setState
0.2.4 #
- Update llc dependency
0.2.3 #
- Add
lockChannelsOrderparameter toChannelsBloc
0.2.2+3 #
-
Fix
ChannelListViewchannel hidden behaviour -
Refresh
ChannelListViewon new message from hidden channel
0.2.2+1 #
- Fix some components to implement a splitview example
0.2.2 #
- Add
messageLinksproperty toMessageThemeto customize links color
0.2.1+2 #
- Update llc dependency
0.2.1+1 #
- Update llc dependency
0.2.1 #
- Better ui components
- Add read indicators
- Add system messages
- Use llc 0.2
- Add
ChannelsBlocwidget to manage a list of channels with pagination
0.2.1-alpha+11 #
- Update llc dependency
0.2.1-alpha+10 #
- Update llc dependency
0.2.1-alpha+9 #
- Add read indicators
- Update llc dependency
0.2.1-alpha+8 #
- User queryMembers for mentions
0.2.1-alpha+7 #
- Update llc dependency
0.2.1-alpha+6 #
- Update llc dependency
- Minor bugfix
0.2.1-alpha+4 #
-
Update llc dependency
-
Add system messages
0.2.1-alpha+3 #
-
Update llc dependency
-
Fix hero tag generation for attachment
0.2.1-alpha+2 #
- Fixed reactions bubble going below other messages
- Updated llc dependency
0.2.1-alpha+1 #
- Removed the additional
NavigatorinStreamChatwidget. It was added to make the app have theStreamChatwidget as ancestor in every route. Now the recommended way to addStreamChatto your app is using thebuilderproperty of yourMaterialAppwidget. Otherwise you can use it in the usual way, but you need to add aStreamChatwidget to every route of your app. Read this issue for more information.
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData.light(),
darkTheme: ThemeData.dark(),
themeMode: ThemeMode.system,
builder: (context, widget) {
return StreamChat(
child: widget,
client: client,
);
},
home: ChannelListPage(),
);
}
-
Fix reaction bubble going below previous message on iOS
-
Fix message list view reloading messages even if the pagination is ended
0.2.1-alpha #
- New message widget
- Moved some properties from
MessageListViewtoMessageWidget - Added
MessageDetailsproperty toMessageBuilder - Added example to customize the message using
MessageWidget(customize_message_widget.dart)
0.2.0-alpha+15 #
- Add background color in StreamChatTheme
0.2.0-alpha+13 #
- Handle channel deleted event
0.2.0-alpha+11 #
- Fix message builder and add messageList to it
0.2.0-alpha+10 #
-
Add date divider builder
-
Fix reply indicator tap
0.2.0-alpha+9 #
- Add
attachmentBuilderstoMessageWidgetandMessageListView
0.2.0-alpha+7 #
- Update llc dependency
0.2.0-alpha+5 #
-
Remove dependencies on notification service
-
Expose some helping method for integrate offline storage with push notifications
0.2.0-alpha+3 #
- Fix overflow in mentions overlay
0.2.0-alpha+2 #
- Add better mime detection
0.2.0-alpha+1 #
- Fix video loading and error
0.2.0-alpha #
-
Offline storage
-
Push notifications
-
Minor bug fixes
0.1.20s #
- Add message configuration properties to MessageListView
0.1.19 #
-
Fix video aspect ratio
-
Add property to decide whether to enable video fullscreen
-
Add property to hide the attachment button
-
Do not show send button if an attachment is still uploading
-
Unfocus and disable the TextField before opening the camera (workaround for flutter/flutter#42417)
-
Add gesture (vertical drag down) to close the keyboard
-
Add keyboard type parameters (set it to TextInputType.text to show the submit button that will even close the keyboard)
The property showVideoFullScreen was added mainly because of this issue brianegan/chewie#261
0.1.18 #
- Add message list date separators
0.1.17 #
- Add dark theme
0.1.16 #
- Add possibility to show the other users username next to the message timestamp
0.1.15 #
- Fix MessageInput overflow
0.1.14 #
- Add automatic keep alive to streamchat
0.1.12 #
- Fix dependency error on iOS using flutter_form_builder
0.1.11 #
- Fix bug in ChannelPreview when list of messages is empty
0.1.10 #
- Do not automatically dispose Client object when disposing StreamChat widget
0.1.9 #
- Fix message ui overflow
0.1.8 #
- Bug fix
0.1.7 #
-
Add chat commands
-
Add edit message
0.1.6+4 #
- Add some documentation
0.1.5 #
- Fix channels pagination
0.1.4 #
- Fix message widget builder on reaction
0.1.3 #
- Fix upload attachment
0.1.2 #
- Fix avatar shape
0.1.1 #
- Add ThreadHeader
0.0.1 #
- First release