rasel_chatting_sdk 0.1.7
rasel_chatting_sdk: ^0.1.7 copied to clipboard
Flutter/Dart client for the Rasel Chatting SDK — REST API, WebSocket chat, groups, media, reactions, search, and push device registration.
0.1.7 #
- Hardened message list JSON parsing: tolerate numeric pagination fields,
non-boolean
hasMore/isDeleted, and attachments missingnameor with invalid shapes (skipped instead of failing the whole page).
0.1.6 #
- Added employer account support:
EMPLOYERusers can sign in vialogin(same endpoint as chat users) and access all tenant groups like tenant admins. ChatMessagenow exposessenderRealName— the actual staff sender name when the API maskssenderNameas"Admin"for end users.MessageSenderBadge.employer— employer messages use theemployerbadge; clients should treatemployerliketenant_adminfor end-user display.
0.1.5 #
TypingEventnow exposesuserRole(the typing user's role, e.g.USERfor tenant admins) so clients can label tenant-admin typing indicators distinctly.
0.1.4 #
AuthUsernow exposesavatarUrl(parsed from the server) plus acopyWithhelper, andAuthSessiongains acopyWithfor swapping the user.- Added
ChattingSdk.updateProfile(accessToken, avatarUrl: ..., name: ...)to update the current user's avatar and/or display name.avatarUrlis now optional: omit it to leave the avatar unchanged, or passnullto clear it. Refreshes the cachedsession. ChatMessagenow exposeseditedAtandisDeleted(deleted messages arrive as tombstones with empty content), andcopyWithcoverscontent,editedAt, andisDeleted.- Added message edit/delete:
ChattingSdk.editMessage(...)anddeleteMessage(...)(REST), plusChatSocket.editMessage(...)/deleteMessage(...)and anonMessageUpdatedlistener for real-time edit/delete (chat:message:update). - Added message reactions:
ChatMessage.reactions(aMessageReactionlist ofemoji+userIds),ChattingSdk.addReaction(...)/removeReaction(...)(REST), andChatSocket.reactMessage(...)/unreactMessage(...)for real-time delivery (reuses theonMessageUpdatedlistener). - Added
ChattingSdk.searchMessages(accessToken, groupId, query)for server-side, case-insensitive search within a conversation. - Added push notifications:
AuthUser.notificationsEnabled,ChattingSdk.updateProfile(..., notificationsEnabled: ...)to toggle the preference, andChattingSdk.registerDevice(accessToken, token, platform: ...)/unregisterDevice(accessToken, token)to register a device push token (fromfirebase_messagingor another provider) so the backend can notify offline users. - Added
AuthUser.bioandChatGroupMember.bio, plusChattingSdk.updateProfile(..., bio: ..., clearBio: true)to set or clear a profile bio (max 160 characters on the server).
0.1.3 #
MessageAttachmentnow exposeswidth,height,originalSize, andcompressedSize, plus anaspectRatiohelper so clients can render media at its true aspect ratio, and acopyWiththat preserves those dimensions when enriching an attachment (e.g. adding a thumbnail or duration).ChatMessagenow exposesclientMessageId(for optimistic-send reconciliation),senderEmail,senderAvatarUrl, andsenderBadge(tenant_admin/group_admin), and gains acopyWithhelper.- Added
ChattingSdk.getGroup(accessToken, groupId)to fetch a single group.
0.1.2 #
- Typing events now include optional sender display metadata (
userNameandavatarUrl) for richer typing indicators.
0.1.1 #
- File uploads now send a proper
Content-Type(inferred from the file extension) instead ofapplication/octet-stream. This lets the server correctly classify images, videos, audio, and PDFs and generate thumbnails (attachment.thumbnailUrl).
0.1.0 #
- Initial release on pub.dev as
rasel_chatting_sdk. - REST API client: auth, groups, messages, file upload.
- WebSocket real-time chat via
ChatSocket. - English and Arabic i18n support.