flutter_chat_io 2.2.0
flutter_chat_io: ^2.2.0 copied to clipboard
Live customer support for Flutter apps with Slack integration. Users chat in-app, your team responds in Slack.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.2.0 - 2024-12-06 #
Added #
- Web platform support - Package now fully supports Flutter Web
- WebSocket connections work across all platforms
- Image upload works on web using cross-platform file handling
- Device/browser info detection for web browsers
Changed #
- Replaced
IOWebSocketChannelwith platform-agnosticWebSocketChannel.connect() - Replaced
dart:ioFilewithXFilefromimage_pickerfor cross-platform compatibility - File uploads now use
readAsBytes()instead of file paths (works on web) - Device info detection now supports web browsers via
device_info_plus
Dependencies #
- Added
http_parser: ^4.0.0for multipart upload content type handling
Platforms #
- iOS
- Android
- Web (new)
2.1.0 - 2024-12-04 #
Added #
clientIdparameter inFlutterChatIO.initialize()method- Both
clientIdandclientTokenare now required for initialization - Get both credentials from the FlutterChatIO dashboard
- Both
clientIdgetter to access the configured client ID- Russian (ru) localization support
Changed #
isInitializednow checks for bothclientIdandclientToken- Converted
FlutterChatIOLocalizationsfrom class to enhanced enum for better code quality - Updated README documentation with correct version references
- Improved CHANGELOG with accurate API documentation
2.0.0 - 2024-12-04 #
Breaking Changes #
- Removed
locationanddeviceInfoparameters fromsetUserInfo()method- Device information is now automatically detected by the SDK
- Use
customDataparameter instead for any custom metadata
Added #
- Custom user data support via
customDataparameter inFlutterChatIO.setUserInfo()- Attach any key-value metadata to users (subscription tier, account type, etc.)
- Data is sent with each message and displayed in Slack user info card
- Accessible via
FlutterChatIO.userDatagetter - Cleared automatically when calling
FlutterChatIO.reset()
- Automatic device information detection - SDK now auto-detects device details (iOS/Android)
- Auto-localization support for 5 languages: English, Chinese, Spanish, Arabic, and Hindi
FlutterChatIOTheme.localized()factory constructor for automatic text translation based on localeFlutterChatIOLocalizationsclass with pre-defined translations for all supported languages- RTL (Right-to-Left) support for Arabic language
- New localizable theme properties:
statusOnline- Status message when chat is onlinestatusOffline- Status message when chat is offlinestatusConnecting- Status message when connectingcurrentUserName- Display name for current user (default: "You")systemUserName- Display name for system messages (default: "System")errorNotConnected- Error message when not connectederrorUploadFailed- Error message when upload failserrorLoadingHistory- Error message when loading history fails
Changed #
- App bar now always shows status subtitle (Online/Offline/Connecting) with localized text
- Error messages now use localizable theme properties instead of hardcoded strings
Removed #
offlineFormBlockedMessageproperty (input field is now hidden instead of showing a message)
1.1.0 - 2024-12-01 #
Fixed #
- Anonymous user ID now persists for the app session instead of regenerating on every access
- Message IDs now use UUID instead of predictable random integers
- Email validation now properly validates format (was accepting invalid emails like
@.) - Timestamp parsing for WebSocket messages now correctly uses milliseconds
Improved #
- Reconnection now uses exponential backoff (2s → 4s → 8s → 16s → 30s max) instead of fixed 2s delay
- WebSocket connection now includes 30-second ping interval for detecting stale connections
- HTTP history loading now uses
httppackage consistently (fixes potential resource leak) - Extracted content-type detection to reusable helper method
1.0.0 - 2024-11-28 #
Added #
- Initial release of FlutterChatIO SDK
FlutterChatIOChatwidget for displaying the chat interfaceFlutterChatIOclass for SDK initialization and configurationFlutterChatIOThemeclass for comprehensive theming- Real-time messaging via WebSocket
- Automatic reconnection on connection loss
- Message history loading from HTTP API
- Image attachment support with S3 upload
- Offline contact form for lead capture
- Connection status indicators (online, offline, connecting)
- Full documentation and dartdoc comments
- Example application
Features #
- Customizable app bar (color, title, subtitle)
- Customizable message bubbles (colors, text styles)
- Customizable status indicators (online, offline, connecting colors)
- Customizable input field (colors, keyboard appearance)
- Customizable empty state (title, subtitle, icon)
- Customizable offline form (all text content)
- Support for dark and light themes
- Localization support through text customization
- Self-hosted deployment support with custom endpoints
- User identification and session management
- Device info integration support
Platforms #
- iOS
- Android