docs(android): thread subscription, pin & save messages, pin conversa… - #462
Conversation
…tions, and composer trailing buttons (SDK v5 + UI Kit)
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
… RN parity Verified every documented symbol against chat-sdk-android and uikit-android and brought the pages in line with the React Native counterpart (#493). Corrections — these APIs do not exist in the Android SDK: - CometChat.getThreadSubscriptionState() and the ThreadSubscriptionState enum - CometChat.addThreadListener(), ThreadListener, ThreadSubscriptionEvent, ThreadReplyEvent - MessageThread.getSubscriptionState() (it is isSubscribed()) Thread subscription is rewritten around the real model: the subscribe/ unsubscribe callback is the acknowledgement, state rides on the message via BaseMessage.isThreadSubscribed() with MessagesRequestBuilder.withThreadSubscribed() (default true), and setThreadSubscribed() is a local-only mirror. Replies arrive on the ordinary MessageListener. The Thread Listener section is removed from real-time-listeners and replaced with a note explaining why there is none. CometChatThreadEvent.SubscriptionChanged is (parentMessageId: Long, subscribed: Boolean) — not the subscriptionState/source signature documented. Pin permission is enforced by the server (ERR_PERMISSION_DENIED), not by a client-side Admin/Moderator/Owner gate; MessageOptionsUtils shows the option to every participant. Corrected in the SDK page, message-list and the guide. Parity with the React Native pages: - sidebarTitle/description frontmatter and an AI Integration Quick Reference accordion on the four new SDK pages - pin/save/pin-conversation caps via getPinMessageLimit(), getSystemPinMessageLimit(), getSaveMessageLimit(), getPinConversationLimit() and getSystemPinConversationLimit(), with Settings.LIMIT_UNSPECIFIED, replacing a hard-coded "100 by default" - isSystemPinned(), pin-time/save-time ordering and cursor notes, the moderation-pending ERR_MESSAGE_NO_ACCESS warning - error tables with the real codes, and Next Steps card groups Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Docs review (comment-only) — Android UI Kit pin/save pages. Ran the structural checks (redirect coverage, nav integrity, orphans, in-content link rot) plus a content read of the changed UI Kit pages. Build is safe: 0 unresolved nav refs, 0 missing redirects (additive), 0 orphans — the new Two content contradictions worth fixing before merge: 1. "Unsave" behavior is described two different ways
The guide and message-list agree (and it matches the Unpin behavior, which every page states asks for confirmation), so 2. Pin/Save event class name doesn't match the Events referenceThe AI Quick Reference blocks on the two panel pages use a class name that doesn't appear anywhere else:
The canonical name on the Events page ( Everything else on the UI Kit side — the enable-opt-in wording, cross-links, placeholders (none), and images (none) — checks out. |
Review feedback on #462 (raj-dubey1). 1. saved-messages: the Unsave row said a toast confirms the result, which contradicted the guide and message-list. CometChatSavedMessages routes the long-press Unsave through CometChatConfirmDialog in both the View and Compose kits ("unsave itself still needs a confirm"), so the panel page was the outlier. Reworded to confirmation-first, matching the Unpin flow. 2. Pin/save event class name: aligned, but toward CometChatMessageEvent rather than MessageEvent. There is no MessageEvent class in chatuikit-core — the sealed classes are CometChatMessageEvent, CometChatCallEvent, CometChatGroupEvent, CometChatUserEvent, CometChatConversationEvent, CometChatUIEvent and CometChatThreadEvent. The panel pages' quick-reference blocks were right; events.mdx was carrying a truncated name (and already used the full CometChatUIEvent for UI events). Corrected the Message Events section to the real names, including the subtypes: Sent/Edited/Deleted/Read are MessageSent/MessageEdited/ MessageDeleted/MessageRead, and InteractionGoalCompleted carries a receipt, not a message. Removed FormReceived, CardReceived, CustomInteractiveReceived and SchedulerReceived — none exist on the event bus. The Call, Group, User and Conversation sections carry the same truncated names and are left for a follow-up, being outside this PR's scope. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Follows raj-dubey1's review comment directly. 1. saved-messages: Unsave reworded to confirmation-first, matching the guide and message-list (unchanged from the previous commit). 2. Event class name: reverted events.mdx to its prior naming and aligned the two panel quick-reference blocks to MessageEvent.* instead, per the review comment. Note for the reviewer: chatuikit-core has no MessageEvent class — the sealed classes are CometChatMessageEvent, CometChatCallEvent, CometChatGroupEvent, CometChatUserEvent, CometChatConversationEvent, CometChatUIEvent and CometChatThreadEvent (events.mdx already uses the full name for UI events). Both pages now say MessageEvent.* consistently, as asked, but the name does not resolve against the source; worth a follow-up to correct events.mdx and the panel pages together. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Type of Change
Checklist
🤖 Generated with Claude Code