ebchat library

Classes

AcceptInviteResponse
Model response for Channel.acceptInvite api call
Action
The class that contains the information about an action
AddMembersResponse
Model response for Channel.addMembers api call
AnimatedCircleBorderPainter
A custom painter that animates a circle border or fills it based on a progress value.
AsyncCache<T>
Runs asynchronous functions and caches the result for a period of time.
AsyncMemoizer<T>
A class for running an asynchronous function exactly once and caching its result.
Attachment
The class that contains the information about an attachment
AttachmentAction
Defines a custom attachment action.
AttachmentActionsModal
Widget that shows the options in the gallery view
AttachmentError
Widget for building in case of error
AttachmentFile
The class that contains the information about an attachment file
AttachmentFileUploader
Class responsible for uploading images and files to a given channel
AttachmentModalSheet
The modalBottomSheet that appears when a mobile user attempts to add attachments to a chat.
AttachmentPickerOption
Model class for the attachment picker options.
BackOff<T>
Object holding options for retrying a function.
BetterStreamBuilder<T extends Object>
A more efficient StreamBuilder It requires initialData and will rebuild only when the new data is different than the current data The comparator is used to check if the new data is different
CallTokenPayload
The response to CallApi.getCallToken
CancelableCompleter<T>
A completer for a CancelableOperation.
CancelableOperation<T>
An asynchronous operation that can be cancelled.
CancelToken
Controls cancellation of Dio's requests.
Channel
Class that manages a specific channel.
ChannelClientState
The class that handles the state of the channel listening to the events.
ChannelConfig
The class that contains the information about the configuration of a channel
ChannelLastMessageDate
A widget that displays the channel last message date.
ChannelLastMessageText
A widget that displays the last message of a channel.
ChannelListTileSubtitle
A widget that displays the subtitle for StreamChannelListTile.
ChannelModel
The class that contains the information about a channel
ChannelMute
The class that contains the information about a muted channel
ChannelName
Displays the current Channel name using a Text widget.
ChannelPreview
screenshot screenshot
ChannelState
The class that contains the information about a channel
ChannelStateResponse
Model response for Channel.query api call
ChatPersistenceClient
A simple client used for persisting chat data locally.
ChatService
ChunkedStreamReader<T>
Utility class for reading elements from a chunked stream.
ClientState
The class that handles the state of the channel listening to the events
Command
The class that contains the information about a command
CompletedState
Represents the completed state of a message.
ConnectGuestUserResponse
Model response for StreamChatClient.connectGuestUser api call
Connectivity
Discover network connectivity configurations: Distinguish between WI-FI and cellular, check WI-FI status and more.
ConnectivityPlusLinuxPlugin
The Linux implementation of ConnectivityPlatform.
CreateCallPayload
The response to CallApi.createCall
CurrentPlatform
Utility class that provides information on the current platform
Debounce
Creates a debounced function that delays invoking func until after wait milliseconds have elapsed since the last time the debounced function was invoked. The debounced function comes with a Debounce.cancel method to cancel delayed func invocations and a Debounce.flush method to immediately invoke them. Provide leading and/or trailing to indicate whether func should be invoked on the leading and/or trailing edge of the wait interval. The func is invoked with the last arguments provided to the call function. Subsequent calls to the debounced function return the result of the last func invocation.
DefaultTranslations
Default implementation of Translation strings for the stream chat widgets
DelegatingEventSink<T>
Simple delegating wrapper around an EventSink.
DelegatingFuture<T>
A wrapper that forwards calls to a Future.
DelegatingSink<T>
Simple delegating wrapper around a Sink.
DelegatingStream<T>
Simple delegating wrapper around a Stream.
DelegatingStreamConsumer<T>
Simple delegating wrapper around a StreamConsumer.
DelegatingStreamSink<T>
Simple delegating wrapper around a StreamSink.
DelegatingStreamSubscription<T>
Simple delegating wrapper around a StreamSubscription.
Deleted
Deleting
DeletingFailed
Device
The class that contains the information about a device
EBChatService
EBChatWidget
EditMessageSheet
Allows a user to edit the selected message.
Effect
Effect store
EmptyResponse
Model response for empty responses
EndOfFrameCallbackWidget
A widget that calls the given callback when the end of the frame is reached.
ErrorAlertSheet
A bottom sheet that displays when an error occurs.
ErrorResponse
Model response for StreamChatNetworkError data
ErrorResult
A result representing a thrown error.
Event
The class that contains the information about an event
EventChannel
The channel embedded in the event object
EventSinkBase<T>
An abstract class that implements EventSink in terms of onAdd, onError, and onClose methods.
EventType
This class defines some basic event types
Failed
FailedState
Represents the failed state of a message.
Filter
Stream supports a limited set of filters for querying channels, users and members. The example below shows how to filter for channels of type messaging where the current user is a member
FutureGroup<T>
A collection of futures waits until all added Futures complete.
GalleryNavigationItem
A widget for desktop and web users to be able to navigate left and right through a gallery of images.
GetMessageResponse
Model response for StreamChatClient.getMessage api call
GetMessagesByIdResponse
Model response for Channel.getMessagesById api call
InProgress
Interceptor
Interceptor helps to deal with RequestOptions, Response, and DioException during the lifecycle of a request before it reaches users.
InterceptorsWrapper
A helper class to create interceptors in ease.
InviteMembersResponse
Model response for Channel.inviteMembers api call
IOSinkBase
An abstract class that implements dart:io's IOSink's API in terms of onAdd, onError, onClose, and onFlush methods.
Jiffy
Jiffy is a Flutter (Android, IOS and Web) date time package inspired by momentjs for parsing, manipulating, querying and formatting dates
KeyboardShortcutRunner
A widget that executes functions when specific physical keyboard shortcuts are performed.
KeyStrokeHandler
A class that manages buffering typing events and call onTypingStarted and onTypingStopped accordingly in a timed manner.
LazyLoadScrollView
Wrapper around a Scrollable which triggers onEndOfPage/onStartOfPage the Scrollable reaches to the start or end of the view extent.
LazyStream<T>
A Stream wrapper that forwards to another Stream that's initialized lazily.
Level
Levels to control logging output. Logging can be enabled to include all levels above certain Level. Levels are ordered using an integer value Level.value. The predefined Level constants below are sorted as follows (in descending order): Level.SHOUT, Level.SEVERE, Level.WARNING, Level.INFO, Level.CONFIG, Level.FINE, Level.FINER, Level.FINEST, and Level.ALL.
ListDevicesResponse
Model response for StreamChatClient.getDevices api call
Logger
Use a Logger to log debug messages.
LoggingInterceptor
Interceptor dedicated to logging
LogRecord
A log entry representation used to propagate information from Logger to individual handlers.
MediaThumbnailProvider
Builds a thumbnail using ImageProvider.
Member
The class that contains the information about the user membership in a channel
Message
The class that contains the information about a message.
MessageCompleted
MessageDetails
Class for message details
MessageFailed
MessageInitial
MessageInputFileAttachments
Widget used to display the list of file type attachments added to the message input.
MessageInputMediaAttachments
Widget used to display the list of media type attachments added to the message input.
MessageInputMediaAttachmentThumbnail
A widget that displays a thumbnail for a media attachment.
MessageListController
Controller used for paginating data in ChannelListView
MessageListCore
MessageListCore is a simplified class that allows fetching a list of messages while exposing UI builders.
MessageOutgoing
MessageSearchListTileTitle
A widget that displays the title of a StreamMessageSearchListTile.
MessageSearchTileMessageDate
A widget which shows formatted created date of the passed message.
MessageState
Represents the various states a message can be in.
MessageTextFieldController
Controller for the StreamTextField widget.
MultipartFile
A file to be uploaded as part of a MultipartRequest. This doesn't need to correspond to a physical file.
Mute
The class that contains the information about a muted user
NullStreamSink<T>
A StreamSink that discards all events.
Offset4
Class for storing and drawing four points of a polygon.
OGAttachmentPreview
Preview of an Open Graph attachment.
OGAttachmentResponse
Model response for Client.enrichUrl api call.
OptionDrawer
A widget that will be shown in the attachment picker. It can be used to show a custom view for each attachment picker option.
Options
The configuration for a single request. BaseOptions and Options will be merged into one RequestOptions before sending the requests. See Options.compose.
OutgoingState
Represents the state of an outgoing message.
OwnUser
The class that defines the own user model.
PagedValue<Key, Value>
Paged value that can be used with PagedValueNotifier.
PagedValueGridView<K, V>
A GridView that loads more pages when the user scrolls to the end of the grid.
PagedValueListView<K, V>
A ListView that loads more pages when the user scrolls to the end of the list.
PagedValueNotifier<Key, Value>
A PagedValueNotifier that uses a PagedListenable to load data.
PaginationParams
Pagination options.
ParseAttachments
Parses the attachments of a StreamMessageWidget.
PartialUpdateChannelResponse
Model response for Channel.updatePartial api call
PartialUpdateUserRequest
Request model for the client.partialUpdateUser api call.
PermissionType
Describes capabilities of a user vis-a-vis a channel
PolygonGradientPainter
Painter for bg polygon gradient
Preparing
QueryBannedUsersResponse
Model response for StreamChatClient.queryBannedUsers api call
QueryChannelsResponse
Model response for StreamChatClient.queryChannels api call
QueryMembersResponse
Model response for StreamChatClient.queryChannels api call
QueryReactionsResponse
Model response for channel.getReactions api call
QueryRepliesResponse
Model response for Channel.getReplies api call
QueryUsersResponse
Model response for StreamChatClient.queryUsers api call
QuotedMessage
A quoted message in a chat.
Reaction
The class that defines a reaction
Read
The class that defines a read event
RejectInviteResponse
Model response for Channel.rejectInvite api call
RemoveAttachmentButton
Material Button used for removing attachments.
RemoveMembersResponse
Model response for Channel.removeMembers api call
RequestOptions
The internal request option class that is the eventual result after BaseOptions and Options are composed.
RestartableTimer
A non-periodic timer that can be restarted any number of times.
Result<T>
The result of a computation.
ResultFuture<T>
A Future wrapper that provides synchronous access to the result of the wrapped Future once it's completed.
SearchMessagesResponse
Model response for StreamChatClient.search api call
SendActionResponse
Model response for Channel.sendAction api call
SendAttachmentResponse
Base Model response for Channel.sendImage and Channel.sendFile api call.
SendFileResponse
Model response for Channel.sendFile api call
Sending
SendingFailed
SendMessageResponse
Model response for Channel.sendMessage api call
SendReactionResponse
Model response for Channel.sendReaction api call
Sent
SingleSubscriptionTransformer<S, T>
A transformer that converts a broadcast stream into a single-subscription stream.
SortOption<T>
Sorting options
StreamAttachmentFileUploader
Stream's default implementation of AttachmentFileUploader
StreamAttachmentHandler
Stub implementation of StreamAttachmentHandlerBase.
StreamAttachmentPackage
The StreamAttachmentPackage class is basically meant to wrap individual attachments with their corresponding message
StreamAttachmentPickerController
Controller class for StreamAttachmentPicker.
StreamAttachmentTitle
Title for attachments
StreamAttachmentUploadStateBuilder
Widget to display attachment upload state
StreamAutocomplete
A widget that provides a text field with autocomplete functionality.
StreamAutocompleteOptions<T extends Object>
A helper widget used to show the options of a StreamAutocomplete.
StreamAutocompleteQuery
The query to determine the autocomplete options.
StreamAutocompleteTrigger
The class responsible for triggering autocomplete suggestions and displaying the options.
StreamAvatarThemeData
A style that overrides the default appearance of various avatar widgets.
StreamBackButton
A custom back button implementation
StreamChannel
Widget used to provide information about the channel to the widget tree
StreamChannelAvatar
screenshot screenshot
StreamChannelGridTile
A widget that displays a user.
StreamChannelGridView
A GridView that shows a grid of Users, it uses StreamChannelGridTile as a default item.
StreamChannelHeader
screenshot screenshot
StreamChannelHeaderTheme
Overrides the default style of ChannelHeader descendants.
StreamChannelHeaderThemeData
A style that overrides the default appearance of ChannelHeaders when used with StreamChannelHeaderTheme or with the overall StreamChatTheme's StreamChatThemeData.channelHeaderTheme.
StreamChannelInfo
Displays information about the current Channel.
StreamChannelInfoBottomSheet
A BottomSheet that shows information about a Channel.
StreamChannelListController
A controller for a Channel list.
StreamChannelListEventHandler
Contains handlers that are called from StreamChannelListController for certain Events.
StreamChannelListHeader
Shows the current StreamChatClient status.
StreamChannelListHeaderTheme
Overrides the default style of ChannelListHeader descendants.
StreamChannelListHeaderThemeData
Theme dedicated to the ChannelListHeader
StreamChannelListSeparator
A widget that is used to display a separator between StreamChannelListTile items.
StreamChannelListTile
A widget that displays a channel preview.
StreamChannelListView
A ListView that shows a list of Channels, it uses StreamChannelListTile as a default item.
StreamChannelName
It shows the current Channel name using a Text widget.
StreamChannelPreviewTheme
Overrides the default style of ChannelPreview descendants.
StreamChannelPreviewThemeData
A style that overrides the default appearance of ChannelPreviews when used with StreamChannelPreviewTheme or with the overall StreamChatTheme's StreamChatThemeData.channelPreviewTheme.
StreamChannelState
StreamChat
Widget used to provide information about the chat to the widget tree
StreamChatApi
ApiClient that wraps every other specific api
StreamChatClient
The official Dart client for Stream Chat, a service for building chat applications. This library can be used on any Dart project and on both mobile and web apps with Flutter.
StreamChatConfiguration
Inherited widget providing the StreamChatConfigurationData to the widget tree
StreamChatConfigurationData
Provides global, user-configurable, non-theme related configuration options to Flutter applications that use Stream Chat.
StreamChatCore
Widget used to provide information about the chat to the widget tree. This Widget is used to react to life cycle changes and system updates. When the app goes into the background, the websocket connection is kept alive for two minutes before being terminated.
StreamChatCoreState
State class associated with StreamChatCore.
StreamChatLocalizations
Defines the localized resource values used by the StreamChatFlutter widgets.
StreamChatState
The current state of the StreamChat widget
StreamChatTheme
Inherited widget providing the StreamChatThemeData to the widget tree
StreamChatThemeData
Theme data for Stream Chat
StreamCloser<T>
A StreamTransformer that allows the caller to forcibly close the transformed Stream.
StreamColorTheme
Theme that holds colors
StreamCommandAutocompleteOptions
Overlay for displaying commands that can be used to interact with the channel.
StreamCompleter<T>
A single-subscription stream where the contents are provided later.
StreamConnectionStatusBuilder
A widget that builds itself based on the latest snapshot of interaction with a Stream of type ConnectionStatus.
StreamCountdownButton
Button for showing visual component of slow mode.
StreamDateDivider
Shows a date divider depending on the date difference
StreamDeletedMessage
Displays that a message was deleted at this position in the message list.
StreamFileAttachment
Displays file attachments that have been sent in a chat.
StreamFullScreenMedia
A full screen image widget
StreamFullScreenMediaBuilder
A wrapper widget for conditionally providing the proper StreamFullScreenMedia widget when writing an application that targets all available Flutter platforms (Android, iOS, macOS, Windows, Linux, & Web).
StreamGalleryFooter
Footer widget for media display
StreamGalleryFooterTheme
Overrides the default style of GalleryFooter descendants.
StreamGalleryFooterThemeData
A style that overrides the default appearance of GalleryFooters when used with StreamGalleryFooterTheme or with the overall StreamChatTheme's StreamChatThemeData.galleryFooterTheme.
StreamGalleryHeader
Header/AppBar widget for media display screen {@endtemplate}
StreamGalleryHeaderTheme
Overrides the default style of GalleryHeader descendants.
StreamGalleryHeaderThemeData
A style that overrides the default appearance of GalleryHeaders when used with StreamGalleryHeaderTheme or with the overall StreamChatTheme's StreamChatThemeData.galleryHeaderTheme.
StreamGiphyAttachment
Shows a GIF attachment in a StreamMessageWidget.
StreamGradientAvatar
Fallback user avatar with a polygon gradient overlaid with text
StreamGroup<T>
A collection of streams whose events are unified and sent through a central stream.
StreamGroupAvatar
Widget for constructing a group of images
StreamIconThemeSvgIcon
Alternative of StreamSvgIcon which follows the IconTheme.
StreamImageAttachment
Shows an image attachment in a StreamMessageWidget.
StreamImageGroup
Constructs a group of image attachments in a StreamMessageWidget.
StreamInfoTile
Displays a message. Often used to display connection status.
StreamMemberGridView
A GridView that shows a grid of Members, it uses StreamMemberGridTile as a default item.
StreamMemberListController
A controller for a member list.
StreamMemberListView
A ListView that shows a list of Members, it uses StreamMemberListTile as a default item.
StreamMentionAutocompleteOptions
Overlay for displaying users that can be mentioned.
StreamMessageAction
Class describing a message action
StreamMessageInput
Inactive state:
StreamMessageInputAttachmentList
Widget used to display the list of attachments added to the message input.
StreamMessageInputController
Controller for storing and mutating a Message value.
StreamMessageInputState
State of StreamMessageInput
StreamMessageInputTheme
Overrides the default style of MessageInput descendants.
StreamMessageInputThemeData
A style that overrides the default appearance of MessageInput widgets when used with StreamMessageInputTheme or with the overall StreamChatTheme's StreamChatThemeData.messageInputTheme.
StreamMessageListView
screenshot screenshot
StreamMessageListViewTheme
Overrides the default style of MessageListView descendants.
StreamMessageListViewThemeData
A style that overrides the default appearance of MessageListViews when used with StreamMessageListViewTheme or with the overall StreamChatTheme's StreamChatThemeData.messageListViewTheme.
StreamMessagePreviewText
A widget that renders a preview of the message text.
StreamMessageSearchGridView
A GridView that shows a grid of GetMessageResponses, it uses StreamMessageSearchGridTile as a default item.
StreamMessageSearchListController
A controller for a user list.
StreamMessageSearchListSeparator
A widget that is used to display a separator between StreamMessageSearchListTile items.
StreamMessageSearchListTile
A widget that displays a message search item.
StreamMessageSearchListView
A ListView that shows a list of GetMessageResponses, it uses StreamMessageSearchListTile as a default item.
StreamMessageSendButton
A widget that displays a sending button.
StreamMessageText
The text content of a message.
StreamMessageTextField
A widget the wraps the TextField and adds some StreamChat specifics.
StreamMessageThemeData
Class for getting message theme
StreamMessageWidget
screenshot screenshot
StreamMobileAttachmentPickerBottomSheet
Bottom sheet widget for the mobile version of the attachment picker.
StreamNeumorphicButton
Neumorphic button
StreamOptionListTile
List tile for ChannelBottomSheet
StreamPhotoGallery
Widget used to display a gallery of photos in the form of grid.
StreamPhotoGalleryController
StreamPhotoGalleryTile
Widget that displays a photo or video item from the gallery.
StreamPlatformAttachmentPickerBottomSheetBuilder
Builds the attachment picker bottom sheet.
StreamQueue<T>
An asynchronous pull-based interface for accessing stream events.
StreamQueueTransaction<T>
A transaction on a StreamQueue, created by StreamQueue.startTransaction.
StreamReactionIcon
Reaction icon data
StreamReactionPicker
screenshot screenshot
StreamRestorableMessageInputController
A RestorableProperty that knows how to store and restore a StreamMessageInputController.
StreamScrollViewEmptyWidget
A widget that shows an empty view when the StreamScrollView loads empty data.
StreamSendingIndicator
Shows the sending status of a message.
StreamSinkBase<T>
An abstract class that implements StreamSink in terms of onAdd, onError, and onClose methods.
StreamSinkCompleter<T>
A sink where the destination is provided later.
StreamSinkTransformer<S, T>
A StreamSinkTransformer transforms the events being passed to a sink.
StreamSplitter<T>
A class that splits a single source stream into an arbitrary number of (single-subscription) streams (called "branch") that emit the same events.
StreamSvgIcon
Icon set of stream chat
StreamSystemMessage
StreamTextTheme
Class for holding text theme
StreamThreadHeader
screenshot screenshot
StreamTypingIndicator
Shows the list of user who are actively typing.
StreamUnreadIndicator
Shows an unread indicator for a message.
StreamUploadProgressIndicator
Shows the upload progress of an attachment.
StreamUrlAttachment
Displays a URL attachment in a StreamMessageWidget.
StreamUserAvatar
Displays a user's avatar.
StreamUserGridTile
A widget that displays a user.
StreamUserGridView
A GridView that shows a grid of Users, it uses StreamUserGridTile as a default item.
StreamUserItem
Shows a preview of the current User.
StreamUserListController
A controller for a user list.
StreamUserListSeparator
A widget that is used to display a separator between StreamUserListTile items.
StreamUserListTile
A widget that displays a user.
StreamUserListView
A ListView that shows a list of Users, it uses StreamUserListTile as a default item.
StreamUserMentionTile
Shows user tiles for mentions.
StreamVideoAttachment
Shows a video attachment in a StreamMessageWidget.
StreamVideoThumbnailImage
Displays a video thumbnail for video attachments.
StreamVisibleFootnote
Informs the user about a StreamMessageWidget's visibility to the current user.
StreamWebOrDesktopAttachmentPickerBottomSheet
Bottom sheet widget for the web or desktop version of the attachment picker.
StreamZip<T>
A stream that combines the values of other streams.
SubscriptionStream<T>
A Stream adapter for a StreamSubscription.
Success
Swipeable
A widget that can be swiped in a specified direction.
SwipeUpdateDetails
Details for DismissUpdateCallback.
SyncResponse
Model response for StreamChatClient.sync api call
TextBubble
The bubble around a StreamMessageText.
TextInputType
The type of information for which to optimize the text input control.
Throttle
Creates a throttled function that only invokes func at most once per every wait milliseconds. The throttled function comes with a Throttle.cancel method to cancel delayed func invocations and a Throttle.flush method to immediately invoke them. Provide leading and/or trailing to indicate whether func should be invoked on the leading and/or trailing edge of the wait timeout. The func is invoked with the last arguments provided to the throttled function. Subsequent calls to the throttled function return the result of the last func invocation.
ThumbnailSize
The dimensions of the thumbnail data for an AssetEntity.
TranslateMessageResponse
Model response for StreamChatClient.queryChannels api call
UpdateChannelResponse
Model response for Channel.update api call
Updated
UpdateMessageResponse
Model response for StreamChatClient.updateMessage api call
UpdateUsersResponse
Model response for StreamChatClient.updateUser api call
Updating
UpdatingFailed
UploadState
Union class to hold various UploadState of a attachment.
User
Class that defines a Stream Chat User.
UserLastActive
A widget that displays a user's last active time.
Uuid
uuid for Dart Author: Yulian Kuncheff Released under MIT License.
UuidValue
ValueResult<T>
A result representing a returned value.
VideoPackage
Class for packaging up things required for videos
WebOrDesktopAttachmentPickerOption
The attachment picker option for the web or desktop platforms.
WrapAttachmentWidget
Wraps attachment widget with custom shape

Enums

ActionsLocation
Location for actions on the StreamMessageInput.
AttachmentPickerType
The possible picker types of the attachment picker.
AttachmentSource
Enum for identifying type of attachment
ChatErrorCode
Complete list of errors that are returned by the API together with the description and API code.
ConnectionStatus
Used to notify the WS connection status
ConnectivityResult
Connection status check result.
DefaultAttachmentTypes
Default attachments for widget.
DioExceptionType
The exception enumeration indicates what type of exception has happened during requests.
DisplayWidget
The display behaviour of a widget
HintType
Different types of hints that can be shown in StreamMessageInput.
InterceptStep
Step where we're logging
MessageSendingStatus
Enum defining the status of a sending message.
OptionsAlignment
Positions the AutocompleteTrigger options around the TextField or TextFormField that triggered the autocomplete.
PlatformType
Possible platforms
PushProvider
Provider used to send push notifications.
QueryDirection
Specifies query direction for pagination
ReturnActionType
Return action for coming back from pages
SendButtonLocation
Available locations for the sendMessage button relative to the textField.
SmartDashesType
Indicates how to handle the intelligent replacement of dashes in text input.
SmartQuotesType
Indicates how to handle the intelligent replacement of quotes in text input.
SpacingType
Spacing Types (These are properties of a message to help inform the decision of how much space / which widget to build after it)
StartOfWeek
SwipeDirection
The direction in which a Swipeable can be swiped.
TextCapitalization
Configures how the platform keyboard will select an uppercase or lowercase keyboard.
TextInputAction
An action the user has requested the text input control to perform.
ThumbnailFormat
Which format the thumbnail should be, generally support JPG and PNG.
Unit
ValidationMode

Extensions

AttachmentPackagesX on Message
An easy way to handle attachment related operations on a message
AttachmentPickerOptionTypeX on StreamAttachmentPickerController
Helpful extensions for StreamAttachmentPickerController.
AttachmentPickerTypeX on AttachmentPickerType
Useful extensions on AttachmentPickerType
BackOffExtension on FutureOr<T> Function()
Useful rate limiter extensions for Function class.
BuildContextX on BuildContext
Gets text scale factor through context
ChatErrorCodeX on ChatErrorCode
ChunkedStreamReaderByteStreamExt on ChunkedStreamReader<int>
Extensions for using ChunkedStreamReader with byte-streams.
FileTypeX on FileType
Useful extensions on FileType
FlipBorder on BorderRadius
Extension on BorderRadius
IconButtonX on IconButton
Extension on IconButton
InputDecorationX on InputDecoration
Extension on InputDecoration
IterableExtension on Iterable<T>
List extension
IterableX on Iterable<T?>
Useful extension functions for Iterable
MapX on Map<K?, V?>
Useful extension functions for Map
MessageStateX on MessageState
Helper extension for MessageState.
MessageX on Message
Extensions on Message
PlatformFileX on PlatformFile
Useful extension for PlatformFile
RateLimit on Function
Useful rate limiter extensions for Function class.
StreamExtensions on Stream<T>
Utility extensions on Stream.
StreamSinkExtensions on StreamSink<T>
Extensions on StreamSink to make stream transformations more fluent.
StreamSvgIconX on StreamSvgIcon
Useful extensions on StreamSvgIcon.
StringExtension on String
String extension
StringX on String
Useful extension functions for String
TypeX on T?
Extensions on generic type T
UriX on Uri
Extensions on Uri
UserListX on List<User>
Extensions on List
XFileX on XFile
Useful extension for XFile

Constants

colorGradients → const List<List<Color>>
Gradient list for polygons
defaultChannelGridViewDelegate → const SliverGridDelegateWithFixedCrossAxisCount
Default grid delegate for StreamChannelGridView.
defaultChannelPagedLimit → const int
The default channel page limit to load.
defaultMemberGridViewDelegate → const SliverGridDelegateWithFixedCrossAxisCount
Default grid delegate for StreamMemberGridView.
defaultMemberPagedLimit → const int
The default channel page limit to load.
defaultMessageSearchGridViewDelegate → const SliverGridDelegateWithFixedCrossAxisCount
Default grid delegate for StreamMessageSearchGridView.
defaultMessageSearchPagedLimit → const int
The default channel page limit to load.
defaultStreamPhotoGalleryDelegate → const SliverGridDelegateWithFixedCrossAxisCount
Default grid delegate for StreamPhotoGallery.
defaultUserGridViewDelegate → const SliverGridDelegateWithFixedCrossAxisCount
Default grid delegate for StreamUserGridView.
defaultUserPagedLimit → const int
The default channel page limit to load.
incomingTypingStartEventTimeout → const int
The maximum time the incoming Event.typingStart event is valid before a Event.typingStop event is emitted automatically.
kDefaultMaxAttachmentCount → const int
The default maximum number of media attachments.
kDefaultMaxAttachmentSize → const int
The default maximum size for media attachments.
kPortalMessageListViewLabel → const _PortalMessageListViewLabel
PortalLabel that refers to StreamMessageListView

Properties

isDesktopDevice → bool
Returns true if the app is running in a desktop device.
no setter
isDesktopDeviceOrWeb → bool
Returns true if the app is running in a desktop or web.
no setter
isDesktopVideoPlayerSupported → bool
Returns true if the app is running on windows or linux platform.
no setter
isMobileDevice → bool
Returns true if the app is running in a mobile device.
no setter
isMobileDeviceOrWeb → bool
Returns true if the app is running in a mobile or web.
no setter
isTestEnvironment → bool
Returns true if the app is running in a flutter test environment.
no setter
isWeb → bool
Returns true if the app is running on web.
no setter

Functions

backOff<T>(FutureOr<T> func(), {Duration delayFactor = const Duration(milliseconds: 200), double randomizationFactor = 0.25, Duration maxDelay = const Duration(seconds: 30), int maxAttempts = 8, FutureOr<bool> retryIf(Object error, int attempt)?}) → Future<T>
TopLevel lambda to apply BackOff to functions.
chatErrorCodeFromCode(int code) → ChatErrorCode?
collectBytes(Stream<List<int>> source) → Future<Uint8List>
Collects an asynchronous sequence of byte lists into a single list of bytes.
collectBytesCancelable(Stream<List<int>> source) → CancelableOperation<Uint8List>
Collects an asynchronous sequence of byte lists into a single list of bytes.
debounce(Function func, Duration wait, {bool leading = false, bool trailing = true, Duration? maxWait}) → Debounce
TopLevel lambda to create Debounce functions.
defaultChannelListViewSeparatorBuilder(BuildContext context, List<Channel> items, int index) → Widget
Default separator builder for StreamChannelListView.
defaultMemberListViewSeparatorBuilder(BuildContext context, List<Member> members, int index) → Widget
Default separator builder for StreamMemberListView.
defaultMessageFilter(String currentUserId) → bool Function(Message)
Default filter for the message list
defaultMessageSearchListViewSeparatorBuilder(BuildContext context, List<GetMessageResponse> responses, int index) → Widget
Default separator builder for StreamMessageSearchListView.
defaultUserListViewSeparatorBuilder(BuildContext context, List<User> users, int index) → Widget
Default separator builder for StreamUserListView.
fileSize(dynamic size, [int round = 2]) → String
A method returns a human readable string representing a file _size
getEffectiveCenterTitle(ThemeData theme, {bool? centerTitle, List<Widget>? actions}) → bool
Get centerTitle considering a default and platform specific behaviour
getFileTypeImage(String? mimeType) → StreamSvgIcon
getRandomPicUrl(User user) → String
Get random png with initials
getWebsiteName(String hostName) → String?
Get websiteName from hostName
launchURL(BuildContext context, String url) → Future<void>
Launch URL
levenshtein(String s, String t, {bool caseSensitive = true}) → int
Levenshtein algorithm implementation based on: http://en.wikipedia.org/wiki/Levenshtein_distance#Iterative_with_two_matrix_rows
mobileAttachmentPickerBuilder({required BuildContext context, required StreamAttachmentPickerController controller, Iterable<AttachmentPickerOption>? customOptions, List<AttachmentPickerType> allowedTypes = AttachmentPickerType.values, ThumbnailSize attachmentThumbnailSize = const ThumbnailSize(400, 400), ThumbnailFormat attachmentThumbnailFormat = ThumbnailFormat.jpeg, int attachmentThumbnailQuality = 100, double attachmentThumbnailScale = 1, ErrorListener? onError}) → Widget
Returns the mobile version of the attachment picker.
runInPermissionRequestLock<T>(FutureOr<T> computation(), {Duration? timeout}) → Future<T>
Executes computation when _permissionRequestLock is available.
showChannelInfoBottomSheet<T>({required BuildContext context, required Channel channel, Color? backgroundColor, double? elevation, BoxConstraints? constraints, AnimationController? transitionAnimationController, Clip? clipBehavior = Clip.hardEdge, ShapeBorder? shape = _kDefaultChannelInfoBottomSheetShape, void onMemberTap(Member)?, VoidCallback? onViewInfoTap, VoidCallback? onLeaveChannelTap, VoidCallback? onDeleteConversationTap, VoidCallback? onCancelTap}) → PersistentBottomSheetController
Shows a material design bottom sheet in the nearest Scaffold ancestor. If you wish to show a persistent bottom sheet, use Scaffold.bottomSheet.
showChannelInfoModalBottomSheet<T>({required BuildContext context, required Channel channel, Color? backgroundColor, double? elevation, BoxConstraints? constraints, Color? barrierColor, bool isScrollControlled = true, bool useRootNavigator = false, bool isDismissible = true, bool enableDrag = true, RouteSettings? routeSettings, AnimationController? transitionAnimationController, Clip? clipBehavior = Clip.hardEdge, ShapeBorder? shape = _kDefaultChannelInfoBottomSheetShape, void onMemberTap(Member)?, VoidCallback? onViewInfoTap, VoidCallback? onLeaveChannelTap, VoidCallback? onDeleteConversationTap, VoidCallback? onCancelTap}) → Future<T?>
Shows a modal material design bottom sheet.
showConfirmationBottomSheet(BuildContext context, {required String title, required String okText, Widget? icon, String? question, String? cancelText}) → Future<bool?>
Shows confirmation bottom sheet
showConfirmationDialog(BuildContext context, {required String title, required String okText, Widget? icon, String? question, String? cancelText}) → Future<bool?>
Shows confirmation dialog
showInfoBottomSheet(BuildContext context, {required String title, required String okText, Widget? icon, String? details, StreamChatThemeData? theme}) → Future<bool?>
Shows info bottom sheet
showInfoDialog(BuildContext context, {required String title, required String okText, Widget? icon, String? details, StreamChatThemeData? theme}) → Future<bool?>
Shows info dialog
showStreamAttachmentPickerModalBottomSheet<T>({required BuildContext context, Iterable<AttachmentPickerOption>? customOptions, List<AttachmentPickerType> allowedTypes = AttachmentPickerType.values, List<Attachment>? initialAttachments, StreamAttachmentPickerController? controller, ErrorListener? onError, Color? backgroundColor, double? elevation, BoxConstraints? constraints, Color? barrierColor, bool isScrollControlled = false, bool useRootNavigator = false, bool isDismissible = true, bool enableDrag = true, RouteSettings? routeSettings, AnimationController? transitionAnimationController, Clip? clipBehavior = Clip.hardEdge, ShapeBorder? shape, ThumbnailSize attachmentThumbnailSize = const ThumbnailSize(400, 400), ThumbnailFormat attachmentThumbnailFormat = ThumbnailFormat.jpeg, int attachmentThumbnailQuality = 100, double attachmentThumbnailScale = 1}) → Future<T?>
Shows a modal material design bottom sheet.
subscriptionTransformer<T>({Future handleCancel(StreamSubscription<T>)?, void handlePause(StreamSubscription<T>)?, void handleResume(StreamSubscription<T>)?}) → StreamTransformer<T, T>
Creates a StreamTransformer that modifies the behavior of subscriptions to a stream.
throttle(Function func, Duration wait, {bool leading = true, bool trailing = true}) → Throttle
TopLevel lambda to create Throttle functions.
typedStreamTransformer<S, T>(StreamTransformer transformer) → StreamTransformer<S, T>
Creates a wrapper that coerces the type of transformer.
webOrDesktopAttachmentPickerBuilder({required BuildContext context, required StreamAttachmentPickerController controller, Iterable<WebOrDesktopAttachmentPickerOption>? customOptions, List<AttachmentPickerType> allowedTypes = AttachmentPickerType.values, ThumbnailSize attachmentThumbnailSize = const ThumbnailSize(400, 400), ThumbnailFormat attachmentThumbnailFormat = ThumbnailFormat.jpeg, int attachmentThumbnailQuality = 100, double attachmentThumbnailScale = 1, ErrorListener? onError}) → Widget
Returns the web or desktop version of the attachment picker.
wrapAttachmentWidget(BuildContext context, Widget attachmentWidget, ShapeBorder attachmentShape, bool reverse) → Widget
Wraps attachment widget with custom shape

Typedefs

AttachmentActionsBuilder = Widget Function(BuildContext context, Attachment attachment, AttachmentActionsModal defaultActionsModal)
A widget builder for representing the actions a user can take on an attachment.
AttachmentBuilder = Widget Function(BuildContext, Message, List<Attachment>)
A widget builder for representing attachments.
AttachmentButtonBuilder = Widget Function(BuildContext context, AttachmentButton attachmentButton)
A widget builder for building a custom action button.
AttachmentDownloader = Future<String> Function(Attachment attachment, {CancelToken? cancelToken, bool deleteOnError, ProgressCallback? onReceiveProgress, Options? options, Map<String, dynamic>? queryParameters})
A callback for downloading an attachment asset. Callback to download an attachment asset
AttachmentFileUploaderProvider = AttachmentFileUploader Function(StreamHttpClient httpClient)
Signature for a function which provides instance of AttachmentFileUploader
AttachmentItemBuilder = Widget Function(BuildContext context, Attachment attachment, ValueSetter<Attachment>? onRemovePressed)
WidgetBuilder used to build the message input attachment item.
AttachmentLimitExceedListener = void Function(int limit, String error)
A callback that can be passed to StreamMessageInput.onAttachmentLimitExceed.
AttachmentListBuilder = Widget Function(BuildContext context, List<Attachment> attachments, ValueSetter<Attachment>? onRemovePressed)
WidgetBuilder used to build the message input attachment list.
AttachmentPickerOptionViewBuilder = Widget Function(BuildContext context, StreamAttachmentPickerController controller)
Function signature for building the attachment picker option view.
AttachmentThumbnailBuilder = Widget Function(BuildContext, Attachment)
A widget builder for representing attachment thumbnails.
BackgroundWidgetBuilder = Widget Function(BuildContext context, SwipeUpdateDetails details)
Signature for a function that builds a widget given the progress of the dismissing action.
ChannelInfoCallback = void Function(Channel)
The action to perform when a particular channel slidable option is tapped or clicked.
ChannelListHeaderTitleBuilder = Widget Function(BuildContext context, ConnectionStatus status, StreamChatClient client)
A widget builder for custom ChannelListHeader title widgets.
ChannelPreviewBuilder = Widget Function(BuildContext, Channel)
Builder used to create a custom ChannelPreview for a Channel
ChannelTapCallback = void Function(Channel, Widget?)
The action to perform when a channel is tapped or clicked.
CommandButtonBuilder = Widget Function(BuildContext context, CommandButton commandButton)
A widget builder for building a custom action button.
DownloadedPathCallback = void Function(String? path)
Callback to receive the path once the attachment asset is downloaded
EditMessageInputBuilder = Widget Function(BuildContext, Message)
Widget builder for edit message layout
EndOfFrameCallback = FutureOr<void> Function(BuildContext context)
Function signature for a callback that is called when the end of the frame is reached.
EndOfFrameCallbackErrorWidgetBuilder = Widget Function(BuildContext context, Object error, StackTrace? stackTrace)
Signature used by EndOfFrameCallbackWidget.errorBuilder to create a replacement widget to render.
ErrorBuilder = Widget Function(BuildContext context, Object error)
A signature for a callback which exposes an error and returns a function. This Callback can be used in cases where an API failure occurs and the widget is unable to render data.
ErrorListener = void Function(Object error, StackTrace? stackTrace)
A callback that can be passed to StreamMessageInput.onError.
ErrorWidgetBuilder = Widget Function(BuildContext context, Object error, StackTrace? stackTrace)
Signature used by StreamChannel.errorBuilder to create a replacement widget for an error that occurs while asynchronously building the channel.
EventHandler = void Function(Event event)
A Signature for a handler function which will expose a event.
FailedBuilder = Widget Function(BuildContext, String)
A widget builder for representing failed attachment uploads.
HintGetter = String? Function(BuildContext context, HintType type)
Function that returns the hint text for StreamMessageInput based on type.
InProgressBuilder = Widget Function(BuildContext, int, int)
A widget builder for representing in-progress attachment uploads.
KeyEventPredicate = bool Function(FocusNode, KeyEvent)
Callback called to react to a key event
LogHandlerFunction = void Function(LogRecord record)
Handler function used for logging records. Function requires a single LogRecord as the only parameter.
LogPrint = void Function(InterceptStep step, Object object)
Function used to print the log
MentionTileBuilder = Widget Function(BuildContext context, Member member)
A widget builder for representing a custom mention tile. {@endtemplate}
MentionTileOverlayBuilder = Widget Function(BuildContext context, User user)
A widget builder for representing a custom mention tile within a UserMentionsOverlay.
MessageBuilder = Widget Function(BuildContext, MessageDetails, List<Message>, StreamMessageWidget defaultMessageWidget)
A widget builder for creating custom message UI.
MessageRelatedBuilder = Widget Function(BuildContext context, StreamMessageInputController messageInputController)
Widget builder for widgets that may require data from the MessageInputController.
MessageSearchItemBuilder = Widget Function(BuildContext, GetMessageResponse)
A widget builder used to create a custom ListUserItem from a User.
MessageSearchItemTapCallback = void Function(GetMessageResponse)
The action to perform when tapping or clicking on a user in a MessageSearchListView.
MessageValidator = bool Function(Message message)
A function that returns true if the message is valid and can be sent.
NetworkManagerClientFactory = NetworkManagerClient Function()
OgPreviewFilter = bool Function(Uri matchedUri, String messageText)
Signature for the function that determines if a matchedUri should be previewed as an OG Attachment.
OnAttachmentTap = VoidCallback
The action to perform when the attachment is tapped or clicked.
OnImageGroupAttachmentTap = void Function(Message message, Attachment attachment)
The action to perform when a specific image attachment in an ImageGroup is tapped or clicked.
OnMessageSwiped = void Function(Message)
The action to perform when a message is swiped.
OnMessageTap = void Function(Message)
The action to perform when a message is tapped.
OnMessageWidgetAttachmentTap = void Function(Message message, Attachment attachment)
The action to perform when an attachment in an StreamMessageWidget is tapped or clicked.
OnQuotedMessageTap = void Function(String?)
The action to perform when a quoted message is tapped.
OnReactionsHover = void Function(bool isHovering)
The action to perform when a message's reactions are hovered.
OnReactionsTap = void Function(Message)
The action to perform when a message's reactions are tapped.
OnScrollToBottom = dynamic Function(int unreadCount)
The action to perform when the "scroll to bottom" button is pressed within a MessageListView.
OnUserAvatarPress = void Function(User)
The action to perform when a user's avatar is tapped, clicked, or long-pressed.
OnWebOrDesktopAttachmentPickerOptionTap = void Function(BuildContext context, StreamAttachmentPickerController controller, WebOrDesktopAttachmentPickerOption option)
Function signature for the callback when the web or desktop attachment picker option gets tapped.
PagedValueListenableBuilder<Key, Value> = ValueListenableBuilder<PagedValue<Key, Value>>
Value listenable for paged data.
PagedValueScrollViewIndexedWidgetBuilder<T> = Widget Function(BuildContext context, List<T> values, int index)
Signature for a function that creates a widget for a given index, e.g., in a PagedValueListView and PagedValueGridView.
PagedValueScrollViewLoadMoreErrorBuilder = Widget Function(BuildContext context, StreamChatError error)
Signature for the item builder that creates the children of the PagedValueListView and PagedValueGridView.
ParentMessageBuilder = Widget Function(BuildContext, Message?, StreamMessageWidget defaultMessageWidget)
A widget builder for creating custom parent message UI.
PlaceholderUserImage = Widget Function(BuildContext, User)
A widget builder that will build placeholder user images while loading a user image.
PreparingBuilder = WidgetBuilder
A widget builder for representing pre-upload attachment state.
ProgressCallback = void Function(int count, int total)
The type of a progress listening callback when sending or receiving data.
QuotedMessageAttachmentThumbnailBuilder = Widget Function(BuildContext, Attachment)
A widget builder for building a custom quoted message attachment thumbnail.
ReactionIconBuilder = Widget Function(BuildContext context, bool isHighlighted, double iconSize)
Signature for a function that builds a reaction icon.
ReplyMessageCallback = void Function(Message message)
The action to perform when "reply message" is tapped
SendImageResponse = SendAttachmentResponse
Model response for Channel.sendImage api call
ShowMessageCallback = void Function(Message message, Channel channel)
The action to perform when "reply message" is tapped
SpacingWidgetBuilder = Widget Function(BuildContext context, List<SpacingType> spacingTypes)
A widget builder for creating certain spacing after widgets.
StreamAutocompleteFieldViewBuilder = Widget Function(BuildContext context, StreamMessageEditingController messageEditingController, FocusNode focusNode)
The type of the Autocomplete callback which returns the widget that contains the input TextField or TextFormField.
StreamAutocompleteOptionsViewBuilder = Widget Function(BuildContext context, StreamAutocompleteQuery autocompleteQuery, StreamMessageEditingController messageEditingController)
The type of the StreamAutocompleteTrigger callback which returns a Widget that displays the specified options.
StreamChannelGridViewIndexedWidgetBuilder = StreamScrollViewIndexedWidgetBuilder<Channel, StreamChannelGridTile>
Signature for the item builder that creates the children of the StreamChannelGridView.
StreamChannelListViewIndexedWidgetBuilder = StreamScrollViewIndexedWidgetBuilder<Channel, StreamChannelListTile>
Signature for the item builder that creates the children of the StreamChannelListView.
StreamGroupAvatarBuilder = Widget Function(BuildContext context, List<Member> members, bool isSelected)
WidgetBuilder for StreamGroupAvatar.
StreamMemberGridTile = StreamUserGridTile
Signature for the member grid tile, currently equal to StreamUserGridTile.
StreamMemberGridViewIndexedWidgetBuilder = StreamScrollViewIndexedWidgetBuilder<Member, StreamMemberGridTile>
Signature for the item builder that creates the children of the StreamMemberGridView.
StreamMemberListTile = StreamUserListTile
Signature for the member grid tile, currently equal to StreamUserListTile.
StreamMemberListViewIndexedWidgetBuilder = StreamScrollViewIndexedWidgetBuilder<Member, StreamUserListTile>
Signature for the item builder that creates the children of the StreamMemberListView.
StreamMessageEditingController = StreamMessageInputController
Controller for storing and mutating a Message value.
StreamMessageSearchGridViewIndexedWidgetBuilder = PagedValueScrollViewIndexedWidgetBuilder<GetMessageResponse>
Signature for the item builder that creates the children of the StreamMessageSearchGridView.
StreamMessageSearchListViewIndexedWidgetBuilder = StreamScrollViewIndexedWidgetBuilder<GetMessageResponse, StreamMessageSearchListTile>
Signature for the item builder that creates the children of the StreamMessageSearchListView.
StreamMessageValueListenableBuilder = ValueListenableBuilder<Message>
A value listenable builder related to a Message.
StreamPhotoGalleryIndexedWidgetBuilder = StreamScrollViewIndexedWidgetBuilder<AssetEntity, StreamPhotoGalleryTile>
Signature for the item builder that creates the children of the StreamPhotoGallery.
StreamScrollViewIndexedWidgetBuilder<ItemType, WidgetType extends Widget> = Widget Function(BuildContext context, List<ItemType> items, int index, WidgetType defaultWidget)
Signature for a function that creates a widget for a given index, e.g., in a list, grid.
StreamUserAvatarBuilder = Widget Function(BuildContext context, User user, bool isSelected)
WidgetBuilder for StreamUserAvatar.
StreamUserGridViewIndexedWidgetBuilder = StreamScrollViewIndexedWidgetBuilder<User, StreamUserGridTile>
Signature for the item builder that creates the children of the StreamUserGridView.
StreamUserListViewIndexedWidgetBuilder = StreamScrollViewIndexedWidgetBuilder<User, StreamUserListTile>
Signature for the item builder that creates the children of the StreamUserListView.
SuccessBuilder = WidgetBuilder
A widget builder for representing successful attachment uploads.
SwipeDirectionCallback = void Function(SwipeDirection direction)
Signature used by swipeable to indicate that it has been swiped in the given direction.
SystemMessageBuilder = Widget Function(BuildContext, Message)
A widget builder for creating custom system messages.
TextStyleBuilder = TextStyle? Function(BuildContext context, String text)
A function that takes a BuildContext and returns a TextStyle.
ThreadBuilder = Widget Function(BuildContext context, Message? parent)
A widget builder for creating custom thread UI.
ThreadTapCallback = void Function(Message, Widget?)
The action to perform when threads are tapped.
UserItemBuilder = Widget Function(BuildContext, User, bool)
Builder used to create a custom ListUserItem from a User
UserMentionTileBuilder = Widget Function(BuildContext context, User user)
A builder function for representing a custom user mention tile.
UserTapCallback = void Function(User, Widget?)
Callback called when tapping on a user
ViewInfoCallback = void Function(Channel)
Callback for when 'View Info' is tapped

Exceptions / Errors

DioException
DioException describes the exception info when a request failed.
StreamChatError
StreamChatNetworkError
StreamWebSocketError