Build chat applications with PubNub Chat SDK
97
72%
Does it follow best practices?
Impact
100%
1.14xAverage score across 20 eval scenarios
High
Do not use without reviewing
Message history pagination with getHistory, read receipts via setLastReadMessage, unread message counts via getUnreadMessagesCount, user memberships listing via getMemberships.
getHistory for messages
100%
100%
setLastReadMessage
88%
100%
getUnreadMessagesCount
85%
100%
getMemberships for channels
100%
100%
Latest message for read mark
100%
100%
Get-or-create user pattern before creating conversations, createDirectConversation with User object parameter, channel caching with deterministic keys.
Get before create user
100%
100%
User object to createDirect
100%
100%
Channel cache with Map
100%
100%
Deterministic cache key
50%
100%
channelData provided
0%
100%
Chat SDK initialization: import from @pubnub/chat, async Chat.init() factory, authKey (not token) for Access Manager, persistent userId, App Context prerequisite.
Import from @pubnub/chat
100%
100%
Async Chat.init factory
100%
100%
authKey not token
100%
100%
Persistent userId
100%
100%
App Context mentioned
0%
100%
Message reactions via toggleReaction with emoji name strings and reactions property, message threading via getThread/createThread/hasThread, thread.sendText for replies.
toggleReaction method
100%
100%
Reactions data structure
100%
100%
getThread for existing
100%
100%
hasThread check
100%
100%
thread.sendText for reply
100%
100%
createThread for new
66%
100%
Channel connect/disconnect for real-time messages, sendText for sending, cleanup subscriptions on unmount, typing indicators with startTyping/stopTyping/onTyping, debounced typing signals.
channel.connect for messages
100%
100%
channel.sendText to send
100%
100%
Unsubscribe in cleanup
100%
100%
Typing via onTyping
0%
100%
startTyping and stopTyping
100%
100%
Debounced typing signal
100%
100%