Skip to content

feat(thread-sub-pin-save-toolbar-react): add documentation for thread subscription, pin/save messages, pin conversation and toolbarTrailingView prop + Custom formatter guide in react v7 uikit docs - #464

Open
PrajwalDhuleCC wants to merge 4 commits into
mainfrom
feature/react-thread-subscription-pin-save

Conversation

@PrajwalDhuleCC

@PrajwalDhuleCC PrajwalDhuleCC commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Description

Docs: Pin & Save, Thread Subscription, and Composer Toolbar Trailing View
Documents three v7 features across the React UI Kit docs, plus the toolbarTrailingView composer slot and a custom text-formatter guide.

New pages
components/pinned-messages.mdx — CometChatPinnedMessages (per-conversation pins, opened from the message header).
components/saved-messages.mdx — CometChatSavedMessages (personal, cross-conversation; standalone screen with no built-in trigger).
guide-pin-and-save-messages.mdx — end-to-end pin/save walkthrough.
guide-custom-text-formatter.mdx — minimal color formatter bound to a toolbarTrailingView button, rendered read-only in bubbles.
Updated pages
message-composer — toolbarTrailingView (View Props + Props + example).
message-list — hidePin/Unpin/Save/Unsave/ThreadSubscriptionOption + a "Pin and Save Options" section.
conversations — hidePinConversation, a "Pin Conversation" section (pin indicator, limits, system pins), and the ui:conversation/pin-changed event.
message-bubble — pinned/saved indicators (chrome table, section, CSS selectors).
message-header — onPinnedMessagesClicked / hidePinnedMessagesOption.
thread-header — subscription bell (hideThreadSubscriptionToggle, onThreadSubscriptionChange).
event-system — SDK events (message/pinned|unpinned|saved|unsaved, thread/subscription-changed) and UI events (ui:message/pin-changed, ui:message/save-changed, ui:conversation/pin-changed, ui:thread/subscription-changed).
core-features — "Pin and Save Messages" section + the features.ux.* limit settings.
components-overview — pinned/saved components.
guide-threaded-messages — "Thread Subscription" section.
docs.json — registered the new pages.

Related Issue(s)

Type of Change

  • Documentation correction/update
  • New documentation
  • Improvement to existing documentation
  • Typo fix
  • Other (please specify)

Checklist

  • I have read the CONTRIBUTING document
  • My branch name follows the naming convention
  • My changes follow the documentation style guide
  • I have checked for spelling and grammar errors
  • [] All links in my changes are valid and working
  • My changes are accurately described in this pull request

Additional Information

Screenshots (if applicable)

… subscription, pin/save messages, pin conversation and toolbarTrailingView prop + Custom formatter guide in react v7 uikit docs
@mintlify

mintlify Bot commented Aug 8, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
cometchat 🟢 Ready View Preview Aug 8, 2026, 3:45 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

…beds and css selectors for pin-save and thread subscription feature in react v7 uikit
raj-dubey1
raj-dubey1 previously approved these changes Aug 10, 2026
…op in message list, deprecation of parentMessageId, events list updates and permission error toasts for pin msg
@raj-dubey1

Copy link
Copy Markdown
Contributor

Docs review — ⚠️ Request changes (hold until the APIs ship + one fix needed regardless)

Thanks for this! Reviewed the branch end-to-end (structural checks + verified every component/prop/event against the published UI Kit). Structurally it's clean and build-safe, but most of the pin/save/thread-subscription surface documents components and props that don't exist in any published version of @cometchat/chat-uikit-react, so if this merges to main today those pages (and the two guides) won't compile for readers.

✅ What passed

  • Build-safe: 0 dangling nav refs, 0 orphaned pages, 0 broken in-content links, 0 missing redirects.
  • Genuinely correct content: the multi-attachment composer additions (enableMultipleAttachments, .cometchat-message-composer__tray ships in the CSS), the text-formatter base classes (CometChatTextFormatter, CometChatMentionsFormatter, CometChatMarkdownFormatter, CometChatUrlFormatter), and the event-hook APIs (useCometChatEvents, usePublishEvent) are all real in 7.1.0.

🔴 Blocker — documented components/props/events don't exist in any published UI Kit

Verified against @cometchat/chat-uikit-react@7.1.0 (= npm latest; every prerelease tag — beta/alpha/legacy — points to an older build, so nothing unreleased-and-ahead could contain these). Checked the bundled dist/index.d.ts, the runtime chunk, and the shipped dist/*.css. Grep returns zero matches for all of the following (real symbols like CometChatMessageComposer match fine):

  • Two whole components don't exist: CometChatPinnedMessages and CometChatSavedMessages — not in the export list, no CSS. This makes pinned-messages.mdx, saved-messages.mdx, and guide-pin-and-save-messages.mdx document non-existent components. guide-custom-text-formatter.mdx also imports CometChatPinnedMessages.
  • toolbarTrailingView doesn't exist on the MessageComposer (0 occurrences). Both message-composer.mdx and the entire payoff of guide-custom-text-formatter.mdx depend on it — the guide won't compile.
  • All pin/save/subscription props are absent across message-list / message-header / conversations / thread-header: hidePinMessageOption, hideUnpinMessageOption, hideSaveMessageOption, hideUnsaveMessageOption, hideThreadSubscriptionOption, hidePinConversation, onPinnedMessagesClicked, hidePinnedMessagesOption, hideThreadSubscriptionToggle, onThreadSubscriptionChange.
  • Fabricated events in event-system.mdx: SDK events message/pinned|unpinned|saved|unsaved and UI events ui:message/pin-changed, ui:message/save-changed, ui:conversation/pin-changed, ui:thread/subscription-changed aren't in the event union.
  • CSS selectors for the pinned/saved bubble indicators and conversations__item-pin-indicator aren't in any shipped stylesheet.

🟠 Separately — a factual error to fix regardless of release timing

message-list.mdx marks parentMessageId as "Deprecated — pass parentMessage instead" (lines 35–38 and 756–758) and documents parentMessage: CometChat.BaseMessage as a MessageList prop. In shipped 7.1.0 this is inverted: MessageList's real prop is parentMessageId (current, not deprecated), and parentMessage exists only on ThreadHeader — it is not a MessageList prop. As written this would send every threaded-messages integrator to a prop that doesn't exist and away from the one that does. Please correct this even if the pin/save pages are held.

Ask

If these document an upcoming UI Kit release: hold/gate this PR until that version ships, pin the install/examples to it, and re-verify the exact component/prop names against the shipped build before publishing. Linking the UI Kit version/PR here would let us confirm quickly. The parentMessage/parentMessageId item should be fixed regardless.

🤖 Automated docs-PR review (structural script + API verification against the published package). Flagging for a human to confirm the release timing.

Thread subscription
- Add an "Automatic subscription" section to the threaded-messages guide:
  sending a message subscribes you to its thread, sending a reply subscribes
  you to the parent, and being @mentioned in a reply subscribes you — the
  trigger is always your own send, across devices, mirrored to every surface
  whether or not the thread panel is open.
- Document useThreadSubscription's onChange argument and the read-only
  useThreadSubscriptionState hook.
- Correct thread-header: it emits ui:thread/subscription-changed (was
  documented as emitting nothing).
- List the subscription mirror in message-list's emitted events.

Pin & save
- Add a "Custom UI" section to the pin/save guide: the SDK calls and the
  ui: events to publish when driving pin/save from a custom UI.
- Add brief permission/limit notes to the pinned-messages and saved-messages
  component pages.

Event system
- Document missing SDK-derived events: message/ai-assistant-received,
  conversation/pinned, conversation/unpinned.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants