Want to request a feature?

Create a new request and help us improve CometChat!

Permission Control for Participant Audio Actions in Calls (Restrict Muting Others)

Currently, in CometChat Calls (including the Flutter UI Kit), participants have the ability to mute other users through the participant actions menu. This behavior is not ideal for many applications, as it allows users to control other participants’ audio without restriction, resulting in a poor user experience and reduced sense of personal control. To address this, we propose introducing granular permission controls for participant audio actions. This would include the ability to restrict mute functionality so that users can only mute or unmute themselves by default, along with an option to disable the “muteParticipant” capability through roles or permissions. Additionally, the UI Kit should support conditionally hiding or disabling mute controls for other participants based on these permissions, while still allowing flexibility for privileged roles such as moderators or admins to retain this capability if required. The expected outcome is that each participant can manage only their own microphone unless explicitly granted additional permissions. Muting others would be restricted by default, and the UI Kit would dynamically reflect these permission settings. Implementing this feature would significantly improve user experience, prevent misuse, align CometChat with standard practices in modern communication platforms, and reduce the need for extensive UI-level customizations.

💡 Feature Request

Enhancement Request: Server-Side Call Lifecycle Control, Recording Management, and Advanced Webhook Insights in CometChat

We request enhancements to the CometChat calling infrastructure to support robust backend-driven control and visibility over call sessions. While the current React Native SDK enables basic calling functionality, there are several limitations from a backend perspective that restrict advanced use cases such as monitoring, compliance, and centralized session management. We propose the following enhancements: A. Server-Side Call Lifecycle APIs APIs to fetch detailed call session data (status, participants, timestamps, termination reasons) Ability to monitor and manage active calls in real-time B. Force Call Termination API Backend API to terminate active calls programmatically Support for use cases like moderation, time limits, and system-triggered disconnects C. Server-Side Recording Management APIs to start/stop recordings from backend Support for configurable formats (audio/video), resolution, and layouts Synchronous or callback-based recording access D. Enhanced Webhook Events Detailed call termination reasons Network-related events and failure diagnostics User-level disconnect causes E. Custom Metadata Support Ability to attach custom metadata to call sessions Metadata accessible via webhooks and APIs for backend-driven workflows Expected Impact: These enhancements would enable: Better observability and debugging of call sessions Stronger compliance and governance controls Advanced backend-driven workflows and automation Improved overall flexibility for enterprise-grade applications We believe these capabilities are essential for building scalable, compliant, and fully managed calling solutions using CometChat.

💡 Feature Request

Idea

Add Local Caching Mechanism to Improve Chat Load Performance in CometChat React Native UI Kit

Opening a conversation in the CometChat React Native UI Kit currently triggers a full reload of messages from the server each time, resulting in slower load times and a less responsive user experience. In a real-time chat application, users expect conversations to open instantly with previously viewed messages readily available. The lack of a local caching mechanism leads to repeated network calls and unnecessary data fetching, even for recently accessed chats. Introducing a local caching mechanism to store recent conversations and messages on the device would allow chats to load instantly while syncing with the server in the background. This would significantly improve performance, reduce latency, and provide a smoother and more seamless user experience, especially in low or unstable network conditions.

💡 Feature Request