chat_app_flutter 0.1.5
chat_app_flutter: ^0.1.5 copied to clipboard
Flutter chat package for chat-app backend. Real-time messaging with WebSocket/STOMP.
0.1.5 #
- Add
DirectChatScreen— opens a DIRECT chat by the other user's id (find-or-create the room, then show the room). For "message from profile" flows. - Add
RoomByIdScreen— opens a chat byroomId(fetches the room, then shows it). For notification-tap flows. - Add
ApiService.createDirectRoom(otherUserId)andclearHistory(roomId). - Add
Room.otherUserId— the other participant in a DIRECT room (populated by the backend), used for profile navigation. - Add
ChatConfig.onUserProfileTap(externalId)— tapping a room-list avatar or the room app bar invokes this so the host app can navigate to the user's profile. - Add
ChatTheme.appBarBackgroundColor/appBarForegroundColor— lets the host brand the top app bar independently of tile/sheet surfaces. - Clear chat:
RoomListNotifier.clearHistoryremoves the room locally; the room list long-press menu gets a "delete chat" action. - Realtime: subscribe to a per-user channel so a new or previously-cleared conversation surfaces at the top without a manual refresh; add
silentRefresh. - Room list now sorts by last activity on every build so incoming messages move a room to the top reliably.
- STOMP client reconnects automatically (
reconnectDelay). - Dismiss the keyboard on message-list scroll.
0.1.4 #
- Add
ChatApp.activeRoomIdstatic getter — exposes the currently open room ID so host apps can suppress in-app notifications for the active room - Add
ChatApp.notificationColorstatic getter — exposes the chat theme primary color for custom notification UI outside the package - Fix:
catchErrorhandler in scroll listener now returns a value (lint warning) - Fix:
prefer_null_aware_operatorsinnotificationColorgetter
0.1.3 #
- Fix: remaining
.read()call on nullable_containerin image send flow
0.1.2 #
- Fix: "Tried to read a provider from a ProviderContainer that was already disposed" —
_containernulled before microtask fires, callbacks now null-safe - Fix:
muteRoomsent ISO-8601 strings but backend expects enum values (HOURS_1,HOURS_8,WEEK_1,INDEFINITE) — mapping added inApiService
0.1.1 #
- Fix: provider mutation in
dispose()caused "Tried to modify a provider while the widget tree was building" error — deferred viaFuture.microtask - Fix: typing indicator timer firing after widget disposal caused "Cannot use ref after widget was disposed" error — switched to
_containerreference
0.1.0 #
Initial public release.
- Real-time messaging via WebSocket (STOMP over SockJS)
- Room list with unread count badges, mute support, and pull-to-refresh
- Reply to messages with a quoted preview bar
- Emoji reactions (6 emojis) with long-press picker
- Photo sharing from gallery or camera with full-screen viewer
- Message actions: copy, reply, edit, delete (long-press)
- Push notification support via FCM (opt-in, no Firebase dependency in package)
- Typing indicators in room app bar
- JWT-based auth — host app issues the token, package consumes it
- Riverpod state management with a stable nested
ProviderScope ChatApp.initialize()/ChatApp.reset()API for easy integration