> ## Documentation Index
> Fetch the complete documentation index at: https://cometchat-22654f5b-docs-rn-guide-message-privately.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Core

> Explore CometChat React Native UI Kit core messaging features, including media sharing, receipts, typing indicators, and more.

<Info>
  **Quick Reference for AI Agents & Developers**

  Key components powering core features:

  * **Conversations** → [CometChatConversations](/ui-kit/react-native/conversations)
  * **Message List** → [CometChatMessageList](/ui-kit/react-native/message-list)
  * **Message Composer** → [CometChatMessageComposer](/ui-kit/react-native/message-composer)
  * **Message Header** → [CometChatMessageHeader](/ui-kit/react-native/message-header)
  * **Users** → [CometChatUsers](/ui-kit/react-native/users)
  * **Groups** → [CometChatGroups](/ui-kit/react-native/groups)
  * **Group Members** → [CometChatGroupMembers](/ui-kit/react-native/group-members)
</Info>

## Overview

The UI Kit comprises a variety of components, each designed to work seamlessly with one another to deliver a comprehensive and intuitive chat experience.

Here's how different UI Kit components work together to achieve CometChat's core features:

## Instant Messaging

At the heart of CometChat's functionality is the ability to support real-time text messaging. Users can send and receive instant messages, fostering quick and efficient communication.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-docs-rn-guide-message-privately/_MYSdWhXnUkTkjEH/images/4c141125-Instant_Messaging-3e86359342605c94dc912604de8f6617.png?fit=max&auto=format&n=_MYSdWhXnUkTkjEH&q=85&s=ea314bc63185dde3da453141d788d612" width="1440" height="833" data-path="images/4c141125-Instant_Messaging-3e86359342605c94dc912604de8f6617.png" />
</Frame>

| Components                                               | Functionality                                                                                                                                                                                 |
| -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [MessageComposer](/ui-kit/react-native/message-composer) | [MessageComposer](/ui-kit/react-native/message-composer) component allows users to compose and send different types of messages with ease.                                                    |
| [MessageList](/ui-kit/react-native/message-list)         | [MessageList](/ui-kit/react-native/message-list) component renders a list of messages sent and messages received using [TextBubble](/ui-kit/react-native/message-bubble-styling#text-bubble). |

## Media Sharing

Beyond text, CometChat allows users to share various media types within their conversations. This includes images, videos, audio files, and documents, enriching the chat experience and enabling more comprehensive communication.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-docs-rn-guide-message-privately/mkn0UqPQ5BXljCV1/images/8fa177a9-Media_Sharing-e84fa670d754f58294c0c31611107ef7.png?fit=max&auto=format&n=mkn0UqPQ5BXljCV1&q=85&s=ed0e226186c7b3a70a3109032440e2a3" width="1440" height="833" data-path="images/8fa177a9-Media_Sharing-e84fa670d754f58294c0c31611107ef7.png" />
</Frame>

| Components                                               | Functionality                                                                                                                                                                                                                                                                                                                                                                                                     |
| -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [MessageComposer](/ui-kit/react-native/message-composer) | [MessageComposer](/ui-kit/react-native/message-composer) contains an ActionSheet component — a contextual menu overlay that provides multiple options for sharing media files.                                                                                                                                                                                                                                    |
| [MessageList](/ui-kit/react-native/message-list)         | [MessageList](/ui-kit/react-native/message-list) component displays various media message bubbles, including [Image Bubble](/ui-kit/react-native/message-bubble-styling#image-bubble), [File Bubble](/ui-kit/react-native/message-bubble-styling#file-bubble), [Audio Bubble](/ui-kit/react-native/message-bubble-styling#audio-bubble), [Video Bubble](/ui-kit/react-native/message-bubble-styling#video-bubble) |

> A complete messaging interface can be built by combining three key components: [MessageHeader](/ui-kit/react-native/message-header), [MessageList](/ui-kit/react-native/message-list), and [MessageComposer](/ui-kit/react-native/message-composer).

## Read Receipts

CometChat's Read Receipts feature provides visibility into message status, letting users know when a message has been delivered and read. This brings clarity to communication and ensures users are informed about the status of their messages.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-docs-rn-guide-message-privately/mNTojjz_O28of40c/images/f829cdd9-Read_receipts-a80d8b2b78b4491ef118cf971d26172f.png?fit=max&auto=format&n=mNTojjz_O28of40c&q=85&s=29179174aaeaba5ac2082bb29151a397" width="1440" height="833" data-path="images/f829cdd9-Read_receipts-a80d8b2b78b4491ef118cf971d26172f.png" />
</Frame>

| Components                                                                       | Functionality                                                                                                                                                                                                                                   |
| -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Conversations](/ui-kit/react-native/conversations)                              | [Conversations](/ui-kit/react-native/conversations) component renders a conversation item list. Each item also displays the delivery status of the last message, providing users with real-time updates on message status.                      |
| [MessageList](/ui-kit/react-native/message-list)                                 | [MessageList](/ui-kit/react-native/message-list) component renders different types of message bubbles. Read receipt status is an integral part of all message bubbles, regardless of type, and provides real-time updates about message status. |
| [MessageInformation](/ui-kit/react-native/component-styling#message-information) | [MessageInformation](/ui-kit/react-native/component-styling#message-information) component provides transparency into the status of each sent message, giving the sender insights into whether their message has been delivered and read.       |

## Mark as Unread

The Mark as Unread feature allows users to manually mark messages as unread, helping them keep track of important conversations they want to revisit later. When enabled, the message list can automatically start from the first unread message, making it easier to pick up where you left off.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-docs-rn-guide-message-privately/19qJLi95IaEk2j9s/images/mark-as-unread.png?fit=max&auto=format&n=19qJLi95IaEk2j9s&q=85&s=1d7dc33b9abdb18d88f6b8f1f480e048" width="2560" height="1670" data-path="images/mark-as-unread.png" />
</Frame>

| Components                                          | Functionality                                                                                                                                                               |
| --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Message List](/ui-kit/react-native/message-list)   | [Message List](/ui-kit/react-native/message-list) provides the "Mark as unread" option in message actions and supports starting from the first unread message when enabled. |
| [Conversations](/ui-kit/react-native/conversations) | [Conversations](/ui-kit/react-native/conversations) component listens to conversation updates and reflects the updated unread count in real-time.                           |

## Typing Indicator

The Typing Indicator feature shows when a user is typing a response in real-time, fostering a more interactive and engaging chat environment. This enhances the real-time communication experience, making conversations feel more natural and fluid.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-docs-rn-guide-message-privately/_MYSdWhXnUkTkjEH/images/487fa6c8-Typing_Indicator-7031ffbfb2da1bca5f70799de5250157.png?fit=max&auto=format&n=_MYSdWhXnUkTkjEH&q=85&s=351b83e4d806eda06f3ca6bd6a3c2009" width="1440" height="833" data-path="images/487fa6c8-Typing_Indicator-7031ffbfb2da1bca5f70799de5250157.png" />
</Frame>

| Components                                            | Functionality                                                                                                                                                                                                                                                             |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Conversations](/ui-kit/react-native/conversations)   | [Conversations](/ui-kit/react-native/conversations) component renders a list of conversation items, each displaying real-time typing indicators. If a user in a one-on-one or group chat is currently typing, the status is reflected instantly in the conversation list. |
| [Message Header](/ui-kit/react-native/message-header) | [Message Header](/ui-kit/react-native/message-header) component displays user or group details in the toolbar. It also manages the typing indicator, dynamically updating to show a real-time "typing..." status when a user or group member is actively typing.          |

## User Presence

CometChat's User Presence feature lets users see the online or offline status of their contacts, helping them choose the right time to start a conversation and set expectations for response times.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-docs-rn-guide-message-privately/Gp90C5sdVtuRR4t7/images/7fa65ca5-User_Presence-10eed341028f3a7812c410accc46fa66.png?fit=max&auto=format&n=Gp90C5sdVtuRR4t7&q=85&s=5843f22bb6afd13e82595248681f56c9" width="1440" height="833" data-path="images/7fa65ca5-User_Presence-10eed341028f3a7812c410accc46fa66.png" />
</Frame>

| Components                                           | Functionality                                                                                                                                                                                                   |
| ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Conversations](/ui-kit/react-native/conversations)  | [Conversations](/ui-kit/react-native/conversations) component renders a list of conversation items, each displaying user presence information such as online or offline status.                                 |
| [MessageHeader](/ui-kit/react-native/message-header) | [Message Header](/ui-kit/react-native/message-header) component displays user or group details in the toolbar. It also handles user presence, showing real-time online or offline status for the selected user. |
| [Users](/ui-kit/react-native/users)                  | [Users](/ui-kit/react-native/users) component displays a list of users available in your app and is also responsible for showing their real-time presence status such as online or offline.                     |
| [GroupMembers](/ui-kit/react-native/group-members)   | [Group Members](/ui-kit/react-native/group-members) component displays a list of users within a group and also manages real-time presence information, showing whether each member is online or offline.        |

## Reactions

CometChat's Reactions feature adds a layer of expressiveness to your chat application by allowing users to react to messages. With Reactions, users can convey a range of emotions or express their thoughts on a particular message without typing out a full response, enhancing the user experience and fostering greater engagement.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-docs-rn-guide-message-privately/xIG5VBdyNJ5cYSqE/images/d2e11729-Reactions-683bff07964d09dee60dec2d7e4f25d9.png?fit=max&auto=format&n=xIG5VBdyNJ5cYSqE&q=85&s=3006daa2cc6e8fc875653fd6ca92ca84" width="1440" height="833" data-path="images/d2e11729-Reactions-683bff07964d09dee60dec2d7e4f25d9.png" />
</Frame>

| Components                                       | Functionality                                                                                                                                                                                                                              |
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [MessageList](/ui-kit/react-native/message-list) | [MessageList](/ui-kit/react-native/message-list) component renders various types of message bubbles. Regardless of the message type, reactions are seamlessly integrated, allowing users to respond in a more engaging and expressive way. |

## Mentions

Mentions is a feature that enhances the interactivity and clarity of group or 1-on-1 chats by allowing users to directly address or refer to specific individuals in a conversation.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-docs-rn-guide-message-privately/PaxBG9I1yMoeQmt2/images/3baa8c0d-Mentions-d49539d8def32f2c894fc16c51fcf89e.png?fit=max&auto=format&n=PaxBG9I1yMoeQmt2&q=85&s=8abb79beb360e163670c4d648e9f4cb9" width="1440" height="564" data-path="images/3baa8c0d-Mentions-d49539d8def32f2c894fc16c51fcf89e.png" />
</Frame>

| Components                                               | Functionality                                                                                                                                                                                                                                       |
| -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Conversations](/ui-kit/react-native/conversations)      | [Conversations](/ui-kit/react-native/conversations) component integrates the Mentions feature, allowing users to see directly from the conversation list when they or others have been specifically mentioned in a chat.                            |
| [MessageComposer](/ui-kit/react-native/message-composer) | [MessageComposer](/ui-kit/react-native/message-composer) component allows users to compose and send various types of messages, including support for the Mentions feature to directly address participants within the conversation.                 |
| [MessageList](/ui-kit/react-native/message-list)         | [MessageList](/ui-kit/react-native/message-list) component displays a list of sent and received messages. It also supports rendering Mentions, enhancing the clarity and interactivity of conversations by highlighting direct references to users. |

## Rich Text Formatting

Rich Text Formatting allows users to style their messages with bold, italic, underline, strikethrough, and inline code formatting. This brings richer expression to conversations and helps users emphasize key points, making communication clearer and more engaging.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-docs-rn-guide-message-privately/9bgr-iIAUJixmNKk/images/rich-text-composer-only.png?fit=max&auto=format&n=9bgr-iIAUJixmNKk&q=85&s=fdccfd2837250bb3e44b94e928dd1a97" width="360" height="106" data-path="images/rich-text-composer-only.png" />
</Frame>

| Components                                                              | Functionality                                                                                                                                                                                                                              |
| ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [CompactMessageComposer](/ui-kit/react-native/compact-message-composer) | [CompactMessageComposer](/ui-kit/react-native/compact-message-composer) provides a built-in rich text editor with formatting toolbar and native text selection menu items for bold, italic, underline, strikethrough, and code formatting. |
| [MessageList](/ui-kit/react-native/message-list)                        | [MessageList](/ui-kit/react-native/message-list) renders formatted messages with the appropriate styling applied, displaying bold, italic, underline, strikethrough, and code formatting as intended by the sender.                        |

## Quoted Reply

The Quoted Reply feature enables users to quickly reply to specific messages by selecting the "Reply" option from a message's action menu. This enhances context, keeps conversations organized, and improves the overall chat experience in both 1-on-1 and group chats.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-docs-rn-guide-message-privately/21UBnagXOw-XG0Sv/images/android-quoted-reply.png?fit=max&auto=format&n=21UBnagXOw-XG0Sv&q=85&s=79b4e1155dd286267b651b1e2add6ab9" width="2560" height="1670" data-path="images/android-quoted-reply.png" />
</Frame>

| Components                                                | Functionality                                                                                                                                                                                                             |
| --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Message List](/ui-kit/react-native/message-list)         | [Message List](/ui-kit/react-native/message-list) supports replying to messages via the "Reply" option. Users can select "Reply" on a message to open the composer with the quoted reply pre-filled, maintaining context. |
| [Message Composer](/ui-kit/react-native/message-composer) | [Message Composer](/ui-kit/react-native/message-composer) works seamlessly with Quoted Reply by showing the quoted message above the input field, letting users compose their response in proper context.                 |

## Conversation and Advanced Search

Conversation and Advanced Search enables users to quickly find conversations, messages, and media across chats in real time. It supports filters, scopes, and custom actions, allowing users to locate content efficiently while keeping the chat experience smooth and intuitive.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-docs-rn-guide-message-privately/21UBnagXOw-XG0Sv/images/android-search-overview.png?fit=max&auto=format&n=21UBnagXOw-XG0Sv&q=85&s=7e01a39ddbc2d012e6e9be1a8daeb421" width="2560" height="1670" data-path="images/android-search-overview.png" />
</Frame>

| Components                                            | Functionality                                                                                                                                                              |
| ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Search                                                | Search allows users to search across conversations and messages in real time. Users can click on a result to open the conversation or jump directly to a specific message. |
| [Message Header](/ui-kit/react-native/message-header) | [Message Header](/ui-kit/react-native/message-header) shows the search button in the chat header, allowing users to search within a conversation.                          |
| [Message List](/ui-kit/react-native/message-list)     | [Message List](/ui-kit/react-native/message-list) shows the selected message when clicked from search results and highlights it in the message list.                       |
| [Conversations](/ui-kit/react-native/conversations)   | [Conversations](/ui-kit/react-native/conversations) displays the search input.                                                                                             |

## Moderation

CometChat's Message Moderation feature helps maintain a safe and respectful chat environment by automatically filtering and managing inappropriate content. Messages can be automatically blocked or flagged based on predefined rules, ensuring harmful content is handled before it reaches users.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-docs-rn-guide-message-privately/19qJLi95IaEk2j9s/images/mobile-uikit-moderation-overview.png?fit=max&auto=format&n=19qJLi95IaEk2j9s&q=85&s=328e6452df98ea3737ae567d2d6a930c" width="1680" height="972" data-path="images/mobile-uikit-moderation-overview.png" />
</Frame>

<Note>
  Learn more about setting up moderation rules and managing content in the [Moderation](/moderation/overview) documentation.
</Note>

| Components                                        | Functionality                                                                                                                                                           |
| ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Message List](/ui-kit/react-native/message-list) | [Message List](/ui-kit/react-native/message-list) automatically handles moderated messages, displaying blocked content appropriately based on your moderation settings. |

After implementing moderation rules, users can report messages they find inappropriate or harmful. As a next step, you can enable the **[Report Message](#report-message)** feature to allow users to flag messages for review by moderators.

## Report Message

The Report Message feature allows users to report inappropriate or harmful messages within the chat. Users can choose from predefined reasons and provide additional remarks for detailed context. This feature helps maintain a safe and respectful chat environment.

<Note>
  Learn more about how flagged messages are handled, reviewed, and moderated in the [Flagged Messages](/moderation/flagged-messages) documentation.
</Note>

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-docs-rn-guide-message-privately/21UBnagXOw-XG0Sv/images/android-flag-message.png?fit=max&auto=format&n=21UBnagXOw-XG0Sv&q=85&s=520f791df7941a437d5eaed6d3fb682a" width="2518" height="1704" data-path="images/android-flag-message.png" />
</Frame>

| Components                                        | Functionality                                                                                                                                                                                    |
| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Message List](/ui-kit/react-native/message-list) | [Message List](/ui-kit/react-native/message-list) provides the "Report Message" option in the message actions menu, allowing users to initiate the reporting process for inappropriate messages. |

## Threaded Conversations

The Threaded Conversations feature enables users to respond directly to a specific message in a chat. This keeps conversations organized and enhances the user experience by maintaining context, especially in group chats.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-docs-rn-guide-message-privately/jpEUuHUk-hvu4tQT/images/a6e3a880-Threads-5f934d4ff0595625af777471e5e162dc.png?fit=max&auto=format&n=jpEUuHUk-hvu4tQT&q=85&s=04c944a4ffb42ce2c4917c7bda8b3195" width="1440" height="1128" data-path="images/a6e3a880-Threads-5f934d4ff0595625af777471e5e162dc.png" />
</Frame>

| Components                                                       | Functionality                                                                                                                                                                                                                                             |
| ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Threaded Header](/ui-kit/react-native/threaded-messages-header) | [Threaded Header](/ui-kit/react-native/threaded-messages-header) component displays the original message along with all its replies, helping users follow the context of a threaded conversation.                                                         |
| [MessageComposer](/ui-kit/react-native/message-composer)         | [MessageComposer](/ui-kit/react-native/message-composer) component enables users to compose and send various types of messages.                                                                                                                           |
| [MessageList](/ui-kit/react-native/message-list)                 | [MessageList](/ui-kit/react-native/message-list) component displays a chronological list of sent and received messages. It also supports Mentions, making conversations more interactive and easier to follow by highlighting direct references to users. |

## Group Chat

CometChat facilitates Group Chats, allowing users to have conversations with multiple participants simultaneously. This feature is crucial for team collaborations, group discussions, social communities, and more.

<Frame>
  <img src="https://mintcdn.com/cometchat-22654f5b-docs-rn-guide-message-privately/le8ibYc8lBJsShSE/images/583bd229-Group_Conversation-19f24a8fa85e09324c28f4fd335e2951.png?fit=max&auto=format&n=le8ibYc8lBJsShSE&q=85&s=07cc9d1d4296c45b64a1670169cbaec8" width="1440" height="833" data-path="images/583bd229-Group_Conversation-19f24a8fa85e09324c28f4fd335e2951.png" />
</Frame>

For a comprehensive understanding and guide on implementing and using the Groups feature in CometChat, refer to the detailed guide on [Groups](/ui-kit/react-native/groups).

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Call Features" icon="phone" href="/ui-kit/react-native/call-features">
    Explore voice and video calling capabilities
  </Card>

  <Card title="Extensions" icon="puzzle-piece" href="/ui-kit/react-native/extensions">
    Add stickers, polls, link previews, and more
  </Card>

  <Card title="Components Overview" icon="layer-group" href="/ui-kit/react-native/components-overview">
    Browse all available UI Kit components
  </Card>

  <Card title="Theming" icon="palette" href="/ui-kit/react-native/theme">
    Customize colors, fonts, and appearance
  </Card>
</CardGroup>
