💡 Feature Request
Hi Team, Regarding the remote video stream issue, you mentioned that the issue may be related to bandwidth estimation and that your team is still investigating the underlying cause. We would also like to raise a feature request related to the user experience in such scenarios. Currently, when the network quality becomes poor and the remote video stream is affected or paused due to bandwidth limitations, there does not appear to be any clear indication to the user about what is happening. For example, it would be helpful to have an indicator/message such as: “Poor network connection. Video may be temporarily paused.” “Remote video paused due to poor network.” A network/video quality indicator showing that the video is being affected by low bandwidth. This would help users understand that the video interruption is related to network conditions rather than assuming that the call or application is malfunctioning. Could you please let us know if the SDK provides any event, callback? If this is not currently supported, we would like to request it as a feature enhancement for the React Native SDK. Thanks,
Provide an event, callback, or network/video quality indicator in the React Native Calls SDK to notify developers when the remote video stream is paused or affected due to poor network conditions or bandwidth limitations. This would allow applications to display a clear message to users, such as “Poor network connection. Video may be temporarily paused.” This helps users understand that the video interruption is related to network conditions rather than an application or call failure.
💡 Feature Request
Hi Team, Regarding the remote video stream issue, you mentioned that the issue may be related to bandwidth estimation and that your team is still investigating the underlying cause. We would also like to raise a feature request related to the user experience in such scenarios. Currently, when the network quality becomes poor and the remote video stream is affected or paused due to bandwidth limitations, there does not appear to be any clear indication to the user about what is happening. For example, it would be helpful to have an indicator/message such as: “Poor network connection. Video may be temporarily paused.” “Remote video paused due to poor network.” A network/video quality indicator showing that the video is being affected by low bandwidth. This would help users understand that the video interruption is related to network conditions rather than assuming that the call or application is malfunctioning. Could you please let us know if the SDK provides any event, callback? If this is not currently supported, we would like to request it as a feature enhancement for the React Native SDK. Thanks,
Provide an event, callback, or network/video quality indicator in the React Native Calls SDK to notify developers when the remote video stream is paused or affected due to poor network conditions or bandwidth limitations. This would allow applications to display a clear message to users, such as “Poor network connection. Video may be temporarily paused.” This helps users understand that the video interruption is related to network conditions rather than an application or call failure.
💡 Feature Request
Improve Virtual Background Segmentation Quality in Calls
Customers have reported noticeably lower virtual background quality in CometChat Calls compared to other WebRTC-based clients such as Google Meet, under identical testing conditions. The reported issues include: Soft or blurry edges around hair, shoulders, and the head outline. Background bleeding through the user's head and body outline. Visible flickering as the segmentation mask shifts between frames. The quality gap becomes more noticeable with detailed or textured backgrounds, but is also visible with plain backgrounds. The issue was reproduced on the customer's integration as well as on the CometChat hosted demo at calls.cometchat.io, indicating that it does not appear to be specific to the customer's implementation. Expected: Virtual background segmentation should provide clean, stable edges around the user, with minimal background bleeding and frame-to-frame mask flickering, providing a video quality comparable to commonly used WebRTC calling platforms. Customer Impact: The customer uses CometChat for client-facing interview calls. The video quality has been raised by participants and senior internal stakeholders and is affecting their confidence in using CometChat video calling in client-facing scenarios. Environment: Calls SDK: @cometchat/calls-sdk-javascript v5.0.2 Reproduced on: Customer integration and calls.cometchat.io Comparison: Google Meet under the same person, room, lighting, webcam, and virtual background conditions.
💡 Feature Request
Improve Virtual Background Segmentation Quality in Calls
Customers have reported noticeably lower virtual background quality in CometChat Calls compared to other WebRTC-based clients such as Google Meet, under identical testing conditions. The reported issues include: Soft or blurry edges around hair, shoulders, and the head outline. Background bleeding through the user's head and body outline. Visible flickering as the segmentation mask shifts between frames. The quality gap becomes more noticeable with detailed or textured backgrounds, but is also visible with plain backgrounds. The issue was reproduced on the customer's integration as well as on the CometChat hosted demo at calls.cometchat.io, indicating that it does not appear to be specific to the customer's implementation. Expected: Virtual background segmentation should provide clean, stable edges around the user, with minimal background bleeding and frame-to-frame mask flickering, providing a video quality comparable to commonly used WebRTC calling platforms. Customer Impact: The customer uses CometChat for client-facing interview calls. The video quality has been raised by participants and senior internal stakeholders and is affecting their confidence in using CometChat video calling in client-facing scenarios. Environment: Calls SDK: @cometchat/calls-sdk-javascript v5.0.2 Reproduced on: Customer integration and calls.cometchat.io Comparison: Google Meet under the same person, room, lighting, webcam, and virtual background conditions.
💡 Feature Request
Enable Both Quoted Message and Mention Reply Notifications
Currently, users can enable only one of the following notification preferences at a time: Notify when my message is quoted Notify for replies with mentions Request to allow both options to be enabled simultaneously. Use case: If User B replies to User A’s message and mentions User C, both User A (whose message was quoted/replied to) and User C (who was mentioned) should receive a notification.
💡 Feature Request
Enable Both Quoted Message and Mention Reply Notifications
Currently, users can enable only one of the following notification preferences at a time: Notify when my message is quoted Notify for replies with mentions Request to allow both options to be enabled simultaneously. Use case: If User B replies to User A’s message and mentions User C, both User A (whose message was quoted/replied to) and User C (who was mentioned) should receive a notification.
💡 Feature Request
Private System Messages for Specific Users in a Group
Request native support for “Only Visible to Me” or recipient-specific messages within group conversations, allowing system messages or custom cards to be visible only to selected individual group members. Members who are not intended to see the message should not receive notifications or have their unread message count affected. This would support use cases such as system bots sending private custom card messages to specific users within a shared group conversation.
💡 Feature Request
Private System Messages for Specific Users in a Group
Request native support for “Only Visible to Me” or recipient-specific messages within group conversations, allowing system messages or custom cards to be visible only to selected individual group members. Members who are not intended to see the message should not receive notifications or have their unread message count affected. This would support use cases such as system bots sending private custom card messages to specific users within a shared group conversation.
💡 Feature Request
Add a user to multiple groups in a single API call
Today, adding a member is always scoped to one group at a time. The Add Members endpoint can add many users to a single group, but there is no way to do the reverse — add one user to several groups at once. Customers have to loop and make a separate call per group, and handle partial failures themselves. Requested by Rakesh Tiwari (truleague) via the Docs assistant. Ask: a way to pass a user and a list of groups (with scope) in one request, returning per-group success/failure so partial results are visible. Use cases: signup with team or interest selection, roster and org onboarding, admin bulk actions.
💡 Feature Request
Add a user to multiple groups in a single API call
Today, adding a member is always scoped to one group at a time. The Add Members endpoint can add many users to a single group, but there is no way to do the reverse — add one user to several groups at once. Customers have to loop and make a separate call per group, and handle partial failures themselves. Requested by Rakesh Tiwari (truleague) via the Docs assistant. Ask: a way to pass a user and a list of groups (with scope) in one request, returning per-group success/failure so partial results are visible. Use cases: signup with team or interest selection, roster and org onboarding, admin bulk actions.
💡 Feature Request
Support Inviting or Ringing Additional Members into an Active Session
Provide a supported mechanism to invite or ring an additional member into an ongoing live session using the existing session ID. This would allow applications to add participants dynamically without requiring custom signaling logic to be built on top of the session ID.
💡 Feature Request
Support Inviting or Ringing Additional Members into an Active Session
Provide a supported mechanism to invite or ring an additional member into an ongoing live session using the existing session ID. This would allow applications to add participants dynamically without requiring custom signaling logic to be built on top of the session ID.
💡 Feature Request
Support visibility-scoped system messages in groups
Need native support for visibility-scoped system messages in groups—specifically the ability to send system messages that are only visible to specific users (like Slack's "only visible to you" app integration notes). This would prevent unwanted group notifications and unread count increments for messages that should be private to certain users, improving the overall user experience.
💡 Feature Request
Support visibility-scoped system messages in groups
Need native support for visibility-scoped system messages in groups—specifically the ability to send system messages that are only visible to specific users (like Slack's "only visible to you" app integration notes). This would prevent unwanted group notifications and unread count increments for messages that should be private to certain users, improving the overall user experience.
💡 Feature Request
Add full RTL (Right-to-Left) layout support to the CometChat React Native UI Kit v5.
Add full RTL (Right-to-Left) layout support to the CometChat React Native UI Kit v5. When React Native’s I18nManager.forceRTL(true) is enabled, the UI Kit components should automatically adapt their layouts and directional elements for RTL languages such as Arabic and Hebrew. The UI Kit should ensure that: Component layouts correctly mirror in RTL mode. Icons, arrows, alignment, margins, and paddings are appropriately adjusted. Message bubbles and conversation lists follow the expected RTL direction. Navigation and interactive elements maintain correct positioning and behavior. RTL support is documented with the required configuration and any limitations.
💡 Feature Request
Add full RTL (Right-to-Left) layout support to the CometChat React Native UI Kit v5.
Add full RTL (Right-to-Left) layout support to the CometChat React Native UI Kit v5. When React Native’s I18nManager.forceRTL(true) is enabled, the UI Kit components should automatically adapt their layouts and directional elements for RTL languages such as Arabic and Hebrew. The UI Kit should ensure that: Component layouts correctly mirror in RTL mode. Icons, arrows, alignment, margins, and paddings are appropriately adjusted. Message bubbles and conversation lists follow the expected RTL direction. Navigation and interactive elements maintain correct positioning and behavior. RTL support is documented with the required configuration and any limitations.
💡 Feature Request
How can i test Conversation and Advanced Search in Development
Hi, I’m looking for a feature that can instantly display media, links, and documents from a conversation. From what I found, Conversation and Advanced Search seems like the best way to implement this. However, I’ve run into the following error: { "error": { "message": "Conversation and Advanced Search is not available on your current billing plan.", "devMessage": "Your current plan (free-2023-01) does not support the Conversation and Advanced Search feature, including filters such as hasAttachments, hasMentions, hasReactions, hasLinks, and mentionedUids. Please upgrade to a compatible plan to enable this functionality.", "source": "chat-api", "code": "ERR_MESSAGE_SEARCH_RESTRICTION" } } I understand that this feature is only available on certain paid plans. My question is: how can we properly test this in our development/staging environments before making it available to production users? On a related note, I also keep hitting the 100-user limit in our development environment. Most of these users are created purely for testing, so they don’t represent actual production usage. Would it be possible to adjust or increase the user quota for our dev/stage environments so that we can properly test the integration? Or am I approaching this incorrectly? Is there an alternative setup that allows paying customers to test paid features in their development and staging environments without being blocked by production-level feature restrictions or user limits?
💡 Feature Request
Management APIs (Multi-tenancy)
How can i test Conversation and Advanced Search in Development
Hi, I’m looking for a feature that can instantly display media, links, and documents from a conversation. From what I found, Conversation and Advanced Search seems like the best way to implement this. However, I’ve run into the following error: { "error": { "message": "Conversation and Advanced Search is not available on your current billing plan.", "devMessage": "Your current plan (free-2023-01) does not support the Conversation and Advanced Search feature, including filters such as hasAttachments, hasMentions, hasReactions, hasLinks, and mentionedUids. Please upgrade to a compatible plan to enable this functionality.", "source": "chat-api", "code": "ERR_MESSAGE_SEARCH_RESTRICTION" } } I understand that this feature is only available on certain paid plans. My question is: how can we properly test this in our development/staging environments before making it available to production users? On a related note, I also keep hitting the 100-user limit in our development environment. Most of these users are created purely for testing, so they don’t represent actual production usage. Would it be possible to adjust or increase the user quota for our dev/stage environments so that we can properly test the integration? Or am I approaching this incorrectly? Is there an alternative setup that allows paying customers to test paid features in their development and staging environments without being blocked by production-level feature restrictions or user limits?
💡 Feature Request
Management APIs (Multi-tenancy)
Target multiple roles in a single campaign
Currently, campaigns can only be targeted to one role at a time — the role filter in the dashboard allows a single selection, and the API accepts UIDs rather than roles. Customers with role-based user segments (e.g. Admin, Employee, Customer, Supplier) need to create and send a separate campaign for each role, which is repetitive and hard to manage at scale. Adding multi-role selection so a single campaign can target a combination of roles (e.g. Admin + Customer) would let customers reach the right audience in one send.
💡 Feature Request
Target multiple roles in a single campaign
Currently, campaigns can only be targeted to one role at a time — the role filter in the dashboard allows a single selection, and the API accepts UIDs rather than roles. Customers with role-based user segments (e.g. Admin, Employee, Customer, Supplier) need to create and send a separate campaign for each role, which is repetitive and hard to manage at scale. Adding multi-role selection so a single campaign can target a combination of roles (e.g. Admin + Customer) would let customers reach the right audience in one send.
💡 Feature Request
Target multiple roles in a single campaign
Currently, campaigns can only be targeted to one role at a time — the role filter in the dashboard allows a single selection, and the API accepts UIDs rather than roles. Customers with role-based user segments (e.g. Admin, Employee, Customer, Supplier) need to create and send a separate campaign for each role, which is repetitive and hard to manage at scale. Adding multi-role selection so a single campaign can target a combination of roles (e.g. Admin + Customer) would let customers reach the right audience in one send.
💡 Feature Request
Target multiple roles in a single campaign
Currently, campaigns can only be targeted to one role at a time — the role filter in the dashboard allows a single selection, and the API accepts UIDs rather than roles. Customers with role-based user segments (e.g. Admin, Employee, Customer, Supplier) need to create and send a separate campaign for each role, which is repetitive and hard to manage at scale. Adding multi-role selection so a single campaign can target a combination of roles (e.g. Admin + Customer) would let customers reach the right audience in one send.
💡 Feature Request
Voice message playback speed control
Summary Add playback speed controls (0.5x / 1x / 1.5x / 2x) to voice and audio message bubbles, requested by a customer. Current Behaviour Playback speed control is not currently available on React Native or React. Proposed Add a speed toggle cycling 1x → 1.5x → 2x → 0.5x, supporting both voice notes and shared audio files.
💡 Feature Request
Voice message playback speed control
Summary Add playback speed controls (0.5x / 1x / 1.5x / 2x) to voice and audio message bubbles, requested by a customer. Current Behaviour Playback speed control is not currently available on React Native or React. Proposed Add a speed toggle cycling 1x → 1.5x → 2x → 0.5x, supporting both voice notes and shared audio files.
💡 Feature Request
Support Read-Only Group Access for Restricted or Banned Users
Introduce a configurable group moderation mode that allows administrators to restrict a user’s participation without completely removing their access to the group conversation. Currently, banning or kicking a user immediately revokes access to the group and its message history. The requested enhancement is to support a read-only state where restricted users can continue viewing the group’s existing messages but cannot send new messages or receive messages sent after the restriction is applied. This would enable applications to implement user-blocking workflows that comply with App Store and Google Play policies while preserving conversation history. Additionally, for scenarios such as two-member groups, the solution should support preventing the remaining participant from sending new messages as well, effectively freezing the conversation while maintaining historical access. This feature would provide greater flexibility for moderation and safety use cases without requiring custom implementations.
💡 Feature Request
Support Read-Only Group Access for Restricted or Banned Users
Introduce a configurable group moderation mode that allows administrators to restrict a user’s participation without completely removing their access to the group conversation. Currently, banning or kicking a user immediately revokes access to the group and its message history. The requested enhancement is to support a read-only state where restricted users can continue viewing the group’s existing messages but cannot send new messages or receive messages sent after the restriction is applied. This would enable applications to implement user-blocking workflows that comply with App Store and Google Play policies while preserving conversation history. Additionally, for scenarios such as two-member groups, the solution should support preventing the remaining participant from sending new messages as well, effectively freezing the conversation while maintaining historical access. This feature would provide greater flexibility for moderation and safety use cases without requiring custom implementations.
💡 Feature Request
Add Webhook and Event Notifications for OpenAI Moderation Timeouts and Failures
Introduce dedicated webhook/event support for OpenAI moderation timeouts and failures, independent of the configured fallback behavior (Approve or Deny). Currently, when the moderation fallback is set to Approve, messages are delivered even if the OpenAI moderation request times out or fails, and no webhook or notification is generated. This prevents developers from detecting moderation outages, monitoring service health, or triggering operational alerts. The requested enhancement is to expose OpenAI moderation failures through a dedicated webhook or include failure metadata in existing webhooks regardless of the fallback action. This would enable applications to monitor moderation reliability, integrate with alerting systems, and respond appropriately to prolonged OpenAI service disruptions without negatively impacting the end-user experience.
💡 Feature Request
Add Webhook and Event Notifications for OpenAI Moderation Timeouts and Failures
Introduce dedicated webhook/event support for OpenAI moderation timeouts and failures, independent of the configured fallback behavior (Approve or Deny). Currently, when the moderation fallback is set to Approve, messages are delivered even if the OpenAI moderation request times out or fails, and no webhook or notification is generated. This prevents developers from detecting moderation outages, monitoring service health, or triggering operational alerts. The requested enhancement is to expose OpenAI moderation failures through a dedicated webhook or include failure metadata in existing webhooks regardless of the fallback action. This would enable applications to monitor moderation reliability, integrate with alerting systems, and respond appropriately to prolonged OpenAI service disruptions without negatively impacting the end-user experience.
💡 Feature Request
Add Favorite Emojis support
Currently, the React v7 UI Kit's built-in emoji keyboard supports browsing emojis by standard categories but does not provide a way for users to quickly access their most frequently used or preferred emojis. It would be beneficial to introduce a Favorites or Recents tab that allows users to: 1. View recently used emojis. 2. Mark emojis as favorites for quick access. 3. Persist favorite emojis across sessions.
💡 Feature Request
Add Favorite Emojis support
Currently, the React v7 UI Kit's built-in emoji keyboard supports browsing emojis by standard categories but does not provide a way for users to quickly access their most frequently used or preferred emojis. It would be beneficial to introduce a Favorites or Recents tab that allows users to: 1. View recently used emojis. 2. Mark emojis as favorites for quick access. 3. Persist favorite emojis across sessions.
💡 Feature Request
Media File Support for Ai Agent
Enable AI conversations to accept and process media messages, including images, PDFs, documents, audio, videos, and other supported file types. This will allow users to share media directly with the AI agent, enabling it to analyze the content, extract relevant information, and generate context-aware responses based on both text and media inputs. This enhancement will make AI interactions more versatile and better support use cases where users need to discuss or obtain insights from files rather than text alone
💡 Feature Request
Media File Support for Ai Agent
Enable AI conversations to accept and process media messages, including images, PDFs, documents, audio, videos, and other supported file types. This will allow users to share media directly with the AI agent, enabling it to analyze the content, extract relevant information, and generate context-aware responses based on both text and media inputs. This enhancement will make AI interactions more versatile and better support use cases where users need to discuss or obtain insights from files rather than text alone
💡 Feature Request
Support Custom Dashboard Roles with Granular Permissions
Introduce support for custom dashboard roles with granular, per-section permission controls. Currently, the dashboard provides only four predefined roles (Owner, Admin, Moderator, and Developer), with fixed permission sets that cannot be customized. This prevents administrators from restricting access to specific dashboard sections, such as allowing access to Integrations while restricting Credentials, or limiting Chat & Call Logs to Admins only. Providing configurable role-based access control (RBAC) with fine-grained permissions for individual dashboard modules (e.g., Logs, Credentials, Webhooks, Features, Integrations, Billing, Settings, etc.) would enable organizations to implement the principle of least privilege, improve security, and better align dashboard access with internal team responsibilities and compliance requirements.
💡 Feature Request
Support Custom Dashboard Roles with Granular Permissions
Introduce support for custom dashboard roles with granular, per-section permission controls. Currently, the dashboard provides only four predefined roles (Owner, Admin, Moderator, and Developer), with fixed permission sets that cannot be customized. This prevents administrators from restricting access to specific dashboard sections, such as allowing access to Integrations while restricting Credentials, or limiting Chat & Call Logs to Admins only. Providing configurable role-based access control (RBAC) with fine-grained permissions for individual dashboard modules (e.g., Logs, Credentials, Webhooks, Features, Integrations, Billing, Settings, etc.) would enable organizations to implement the principle of least privilege, improve security, and better align dashboard access with internal team responsibilities and compliance requirements.
💡 Feature Request
Support Screen Sharing on Mobile Platforms
Add support for screen sharing during audio and video calls on Android and iOS. This would allow users to share their device screen with other participants.
💡 Feature Request
Support Screen Sharing on Mobile Platforms
Add support for screen sharing during audio and video calls on Android and iOS. This would allow users to share their device screen with other participants.
💡 Feature Request
Option to control virtual background programmatically
We are building an interview platform on the Calls SDK v5. We already have in-call Virtual Background working via the session statics (setVirtualBackgroundBlurLevel, setVirtualBackgroundImage, clearVirtualBackground, showVirtualBackgroundDialog) with hideVirtualBackgroundButton: false. That works well inside an active session. We now need VB (blur + preset image) available on our custom pre-join / waiting-room screen, before joinSession is called, with a live preview in the camera tile. Your own hosted demo at calls.cometchat.io also has no VB on its pre-join lobby (screenshot attached), so we want to confirm whether this is possible at all. Questions: Pre-join VB preview — Is there any supported public API to apply/preview Virtual Background on a local MediaStreamTrack obtained from our own getUserMedia, before an active session exists? The VB engine appears to be bound to the local track only inside an active joinSession. We see previewTrack / previewVirtualBackground slices in the store but found no public setter. Is a green-room / pre-join VB API planned or available? Carry selection into the call — If pre-join VB is not supported, is there a supported way to pass a pre-selected background (blur level or image) into joinSession so it applies immediately on join without the user re-opening the in-call dialog? Note CallSettingsBuilder.setVirtualBackground() is marked @deprecated / has no effect. Dialog-highlight sync — Calling setVirtualBackgroundBlurLevel(n) applies the live blur but does not update the backgrounds[].selected / selectedBackgroundId state that drives the dialog highlight. Result: blur is active but the dialog shows "None", and pressing Done then clears the blur. The sync action (selectBackground(id)) is not exported. Is there a public API to programmatically select a background so the dialog highlight stays in sync?
💡 Feature Request
Option to control virtual background programmatically
We are building an interview platform on the Calls SDK v5. We already have in-call Virtual Background working via the session statics (setVirtualBackgroundBlurLevel, setVirtualBackgroundImage, clearVirtualBackground, showVirtualBackgroundDialog) with hideVirtualBackgroundButton: false. That works well inside an active session. We now need VB (blur + preset image) available on our custom pre-join / waiting-room screen, before joinSession is called, with a live preview in the camera tile. Your own hosted demo at calls.cometchat.io also has no VB on its pre-join lobby (screenshot attached), so we want to confirm whether this is possible at all. Questions: Pre-join VB preview — Is there any supported public API to apply/preview Virtual Background on a local MediaStreamTrack obtained from our own getUserMedia, before an active session exists? The VB engine appears to be bound to the local track only inside an active joinSession. We see previewTrack / previewVirtualBackground slices in the store but found no public setter. Is a green-room / pre-join VB API planned or available? Carry selection into the call — If pre-join VB is not supported, is there a supported way to pass a pre-selected background (blur level or image) into joinSession so it applies immediately on join without the user re-opening the in-call dialog? Note CallSettingsBuilder.setVirtualBackground() is marked @deprecated / has no effect. Dialog-highlight sync — Calling setVirtualBackgroundBlurLevel(n) applies the live blur but does not update the backgrounds[].selected / selectedBackgroundId state that drives the dialog highlight. Result: blur is active but the dialog shows "None", and pressing Done then clears the blur. The sync action (selectBackground(id)) is not exported. Is there a public API to programmatically select a background so the dialog highlight stays in sync?
💡 Feature Request
Show the total number of users present in a CometChat App
The total number of users created in a CometChat application should be visible in the CometChat Dashaboard
💡 Feature Request
Dashboard
Show the total number of users present in a CometChat App
The total number of users created in a CometChat application should be visible in the CometChat Dashaboard
💡 Feature Request
Dashboard