Want to request a feature?

Create a new request and help us improve CometChat!

Preserve Search State and Keyword in CometChatSearch

Introduce built-in state persistence support for the CometChatSearch component in the Flutter UI Kit so that previously entered search keywords and search results are retained when users navigate away from and reopen the search screen during the same app session. Currently, the search state resets completely upon reopening the component, forcing users to re-enter search queries and repeat the search process. This behavior negatively impacts usability, especially in workflows involving frequent navigation between conversations and search results. Providing automatic state retention or exposing properties/callbacks to preserve and restore the search context would align the component with modern search UX standards, improve user experience, and reduce the need for custom state-management implementations.

💡 Feature Request

Add Inline Pre-Send URL Preview Support in Message Composer

Introduce native support for inline URL preview generation within CometChatMessageComposer in the Flutter UI Kit. Currently, link preview metadata is fetched and displayed only after the message has been successfully sent, whereas modern messaging applications such as WhatsApp and Microsoft Teams provide real-time preview generation while the user is composing the message. This feature should detect valid URLs as they are typed or pasted, fetch preview metadata before sending, and display a dynamic preview card inline above the composer. Supporting pre-send link previews would significantly improve user confidence, enhance the messaging experience, and align the UI Kit with modern chat application standards without requiring developers to build complex custom implementations.

💡 Feature Request

Add Mention Text Styling Support in Message Information Section

Introduce dedicated styling support for mention text (e.g., @username) within the Message Information section of the UI Kit. Currently, mention names rendered in this view do not respect any customizable styling properties, making it difficult to maintain UI consistency with the main message list where mention styling is typically configurable. This limitation prevents developers from aligning colors, fonts, and emphasis for mentions across different parts of the application. Providing a property such as mentionTextStyle or a granular customization hook for mentions specifically within the Message Information component would ensure visual consistency, improve flexibility, and eliminate the need for complex custom overrides.

💡 Feature Request

Support Editing of Media Message Captions in Message Composer

Introduce native support in the UI Kit and SDK for editing captions of media messages (such as images, videos, audio, and documents) directly within the message composer. Currently, while developers can implement captions for media using custom CometChatMessageTemplate, there is no built-in mechanism to edit these captions once the message is sent. This limitation forces developers to create complex custom workflows, which do not integrate seamlessly with the existing composer or editing flow. Providing a standardized solution—where media captions can be edited similar to text messages within the composer—would ensure consistency, reduce implementation overhead, and significantly improve both developer experience and end-user usability.

💡 Feature Request

Add In-Chat Message Search Bar in Message Screen

Introduce a native in-chat search functionality within the message screen of the UI Kit, allowing users to search messages directly inside an active conversation (similar to apps like WhatsApp). Currently, there is no built-in support for an integrated search bar within the message view, which limits usability and impacts the overall user experience. This feature should enable users to quickly search, navigate, and highlight messages within a conversation without leaving the chat screen. Providing this as a configurable UI Kit component or property would enhance usability, maintain UI consistency, and eliminate the need for custom implementations, thereby improving developer experience and end-user satisfaction.

💡 Feature Request

Real-time block/unblock event listener for the blocked user

Currently, the CometChat SDK provides real-time events only for the user who initiates the block action (ccUserBlocked / ccUserUnBlocked). The blocked user (User B) does not receive any real-time event when another user (User A) blocks or unblocks them. The hasBlockedMe flag on the user object is only updated when the user object is explicitly fetched from the server via CometChat.getUser() or on screen navigation. This makes it impossible to update the blocked user's UI in real-time without relying on workarounds such as polling, send-failure detection, or a webhook-based backend solution. The request is to add a new real-time listener event (e.g., onUserBlockedMe / onUserUnblockedMe) in the SDK's UserListener that fires on the blocked user's client when they are blocked or unblocked by another user. This would allow UIKit and app developers to immediately hide the composer, show a "You have been blocked" indicator, and update the conversation list without requiring server-side infrastructure or manual user object re-fetching.

💡 Feature Request

Enable Message Bubble Styling in Message Information (Flutter UI Kit)

Introduce direct styling support for the message bubble displayed in the CometChatMessageInformation component within the Flutter UI Kit. Currently, the message bubble shown in the Message Information view does not respect configurations provided via messageInformationStyle, resulting in inconsistent UI compared to the main message list. Developers are unable to customize properties such as background color, text color, or overall appearance, and the only available workaround is overriding the entire listItemView, which increases complexity and maintenance overhead. Providing a dedicated property such as messageBubbleStyle or a granular customization hook for the message bubble would ensure design consistency, improve developer experience, and maintain the modular integrity of the UI Kit without requiring full component overrides.

💡 Feature Request

Add Direct Styling Support for “Edited” Message Label in UI Kit

Introduce properties or override mechanism in the UI Kit to allow developers to customize the “Edited” message label (e.g., color, font, visibility) without requiring a full override of the statusInfoView. Currently, the label is internally rendered alongside timestamp and read receipts, making it inaccessible for direct styling and forcing developers to rebuild the entire status layer for minor UI changes. This leads to increased complexity, duplication, and maintenance overhead, especially in production environments where UI consistency is critical. Providing a property such as editedMessageTextStyle or a granular override hook for just the “Edited” label would significantly improve developer experience while preserving the modularity and purpose of the UI Kit.

💡 Feature Request

Reliable outgoing message callback for JS SDK / Vue UI Kit

Hi CometChat team — opening this issue first per contributing guidance to discuss the API need. We need a reliable way to track new messages after initial load in an active DM thread. Our flow is: On chat open, fetch a small history window to establish baseline count. After that, increment count in realtime for: incoming messages outgoing messages sent by the local user/device Incoming events are fine, but we don’t have a dependable/supported outgoing “message sent” callback path in our JS SDK + Vue UI Kit integration for same-session sends. Could you provide an official hook/callback for successful local sends (SDK or UI Kit), e.g.: onMessageSent / onTextMessageSent (same device/session), or Vue UI Kit emit like @message-sent from chat/composer. This would let apps maintain accurate post-load counters without brittle workarounds (patching send methods, polling, DOM observers). Stack @cometchat/chat-sdk-javascript 4.x @cometchat/chat-uikit-vue 4.x Vue 3 DM chats

💡 Feature Request

Support REST API to Fetch Active User Count for a Group

This feature request aims to introduce a dedicated REST API endpoint that allows developers to retrieve the current active user count for a specific group in real time. The API should return the number of users who are currently online or actively engaged within the group, based on presence or activity status. This functionality is important for use cases such as displaying live participation metrics, enhancing user engagement insights, and enabling dynamic UI elements (e.g., “X users active now”). The endpoint should be scalable, performant for large groups, and consistent with existing authentication and group management APIs. Additionally, considerations around how “active” is defined (e.g., online presence, recent activity threshold) should be clearly documented and configurable if possible.

💡 Feature Request

Support for Multi-Select Voting and Poll Closing in Polls Extension

We would like to request enhancements to the Polls extension to support more advanced polling use cases commonly required in production applications. Feature Requests: Multi-Select Voting Allow users to select and vote for multiple options within a single poll. API should support submitting multiple option IDs in a single vote request. Results should reflect aggregated multi-option selections per user. Poll Closing / Disabling Voting Ability to close a poll manually or automatically (e.g., after a time limit or based on a condition). Introduce a status field (e.g., open, closed) accessible via API. Prevent further votes once the poll is closed. UI support to render closed polls as non-interactive.

💡 Feature Request

Support for Picture-in-Picture (PiP) and In-App Call Minimization in iOS SDK

We request support for enhanced video call multitasking capabilities in the CometChat iOS SDK. Specifically, this includes: Native integration with Apple’s AVPictureInPictureController to enable system-level Picture-in-Picture (PiP), allowing users to continue video calls in a floating window while using other apps. A built-in feature or UI component to minimize an ongoing call into a draggable floating view within the app, enabling users to navigate across different screens without disconnecting the call. These features would significantly improve the user experience by enabling seamless multitasking during video calls and aligning with modern iOS app behavior.

💡 Feature Request