Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
379ca3a
initial improvemnts of react uikit overview and components
PrajwalDhuleCC Feb 11, 2026
c130326
Improvement of overview, react-conversation, react-js-integration, re…
aanshisingh-cometchat Feb 12, 2026
b1827a2
improve the documentation
aanshisingh-cometchat Feb 13, 2026
db16dce
improve the sequence
aanshisingh-cometchat Feb 13, 2026
70bff0c
improve the theme folder documentation
aanshisingh-cometchat Feb 16, 2026
891c194
refactor: improve the uikit doc inorder to make it ai agent readable
aanshisingh-cometchat Feb 17, 2026
5c8a547
Update overview.mdx
swapnil-cometchat Feb 18, 2026
634512a
Update overview.mdx
swapnil-cometchat Feb 18, 2026
7a10731
fixes errors
swapnil-cometchat Feb 18, 2026
447886f
Merge branch 'main' into docs/react-ui-kit-v6
swapnil-cometchat Feb 18, 2026
534e8c1
Update react-js-integration.mdx
swapnil-cometchat Feb 18, 2026
cc1a2e3
Update react-conversation.mdx
swapnil-cometchat Feb 18, 2026
9a353a3
Update react-conversation.mdx
swapnil-cometchat Feb 18, 2026
9e3b877
run app via respective framework
swapnil-cometchat Feb 18, 2026
3d22bea
Update react-one-to-one-chat.mdx
swapnil-cometchat Feb 18, 2026
b60f772
Update react-tab-based-chat.mdx
swapnil-cometchat Feb 18, 2026
76bd12a
updates highlights and lines
swapnil-cometchat Feb 18, 2026
d499e94
Update next-one-to-one-chat.mdx
swapnil-cometchat Feb 18, 2026
09f573c
Update next-tab-based-chat.mdx
swapnil-cometchat Feb 18, 2026
df669bc
Update react-router-integration.mdx
swapnil-cometchat Feb 18, 2026
a65d00f
Update react-router-conversation.mdx
swapnil-cometchat Feb 18, 2026
9988980
Update react-router-one-to-one-chat.mdx
swapnil-cometchat Feb 18, 2026
79c568f
Update react-router-tab-based-chat.mdx
swapnil-cometchat Feb 18, 2026
63b2b10
removes <Note> **Available via:**
swapnil-cometchat Feb 18, 2026
ea70bd7
Update ai-features.mdx
swapnil-cometchat Feb 18, 2026
fa05441
Update ai-features.mdx
swapnil-cometchat Feb 18, 2026
dcffae9
Update extensions.mdx
swapnil-cometchat Feb 18, 2026
7cc4b70
Update ai-features.mdx
swapnil-cometchat Feb 18, 2026
b9d98d3
Update theme.mdx
swapnil-cometchat Feb 18, 2026
fddfa82
Update theme.mdx
swapnil-cometchat Feb 18, 2026
dec15c0
Update color-resources.mdx
swapnil-cometchat Feb 19, 2026
d1aadb7
Update conversations.mdx
swapnil-cometchat Feb 19, 2026
7812825
Update users.mdx
swapnil-cometchat Feb 19, 2026
21e2518
Update users.mdx
swapnil-cometchat Feb 19, 2026
8613f20
Update users.mdx
swapnil-cometchat Feb 19, 2026
762449d
Update groups.mdx
swapnil-cometchat Feb 19, 2026
0197365
Update groups.mdx
swapnil-cometchat Feb 19, 2026
440240f
Update groups.mdx
swapnil-cometchat Feb 19, 2026
868045e
Update users.mdx
swapnil-cometchat Feb 19, 2026
09b7f61
Update group-members.mdx
swapnil-cometchat Feb 19, 2026
a10b3eb
Update group-members.mdx
swapnil-cometchat Feb 19, 2026
4e29a17
Update group-members.mdx
swapnil-cometchat Feb 19, 2026
64af67d
Update message-header.mdx
swapnil-cometchat Feb 19, 2026
493e40a
Update message-header.mdx
swapnil-cometchat Feb 19, 2026
86e9f42
Update message-header.mdx
swapnil-cometchat Feb 19, 2026
a64e887
Update message-header.mdx
swapnil-cometchat Feb 19, 2026
51578f5
Update message-header.mdx
swapnil-cometchat Feb 19, 2026
8cb2e0e
Update message-header.mdx
swapnil-cometchat Feb 19, 2026
9e24232
Update message-header.mdx
swapnil-cometchat Feb 19, 2026
a040c8a
Update message-list.mdx
swapnil-cometchat Feb 19, 2026
8023cd3
Update message-header.mdx
swapnil-cometchat Feb 19, 2026
af6d8d1
Update message-list.mdx
swapnil-cometchat Feb 19, 2026
e690982
adds line numbers
swapnil-cometchat Feb 19, 2026
5f214e3
Update message-list.mdx
swapnil-cometchat Feb 19, 2026
504f307
updates the #####
swapnil-cometchat Feb 19, 2026
82a9cbf
updates css
swapnil-cometchat Feb 19, 2026
e635b40
Update outgoing-call.mdx
swapnil-cometchat Feb 19, 2026
82e44b4
Update methods.mdx
swapnil-cometchat Feb 19, 2026
1fe008e
Update events.mdx
swapnil-cometchat Feb 19, 2026
44592f8
fixes pages for features and theming
swapnil-cometchat Feb 22, 2026
84e400f
components
swapnil-cometchat Feb 22, 2026
e8ae82c
updates components for agents
swapnil-cometchat Feb 23, 2026
ca631dc
Update core-features.mdx
swapnil-cometchat Feb 23, 2026
7707474
Revert "updates components for agents"
swapnil-cometchat Feb 23, 2026
999f94b
Revert "Update core-features.mdx"
swapnil-cometchat Feb 23, 2026
965bb71
Revert "fixes pages for features and theming"
swapnil-cometchat Feb 23, 2026
f79eb21
Update .gitignore
swapnil-cometchat Feb 24, 2026
8973bc3
Update extensions.mdx
swapnil-cometchat Feb 24, 2026
26cd64e
Update core-features.mdx
swapnil-cometchat Feb 24, 2026
4f57069
Update ai-features.mdx
swapnil-cometchat Feb 24, 2026
6090679
Update call-features.mdx
swapnil-cometchat Feb 24, 2026
9a6e7ba
Update overview.mdx
swapnil-cometchat Feb 25, 2026
b44b36e
adds AI Agent Component Spec
swapnil-cometchat Feb 25, 2026
bb5de77
Update message-composer.mdx
swapnil-cometchat Feb 25, 2026
a1b6e6b
Update message-bubble-styling.mdx
swapnil-cometchat Feb 25, 2026
f66307e
Update message-bubble-styling.mdx
swapnil-cometchat Feb 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.DS_Store

.kiro/
/cometchat-uikit-react-6
38 changes: 19 additions & 19 deletions fundamentals/extensions-overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,32 +11,32 @@ Extensions pickup where our core leaves. They help extend the functionality of C

Extensions that help improve the user messaging experience. *Recommended for most apps.*

[Pin message](/fundamentals/pin-message)\
[Bitly](/fundamentals/bitly)\
[Avatars](/fundamentals/avatars)\
[Message shortcuts](/fundamentals/message-shortcuts)\
[Link Preview](/fundamentals/link-preview)\
[Message shortcuts](/fundamentals/message-shortcuts)\
[Pin message](/fundamentals/pin-message)\
[Rich Media Preview](/fundamentals/rich-media-preview)\
[Save message](/fundamentals/save-message)\
[Thumbnail Generation](/fundamentals/thumbnail-generation)\
[TinyURL](/fundamentals/tinyurl)\
[Voice Transcription](/fundamentals/voice-transcription)
[Voice Transcription](/fundamentals/voice-transcription)\
[Avatars](/fundamentals/avatars)

### User Engagement

Extensions that help increase user engagement. *Recommended for advanced apps.*

[Email replies](/fundamentals/email-replies)\
[Polls](/fundamentals/polls)\
[Giphy](/fundamentals/giphy)\
[Mentions](/fundamentals/mentions)\
[Message Translation](/fundamentals/message-translation)\
[Reactions](/fundamentals/reactions)\
[Smart Reply](/fundamentals/smart-replies)\
[Polls](/fundamentals/polls)\
[Reminders](/fundamentals/reminders)\
[Stickers](/fundamentals/stickers)\
[Stipop](/fundamentals/stickers-stipop)\
[Tenor](/fundamentals/tenor)\
[Reminders](/fundamentals/reminders)\
[Email replies](/fundamentals/email-replies)\
[Mentions](/fundamentals/mentions)\
[Reactions](/fundamentals/reactions)\
[Smart Reply](/fundamentals/smart-replies)\
[Live Streaming by api.video](/fundamentals/video-broadcasting)

### Collaboration
Expand All @@ -46,12 +46,19 @@ Extensions that help with collaboration. *Recommended for advanced apps.*
[Collaborative Whiteboard](/fundamentals/collaborative-whiteboard)\
[Collaborative Document](/fundamentals/collaborative-document)

### Security

*Extensions that help you to build adding extra security to your apps.* *Recommended for live streaming and event apps.*

[Disappearing messages](/fundamentals/disappearing-messages)\
[End to End Encryption](/fundamentals/end-to-end-encryption)

### Customer Support

Extensions that help you add support to your app. *Recommended for advanced apps.*

[Intercom](/fundamentals/intercom)\
[Chatwoot](/fundamentals/chatwoot)
[Chatwoot](/fundamentals/chatwoot)\
[Intercom](/fundamentals/intercom)

### Notifications

Expand All @@ -66,10 +73,3 @@ Extensions that help alert users of new messages. *Recommended for all apps.*
*Extensions that help you to build a safe messaging environment.* *Recommended for live streaming and event apps.*

[Legacy Moderation Extensions](/moderation/legacy-extensions)

### Security

*Extensions that help you to build adding extra security to your apps.* *Recommended for live streaming and event apps.*

[Disappearing messages](/fundamentals/disappearing-messages)\
[End to End Encryption](/fundamentals/end-to-end-encryption)
66 changes: 60 additions & 6 deletions sdk/javascript/video-view-customisation.mdx
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
---
title: "Video View Customisation"
description: "Customize the main video container in CometChat calls — aspect ratio, full screen button, name label, and network label positioning."
---


<Info>
**Quick Reference**
- **Class:** `CometChat.MainVideoContainerSetting`
- **Apply via:** `CallSettingsBuilder.setMainVideoContainerSetting(videoSettings)`
- **Customizable elements:** Aspect ratio, full screen button, name label, network label
- **Position constants:** `POSITION_TOP_LEFT`, `POSITION_TOP_RIGHT`, `POSITION_BOTTOM_LEFT`, `POSITION_BOTTOM_RIGHT`
- **Requires:** [Default Calling](/sdk/javascript/default-call) or [Direct Calling](/sdk/javascript/direct-call) setup
</Info>

This section will guide you to customise the main video container.

Expand All @@ -26,16 +34,62 @@ The `MainVideoContainerSetting` Class is the required in case you want to custom
Example:

<Tabs>
<Tab title="TypeScript">
```typescript
<Tab title="JavaScript">
```javascript
let videoSettings = new CometChat.MainVideoContainerSetting();

videoSettings.setMainVideoAspectRatio(CometChat.CallSettings.ASPECT_RATIO_CONTAIN);
videoSettings.setMainVideoAspectRatio(CometChat.CallSettings.ASPECT_RATIO_CONTAIN);
videoSettings.setFullScreenButtonParams(CometChat.CallSettings.POSITION_BOTTOM_RIGHT, true);
videoSettings.setNameLabelParams(CometChat.CallSettings.POSITION_BOTTOM_LEFT, true, "rgba(27, 27, 27, 0.4)");
videoSettings.setNetworkLabelParams(CometChat.CallSettings.POSITION_BOTTOM_RIGHT, true);
videoSettings.setNetworkLabelParams(CometChat.CallSettings.POSITION_BOTTOM_RIGHT, true);
```

</Tab>
<Tab title="TypeScript">
```typescript
let videoSettings: CometChat.MainVideoContainerSetting = new CometChat.MainVideoContainerSetting();

videoSettings.setMainVideoAspectRatio(CometChat.CallSettings.ASPECT_RATIO_CONTAIN);
videoSettings.setFullScreenButtonParams(CometChat.CallSettings.POSITION_BOTTOM_RIGHT, true);
videoSettings.setNameLabelParams(CometChat.CallSettings.POSITION_BOTTOM_LEFT, true, "rgba(27, 27, 27, 0.4)");
videoSettings.setNetworkLabelParams(CometChat.CallSettings.POSITION_BOTTOM_RIGHT, true);
```
</Tab>
</Tabs>

<AccordionGroup>
<Accordion title="Best Practices">

| Practice | Details |
| --- | --- |
| Aspect ratio choice | Use `ASPECT_RATIO_CONTAIN` to show the full video without cropping; use `ASPECT_RATIO_COVER` for a full-bleed look that may crop edges |
| Label positioning | Avoid placing the name label and network label in the same corner to prevent overlap |
| Full screen button | Keep the full screen button visible for better UX; only hide it if your app provides its own full screen toggle |

</Accordion>
<Accordion title="Troubleshooting">

| Symptom | Cause | Fix |
| --- | --- | --- |
| Video settings not applied | `setMainVideoContainerSetting()` not called on `CallSettingsBuilder` | Pass the `MainVideoContainerSetting` object to `CallSettingsBuilder.setMainVideoContainerSetting()` before calling `startCall()` |
| Labels overlapping | Multiple labels positioned in the same corner | Assign different position constants to each label |
| Full screen button missing | Visibility set to `false` | Set the second parameter of `setFullScreenButtonParams()` to `true` |

</Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
<Card title="Default Calling" icon="phone" href="/sdk/javascript/default-call">
Implement default audio/video calling.
</Card>
<Card title="Direct Calling" icon="video" href="/sdk/javascript/direct-call">
Implement direct calling without call events.
</Card>
<Card title="Virtual Background" icon="image" href="/sdk/javascript/virtual-background">
Add virtual background and blur effects.
</Card>
<Card title="Recording" icon="circle-dot" href="/sdk/javascript/recording">
Record calls for playback.
</Card>
</CardGroup>
69 changes: 53 additions & 16 deletions sdk/javascript/virtual-background.mdx
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
---
title: "Virtual Background"
description: "Implement virtual background features in CometChat video calls — background blur, custom images, and enforced backgrounds using the JavaScript SDK."
---


<Info>
**Quick Reference**
- **Settings class:** `CometChat.VirtualBackground`
- **Apply via:** `CallSettingsBuilder.setVirtualBackground(virtualBackground)`
- **Toggle UI:** `CallSettingsBuilder.showVirtualBackgroundSetting(true|false)`
- **Runtime control:** `CometChat.CallController.getInstance()` → `setBackgroundBlur()`, `setBackgroundImage()`, `openVirtualBackground()`
- **Requires:** [Default Calling](/sdk/javascript/default-call) or [Direct Calling](/sdk/javascript/direct-call) setup
</Info>

This section will guide you to implement virtual background feature in video calls.

Expand Down Expand Up @@ -35,21 +43,17 @@ You can use the `openVirtualBackground()` method to open the virtual background

<Tabs>
<Tab title="JavaScript">
```js
```javascript
let callController = CometChat.CallController.getInstance();
callController.openVirtualBackground();
```

</Tab>

<Tab title="TypeScript">
```typescript
let callController: CometChat.CallController = CometChat.CallController.getInstance();
callController.openVirtualBackground();
```

</Tab>

</Tabs>

### Set Background Blur
Expand All @@ -58,23 +62,19 @@ You can use the `setBackgroundBlur()` method to apply background blur on the vid

<Tabs>
<Tab title="JavaScript">
```js
```javascript
let callController = CometChat.CallController.getInstance();
let blurLevel = 1;
callController.setBackgroundBlur(blurLevel);
```

</Tab>

<Tab title="TypeScript">
```typescript
let callController: CometChat.CallController = CometChat.CallController.getInstance();
let blurLevel: number = 1;
callController.setBackgroundBlur(blurLevel);
```

</Tab>

</Tabs>

### Set Background Image
Expand All @@ -83,23 +83,19 @@ You can use the `setBackgroundImage()`method to set the background image. This m

<Tabs>
<Tab title="JavaScript">
```js
```javascript
let callController = CometChat.CallController.getInstance();
let imageURL = "URL_OF_BACKGROUND_IMAGE";
callController.setBackgroundImage(imageURL);
```

</Tab>

<Tab title="TypeScript">
```typescript
let callController: CometChat.CallController = CometChat.CallController.getInstance();
let imageURL: string = "URL_OF_BACKGROUND_IMAGE";
callController.setBackgroundImage(imageURL);
```

</Tab>

</Tabs>

## Virtual Background Settings
Expand All @@ -114,3 +110,44 @@ The `VirtualBackground` Class is the required in case you want to change how the
| `setImages(images: Array<String>)` | This method allows developer to add their custom background image which the end user can choose. |
| `enforceBackgroundBlur(enforceBackgroundBlur: number)` | This method starts the call with background blurred. To blur the background you need to pass an integer value between 1-99 which decides the blur level. **Default = 0** |
| `enforceBackgroundImage(enforceBackgroundImage: string)` | This methods starts the call with the provided background image. |

<AccordionGroup>
<Accordion title="Best Practices">

| Practice | Details |
| --- | --- |
| Blur level range | Use values between 1-99 for `enforceBackgroundBlur()`. Higher values produce stronger blur. A value of 0 disables blur |
| Image hosting | Host background images on a CDN for fast loading. Large images may cause lag when applied |
| Enforce vs allow | Use `enforceBackgroundBlur()` or `enforceBackgroundImage()` when you want a mandatory background (e.g., for privacy). Use `allowBackgroundBlur()` and `allowUserImages()` to let users choose |
| Custom buttons | Use `CallController` methods (`setBackgroundBlur`, `setBackgroundImage`, `openVirtualBackground`) when building a custom UI instead of the default CometChat menu |

</Accordion>
<Accordion title="Troubleshooting">

| Symptom | Cause | Fix |
| --- | --- | --- |
| Virtual background option not visible | `showVirtualBackgroundSetting(false)` was set | Set `showVirtualBackgroundSetting(true)` in `CallSettingsBuilder` |
| Background blur not applied on call start | `enforceBackgroundBlur()` not set or set to 0 | Pass a value between 1-99 to `enforceBackgroundBlur()` |
| Custom images not appearing | `setImages()` not called or empty array passed | Pass a non-empty array of valid image URLs to `setImages()` |
| `CallController.getInstance()` returns null | Called before the call has started | Only use `CallController` methods after `startCall()` has been invoked |
| User can't upload their own images | `allowUserImages(false)` was set | Set `allowUserImages(true)` in the `VirtualBackground` configuration |

</Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
<Card title="Video View Customisation" icon="sliders" href="/sdk/javascript/video-view-customisation">
Customize the main video container layout.
</Card>
<Card title="Recording" icon="circle-dot" href="/sdk/javascript/recording">
Record calls for playback.
</Card>
<Card title="Presenter Mode" icon="presentation-screen" href="/sdk/javascript/presenter-mode">
Enable screen sharing and presenter mode.
</Card>
<Card title="Custom CSS" icon="paintbrush" href="/sdk/javascript/custom-css">
Customize the calling UI appearance.
</Card>
</CardGroup>
Loading