flutter_gb_messenger 3.1.0 copy "flutter_gb_messenger: ^3.1.0" to clipboard
flutter_gb_messenger: ^3.1.0 copied to clipboard

A comprehensive Flutter package for implementing messaging and chat functionality in GeekBears applications, providing customizable templates and BLoC-based state management.

3.1.0 #

  • Feature: Thread appUserId through the chat room list stack

    • appUserId is now accepted and forwarded across the entire chat room list chain: ChatRoomListTemplate → ChatRoomListTemplateBlocProvider → ChatRoomListTemplateBloc → ChatRoomListTemplateState This allows the bloc and state to be aware of the current user identity from the moment they are created, enabling per-user filtering and logic without relying on late injection. Files: chat_room_list_template.dart, messenger_bloc_providers.dart, chat_room_list_template_bloc.dart, chat_room_list_template_state.dart
  • Bug Fix: Duplicate message prevention

    • Both on send result and on external event received, the bloc now checks whether the incoming message id is already present in the list before inserting it. This prevents duplicates that could occur when a sent message is echoed back via the real-time event channel.
    • File: chat_room_view_template_container_bloc.dart
  • Bug Fix: getRoomMessages query params being overwritten

    • The URL builder for getRoomMessages was replacing all existing query parameters instead of merging them. Changed from {...params.toQueryParameters()} to {...url.queryParameters, ...params.toQueryParameters()} so base URL params are preserved.

3.0.0 #

  • Major version bump with dependency updates and breaking changes:
    • Upgrade Flutter SDK constraint to version 3.19.0.
    • Upgrade core internal dependencies: flutter_gb_stack_base (^5.5.0) and flutter_gb_ui_kit (^3.12.0).
    • Upgrade development dependencies: freezed (^3.2.0), build_runner (^2.7.1), and built_value_generator (^8.12.0).
    • Refactor BLoC state and event classes to be abstract as required by the latest Freezed version.
    • Update styles and imports for compatibility with newer package versions.

2.2.0 #

  • Update Flutter SDK to version 3.29.3 and enhance chat room functionality by adding support for external events. Implemented event handling for new messages and improved state management for message retrieval in chat room view.

2.1.1 #

  • Enhance chat room functionality by adding room loading logic and preventing duplicate message loading. Implemented widget update handling to change room ID dynamically. Improved state management for message retrieval in chat room view.

2.1.0 #

  • Refactor chat room message handling to support pagination and improve message loading logic. Updated event and state management for loading new and more messages, and removed deprecated properties. Enhanced message retrieval with optional parameters for filtering and sorting. Updated UI components for better message display and interaction.

2.0.0 #

  • Update chat room references from 'roomId' to 'chatRoomId' across multiple files for consistency and clarity. Bump flutter_gb_ui_kit dependency to version 2.11.0.

1.0.0 #

  • Major Refactor
    • Introduced new templates for chat room and message views.
    • Added configuration files for API endpoints and dialog settings.
    • Implemented service layer for messenger functionalities.
    • Removed deprecated messenger actor bloc and related templates.
    • Updated dependency injection and exports for cleaner structure.
    • Enhanced chat input and list item styles for better UI consistency.

0.12.0 #

  • Update compatibility with Flutter 3.22.x

0.11.0 #

  • Update compatibility with Flutter 3.19.x

0.10.2 #

  • Upgrade dependencies to allow flutter 3.13.0

0.9.1 #

  • Handle null last messages

0.9.0 #

  • Updated gb package references Use hosted ones

0.8.1 #

  • The following properties has been added to some classes:
    • EdgeInsetsGeometry contentPadding added to InputSectionProperties class in order to change the chat input padding.
    • AvatarProfile Function(ChatRoom? room)? chatAvatarBuilder added to ChatItemProperties class in order to build a custom chat item avatar.
    • AvatarProfile Function(User? user)? senderAvatarBuilder added to MessageItemProperties class in order to build a custom chat message avatar.
  • Updated dependencies

0.7.23 #

  • Added support for pull to refresh on chat list template

0.7.22 #

  • DateTime to local fixes
  • Update dependencies

0.7.20 #

  • Show text when there is no rooms or messages

0.7.19 #

  • Fix bug with the time when send a message
  • Changed DateTime UTC to local

0.7.18 #

  • Fix the null values, read messages automatically when the user receive a message inside the room, room item picture issue fixed

0.7.17 #

  • Fix issue when entering and leaving chat room

0.7.16 #

  • Added chat view polling logic

0.7.15 #

  • The class ChatRoom has new properties which provide us more information about the chatroom:
      /// It let us know who has created the room.
      User? get createdBy;
      /// This field contains a resource id and let us know if the chatroom belongs to something, i.e. the chatroom has been created after creating a League.
      String? get referenceResourceId;
      /// This field provide us the room type, i.e. `User` or `League`
      String? get referenceResourceType;
    

0.7.14 #

  • Updated dependencies

  • The field imageUrl has been converted into an entire model: Before

        class ChatRoom {
          String? get imageUrl;
        }
    

    Now

    class ChatRoom {
      @BuiltValueField(wireName: 'imageUrl')
      RoomImage? get image;
    }
    

    RoomImage contains the following data:

    abstract class RoomImage {
      @BuiltValueField(wireName: '_id')
      String get id;
      @BuiltValueField(wireName: '_resource')
      String get resourceId;
      String get resourceType;
      String get resourceProp;
      String get fileUrl;
      String get mimeType;
      BuiltList<String>? get thumbnails;
      DateTime? get createdAt;
      DateTime? get updatedAt;
    }
    

0.7.12 #

  • when is a group, show the user that sent the message, show message when the chat is empty

0.7.11 #

  • Upgrade dependencies

0.7.10 #

  • Fix issue with show user name when is a group chat

0.7.9 #

  • Added BuiltEntityIdRetroCompatibilityPlugin

0.7.8 #

  • Mark room as read implementation fix errors

0.7.7 #

  • Allow user to add a custom header widget to build in anything else inside the ChatListTemplate
  • Allow user to pass queries in order to customize the rooms that will be fetched to the getActiveRooms method
  • Other fixes

0.7.6 #

  • Replaced usage of singleWhere with firstWhere

0.7.5 #

  • Fix the issue of the chat list item, and exclude from the search action the app user

0.7.4 #

  • Small fix on ChatListView

0.7.2 #

  • Update dependencies
  • Replaced internal animated list from the one of UI Kit

0.7.1 #

  • Add space between message and the date
  • Allow to configure if slidable actions and message actions are shown or not
  • Implement send message to un-existing room

0.7.0 #

  • Send message impl
  • Search for a room inside the active room list
  • Updated dependencies
  • Support for flutter 3.3.x

0.6.7 #

  • Implement delete chat room with API

0.6.6 #

  • Changes in models
  • Changes in ChatTemplate
  • Changes in ChatListTemplate

0.6.5 #

  • Some linter error
  • Dependencies update
  • Add new properties to package customization and entities

0.6.3 #

  • Updated internal dependencies

0.0.2 #

  • Implementation of ChatListTemplate and ChatTemplate,
    • both templates allow customization using properties to adapt each part of the template to the app.

0.0.1 #

  • TODO: Describe initial release.
0
likes
130
points
31
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A comprehensive Flutter package for implementing messaging and chat functionality in GeekBears applications, providing customizable templates and BLoC-based state management.

Homepage

License

BSD-2-Clause (license)

Dependencies

bloc, built_collection, built_value, collection, dartz, flutter, flutter_bloc, flutter_gb_built_utils, flutter_gb_stack_base, flutter_gb_ui_kit, flutter_slidable, freezed_annotation, get_it, http, intl, logger, rxdart, sliver_tools

More

Packages that depend on flutter_gb_messenger