flutter_chat_core 0.0.11
flutter_chat_core: ^0.0.11 copied to clipboard
Core package for Flutter chat apps, complementing flutter_chat_ui. Contains models and core functionality. #chat #ui
0.0.11 #
⚠️ Breaking changes ⚠️
- Rename
inputBuilder
tocomposerBuilder
0.0.10 #
⚠️ Breaking changes ⚠️
- Requires Freezed 3.0.0
- Replace
status
field with a computed getter that determines message state based on lifecycle timestamps (createdAt
,deletedAt
,sending
,failedAt
,sentAt
,deliveredAt
,seenAt
,updatedAt
). This enables granular message history tracking and status transitions, matching the behavior of popular chat applications. - Rename
overlay
tohasOverlay
inImageMessage
Other changes
- Downgrade
intl
package version for better compatibility with other Flutter packages
0.0.9 #
- Added system message for displaying system notifications and events in chat
0.0.8 #
- Add
UserCache
class to store resolved users for synchronous access, preventing flickering in recycled widgets by caching user data with LRU eviction strategy - Add
ScrollToMessageMixin
to enable programmatic scrolling in chat list:scrollToMessage(messageId)
: Scrolls to a specific message by IDscrollToIndex(index)
: Scrolls to a message at a specific index- Both methods support customizable animation duration, curve, alignment and offset
- Can be used directly through any
ChatController
instance - See the pagination example in the example project for usage details
- Add validation to prevent duplicate message IDs
0.0.7 #
- Require Flutter 3.29 and Dart 3.7
0.0.6 #
⚠️ Breaking changes ⚠️
- Changed signature of
chatMessageBuilder
to includeisRemoved
andgroupStatus
parameters. - Changed
imageUrl
toimageSource
for theUser
model. Change is necessary to show that not only remote URLs are supported but also local assets.
0.0.5 #
⚠️ Breaking changes ⚠️
🔄 Core Changes:
author
(typeUser
) is replaced withauthorId
(typeString
) for simpler user management- All
DateTime
properties now use milliseconds instead of microseconds for JSON serialization
🎨 Theme Simplification: Theme has been streamlined to 3 key parameters:
colors
- Uses Material 3 semantic names (e.g.primary
,onPrimary
,secondary
) making it easy to apply color schemestypography
- Follows Flutter'sTextTheme
semantic naming conventionsshape
- Controls border radius of all messages (rounded vs square messages)
✨ Enhanced Customization:
- Individual widget customization available through the
builders
parameter - Example:
loadMoreBuilder: (context) => LoadMore(color: Colors.red)
overrides theme colors - Full widget customization possible by returning custom widgets from builders
0.0.4 #
- Added
isOnlyEmoji
parameter toTextMessage
. - Message builders now include the message index in their parameters.
- Reverted
withValues
towithOpacity
to resolve a compatibility issue.
0.0.3 #
- Added
customMessageBuilder
for building custom messages - Added
overlay
parameter toImageMessage
- Themes:
- Added
ImageMessageTheme
(replacingimagePlaceholderColor
) - Updated
InputTheme
(addingtextFieldColor
) - Updated
ScrollToBottomTheme
- Updated
TextMessageTheme
- Added
- Added
UploadProgressMixin
for handling upload progress tracking
0.0.2 #
- Bump version to support flutter_chat_ui v2 alpha release
0.0.1 #
- Initial release