diff --git a/CODEOWNERS b/CODEOWNERS
index 2d8dc495c..78cba80b4 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -6,7 +6,7 @@
# Default owners for everything in the repo
-- @swapnil-cometchat
+* @jitvarpatil
# Moderation related files
diff --git a/mcp-server.mdx b/mcp-server.mdx
index 469db6d5c..239123405 100644
--- a/mcp-server.mdx
+++ b/mcp-server.mdx
@@ -109,25 +109,28 @@ and write the code into your project.
target framework, so the agent can pick the right one.
- Return a curated implementation recipe — prerequisites, install,
- configuration, working code — for a named scenario.
+ Return the docs pages for a named scenario — the integration guide and
+ the platform's AI reference page — compiled into one document.
-### Ten curated implementation bundles
+### Implementation bundles
-| Bundle | What it covers |
+Each bundle is compiled from the current pages of these docs, so it always matches what the docs say.
+
+| Bundle | Built from |
| --- | --- |
-| `react-uikit-quickstart` | React UI Kit install, init, login, conversations list, chat window |
-| `react-native-uikit-quickstart` | React Native UI Kit install, navigation, basic chat screen |
-| `flutter-uikit-quickstart` | Flutter UI Kit install, init, login, basic chat |
-| `ios-uikit-quickstart` | iOS UI Kit (SwiftUI) install, init, login, chat view |
-| `android-uikit-quickstart` | Android UI Kit (Compose) install, init, login, chat screen |
-| `js-sdk-messaging-basics` | Vanilla JS SDK install, send/receive text and media messages |
-| `widget-embed` | No-code widget embed for an existing site |
-| `moderation-setup` | AI moderation, profanity filter, image moderation, webhooks |
-| `multi-tenant-chat` | Multi-tenant SaaS chat — auth, isolation, tenant-scoped users |
-| `presence-and-typing` | Online presence, typing indicators, read receipts |
+| `react-uikit-quickstart` | [React integration](/ui-kit/react/integration-react) and the React AI reference page |
+| `react-native-uikit-quickstart` | [React Native CLI integration](/ui-kit/react-native/react-native-cli-integration) and the React Native AI reference page |
+| `angular-uikit-quickstart` | [Angular integration](/ui-kit/angular/integration) and the Angular AI reference page |
+| `flutter-uikit-quickstart` | [Flutter getting started](/ui-kit/flutter/getting-started) and the Flutter AI reference page |
+| `ios-uikit-quickstart` | [iOS integration](/ui-kit/ios/getting-started) and the iOS AI reference page |
+| `android-uikit-quickstart` | [Android getting started](/ui-kit/android/getting-started), the Jetpack Compose guide, and the Android AI reference page |
+| `js-sdk-messaging-basics` | JavaScript SDK [setup](/sdk/javascript/setup-sdk), [send](/sdk/javascript/send-message) and [receive](/sdk/javascript/receive-message) messages |
+| `presence-and-typing` | JavaScript SDK [presence](/sdk/javascript/user-presence), [typing indicators](/sdk/javascript/typing-indicators) and [receipts](/sdk/javascript/delivery-read-receipts) |
+| `moderation-setup` | [Moderation getting started](/moderation/getting-started) |
+| `multi-tenant-chat` | [Multi-tenancy](/fundamentals/multi-tenancy) |
+| `widget-embed` | [Widget HTML integration](/widget/html/integration) |
### Orientation skill resource
diff --git a/ui-kit/android/call-features.mdx b/ui-kit/android/call-features.mdx
index af17a5d73..492f6ed6a 100644
--- a/ui-kit/android/call-features.mdx
+++ b/ui-kit/android/call-features.mdx
@@ -33,8 +33,8 @@ Add the following dependency to your `build.gradle.kts` file:
```kotlin build.gradle.kts
dependencies {
- implementation("com.cometchat:chatuikit-kotlin-android:6.0.6")
- implementation("com.cometchat:calls-sdk-android:5.0.1")
+ implementation("com.cometchat:chatuikit-kotlin-android:6.1.1")
+ implementation("com.cometchat:calls-sdk-android:5.0.4")
}
```
@@ -42,8 +42,8 @@ dependencies {
```kotlin build.gradle.kts
dependencies {
- implementation("com.cometchat:chatuikit-compose-android:6.0.6")
- implementation("com.cometchat:calls-sdk-android:5.0.1")
+ implementation("com.cometchat:chatuikit-compose-android:6.1.1")
+ implementation("com.cometchat:calls-sdk-android:5.0.4")
}
```
diff --git a/ui-kit/android/calling-integration.mdx b/ui-kit/android/calling-integration.mdx
index ede933702..162750233 100644
--- a/ui-kit/android/calling-integration.mdx
+++ b/ui-kit/android/calling-integration.mdx
@@ -36,8 +36,8 @@ Add the CometChat Calls SDK dependency alongside your chosen UI Kit module:
```kotlin build.gradle.kts
dependencies {
- implementation("com.cometchat:chatuikit-kotlin-android:6.0.6")
- implementation("com.cometchat:calls-sdk-android:5.0.1")
+ implementation("com.cometchat:chatuikit-kotlin-android:6.1.1")
+ implementation("com.cometchat:calls-sdk-android:5.0.4")
}
```
@@ -45,8 +45,8 @@ dependencies {
```kotlin build.gradle.kts
dependencies {
- implementation("com.cometchat:chatuikit-compose-android:6.0.6")
- implementation("com.cometchat:calls-sdk-android:5.0.1")
+ implementation("com.cometchat:chatuikit-compose-android:6.1.1")
+ implementation("com.cometchat:calls-sdk-android:5.0.4")
}
```
diff --git a/ui-kit/android/getting-started-jetpack.mdx b/ui-kit/android/getting-started-jetpack.mdx
index 5a4377e55..d5e17326d 100644
--- a/ui-kit/android/getting-started-jetpack.mdx
+++ b/ui-kit/android/getting-started-jetpack.mdx
@@ -116,13 +116,21 @@ android {
dependencies {
// CometChat Jetpack Compose UI Kit
- implementation("com.cometchat:chatuikit-compose-android:6.0.6")
+ implementation("com.cometchat:chatuikit-compose-android:6.1.1")
// (Optional) Voice/video calling
- implementation("com.cometchat:calls-sdk-android:5.0.1")
+ implementation("com.cometchat:calls-sdk-android:5.0.4")
}
```
+
+**Use Compose 1.8 or newer.** `chatuikit-compose-android` 6.1.1 declares compose-bom 2024.09.00 (Compose 1.7) in its POM, but calls a Compose 1.8 `LazyColumn` API. With Compose 1.7 the app builds, then crashes with `NoSuchMethodError: ... LazyColumn(...)` when `CometChatConversations` first renders. Pin a newer BOM in your app module:
+
+```kotlin
+implementation(platform("androidx.compose:compose-bom:2025.06.00"))
+```
+
+
---
diff --git a/ui-kit/android/getting-started-kotlin.mdx b/ui-kit/android/getting-started-kotlin.mdx
index a60485102..e275017ca 100644
--- a/ui-kit/android/getting-started-kotlin.mdx
+++ b/ui-kit/android/getting-started-kotlin.mdx
@@ -111,10 +111,10 @@ android {
dependencies {
// CometChat Kotlin UI Kit
- implementation("com.cometchat:chatuikit-kotlin-android:6.0.6")
+ implementation("com.cometchat:chatuikit-kotlin-android:6.1.1")
// (Optional) Voice/video calling
- implementation("com.cometchat:calls-sdk-android:5.0.1")
+ implementation("com.cometchat:calls-sdk-android:5.0.4")
}
```
diff --git a/ui-kit/android/getting-started.mdx b/ui-kit/android/getting-started.mdx
index cb38fc392..b310a01a8 100644
--- a/ui-kit/android/getting-started.mdx
+++ b/ui-kit/android/getting-started.mdx
@@ -88,8 +88,8 @@ Inside `libs.versions.toml`, add the versions:
```toml libs.versions.toml
[versions]
-cometchat-ui-kit = "6.0.3"
-cometchat-calls-sdk = "5.0.1"
+cometchat-ui-kit = "6.1.1"
+cometchat-calls-sdk = "5.0.4"
```
Define the libraries — pick the module for your UI toolkit:
@@ -132,10 +132,10 @@ Open the app-level `build.gradle.kts` file and add the dependency for your chose
```kotlin build.gradle.kts
dependencies {
- implementation("com.cometchat:chatuikit-kotlin-android:6.0.6")
+ implementation("com.cometchat:chatuikit-kotlin-android:6.1.1")
// (Optional) Include if using voice/video calling features
- implementation("com.cometchat:calls-sdk-android:5.0.1")
+ implementation("com.cometchat:calls-sdk-android:5.0.4")
}
```
@@ -143,10 +143,10 @@ dependencies {
```kotlin build.gradle.kts
dependencies {
- implementation("com.cometchat:chatuikit-compose-android:6.0.6")
+ implementation("com.cometchat:chatuikit-compose-android:6.1.1")
// (Optional) Include if using voice/video calling features
- implementation("com.cometchat:calls-sdk-android:5.0.1")
+ implementation("com.cometchat:calls-sdk-android:5.0.4")
}
```
diff --git a/ui-kit/angular/components/cometchat-message-list.mdx b/ui-kit/angular/components/cometchat-message-list.mdx
index 63a55f241..802df567e 100644
--- a/ui-kit/angular/components/cometchat-message-list.mdx
+++ b/ui-kit/angular/components/cometchat-message-list.mdx
@@ -358,7 +358,7 @@ This section provides a complete reference of all @Input properties, @Output eve
| `messagesRequestBuilder` | `CometChat.MessagesRequestBuilder` | `undefined` | Custom request builder for advanced message filtering and pagination configuration. |
| `reactionsRequestBuilder` | `CometChat.ReactionsRequestBuilder` | `undefined` | Custom request builder for configuring how reactions are fetched. |
| `textFormatters` | `CometChatTextFormatter[]` | `undefined` | Array of text formatters for processing message text content (mentions, links, custom patterns). |
-| `messageAlignment` | `MessageListAlignment` | `'standard'` | Message alignment mode. Options: `'left'` (all messages left-aligned) or `'standard'` (sent right, received left). |
+| `messageAlignment` | `MessageListAlignment` | `MessageListAlignment.standard` | Message alignment mode. Options: `MessageListAlignment.left` (all messages left-aligned) or `MessageListAlignment.standard` (sent right, received left). The enum is numeric, so bind the enum member, not a string. |
| `scrollToBottomOnNewMessages` | `boolean` | `false` | When `true`, automatically scrolls to the bottom when new messages arrive. |
| `quickOptionsCount` | `number` | `2` | Number of quick action options to display directly on the message bubble. |
| `disableSoundForMessages` | `boolean` | `false` | When `true`, disables notification sounds for incoming messages. |
@@ -625,8 +625,8 @@ const customDateFormat: CalendarObject = {
```typescript
enum MessageListAlignment {
- standard = 'standard', // Sent messages right, received messages left
- left = 'left' // All messages aligned to the left
+ left = 0, // All messages aligned to the left
+ standard = 1 // Sent messages right, received messages left
}
```
@@ -634,9 +634,9 @@ enum MessageListAlignment {
```typescript
enum MessageBubbleAlignment {
- left = 'left', // Message bubble aligned to the left
- right = 'right', // Message bubble aligned to the right
- center = 'center' // Message bubble centered (used for action messages)
+ left = 0, // Message bubble aligned to the left
+ right = 1, // Message bubble aligned to the right
+ center = 2 // Message bubble centered (used for action messages)
}
```
@@ -806,18 +806,20 @@ import { CometChatMessageListComponent, MessageListAlignment } from '@cometchat/
`
})
export class LeftAlignedChatComponent {
user?: CometChat.User;
+ // Expose the enum to the template. Its values are numbers, so a string such as 'left' does not work.
+ readonly MessageListAlignment = MessageListAlignment;
}
```
@@ -1977,7 +1979,6 @@ class HashtagFormatter extends CometChatTextFormatter {
[scrollToBottomOnNewMessages]="true"
[disableSoundForMessages]="false"
- [messageAlignment]="'standard'"
[hideReceipts]="false"
diff --git a/ui-kit/ios/getting-started.mdx b/ui-kit/ios/getting-started.mdx
index b9abeb260..d7bda0e85 100644
--- a/ui-kit/ios/getting-started.mdx
+++ b/ui-kit/ios/getting-started.mdx
@@ -9,14 +9,14 @@ description: "Integrate CometChat iOS UI Kit with project setup, package install
| Field | Value |
| --- | --- |
| Package | `CometChatUIKitSwift` |
-| Version | `5.1.22` |
-| Requirements | Xcode 16+, iOS 13.0+, Swift 5.0+ |
+| Version | `5.2.3` (Swift Package Manager, Up to Next Major Version) |
+| Requirements | Xcode 16+, iOS 15.1+, Swift 5.0+ |
| Init | `CometChatUIKit.init(uiKitSettings:)` — must complete before `login()` |
| Login | `CometChatUIKit.login(uid:)` — must complete before rendering components |
| Order | `init()` → `login()` → render. Breaking this order = blank screen |
| Auth Key | Dev/testing only. Use Auth Token in production |
-| Calling | Optional. Install `CometChatCallsSDK 4.2.3` to enable |
-| Dependencies | `CometChatSDK 4.1.9` (installed automatically) |
+| Calling | Optional. Add `CometChatCallsSDK` 5.0.4 (Up to Next Major Version) to enable |
+| Dependencies | `CometChatSDK` 4.1.10+ (resolved automatically by the UI Kit package) |
| AI Skills | `npx @cometchat/skills add` — [GitHub](https://github.com/cometchat/cometchat-skills) |
@@ -65,7 +65,7 @@ You need three things from the [CometChat Dashboard](https://app.cometchat.com/)
You also need:
- Xcode 16 or later
-- iOS device or simulator running iOS 13.0+
+- iOS device or simulator running iOS 15.1+
- Swift 5.0+
- macOS
@@ -88,42 +88,8 @@ Open Xcode and create a new project:
## Step 2 — Install the UI Kit
-
-
-1. Create a Podfile in your project root:
+Add the UI Kit with Swift Package Manager:
-```bash
-pod init
-```
-
-2. Add CometChat to your Podfile:
-
-```ruby title="Podfile"
-platform :ios, '13.0'
-use_frameworks!
-
-target 'YourApp' do
- pod 'CometChatUIKitSwift', '5.1.22'
-
- # Optional: Voice/Video Calling
- pod 'CometChatCallsSDK', '4.2.3'
-end
-```
-
-3. Install dependencies:
-
-```bash
-pod install --repo-update
-```
-
-4. Close the `.xcodeproj` file and open the `.xcworkspace` file instead. CocoaPods creates a workspace that includes your project and the installed pods.
-
-
-Always open the `.xcworkspace` file after installing pods — opening the `.xcodeproj` will cause build errors. Having issues? See [CocoaPods Troubleshooting](/ui-kit/ios/troubleshooting#cocoapods-issues).
-
-
-
-
1. Go to **File → Add Package Dependencies**
2. Enter the repository URL:
@@ -132,29 +98,20 @@ Always open the `.xcworkspace` file after installing pods — opening the `.xcod
https://github.com/cometchat/cometchat-uikit-ios
```
-3. Select **Up to Exact Version** and enter:
+3. Select **Up to Next Major Version** and enter:
```
-5.1.22
+5.2.3
```
-4. Add the Chat SDK separately using:
+4. Add the **CometChatUIKitSwift** product to your app target.
-```
-https://github.com/cometchat/chat-sdk-ios
-```
+The UI Kit package declares its own dependencies, so SPM also resolves `CometChatSDK` (4.1.10 or later) and `CometChatCardsSwift`. Don't add `chat-sdk-ios` yourself. If an older integration pins it to an exact version, remove that pin or change it to **Up to Next Major Version** from 4.1.10; an exact pin below 4.1.10 makes package resolution fail.
- Exact Version: `4.1.9`
-
-
+For voice and video calling, also add `https://github.com/cometchat/calls-sdk-ios` with **Up to Next Major Version** from `5.0.4`. A chat-only app doesn't need it.
-**Pin the Chat SDK to the exact version the UI Kit requires.** `CometChatUIKitSwift` ships as a prebuilt binary compiled against one specific `CometChatSDK` version — for UI Kit `5.1.22` that is `CometChatSDK 4.1.9` (see the version table at the top of this page).
-
-- **CocoaPods** installs the matching `CometChatSDK` automatically when you run `pod install`. Don't add your own `CometChatSDK` pod pinned to a different version.
-- **Swift Package Manager** does not resolve it for you — add `chat-sdk-ios` with **Up to Exact Version** set to the version the UI Kit depends on. Forcing a newer or older Chat SDK (an SPM override) is unsupported and typically fails to build or crashes at runtime.
-
-To adopt a newer Chat SDK release, upgrade to a UI Kit version that depends on it rather than overriding the SDK version directly. The full list of Chat SDK releases is on [GitHub](https://github.com/cometchat/chat-sdk-ios/releases).
+**CocoaPods:** the latest UI Kit on CocoaPods is 5.1.18, and new releases ship through Swift Package Manager only. Move CocoaPods projects to Swift Package Manager to get current releases and fixes.
---
diff --git a/ui-kit/ios/message-list.mdx b/ui-kit/ios/message-list.mdx
index 07995141c..45c34fb35 100644
--- a/ui-kit/ios/message-list.mdx
+++ b/ui-kit/ios/message-list.mdx
@@ -43,7 +43,7 @@ The `CometChatMessageList` component displays a scrollable list of messages in a
"onLoad": "([BaseMessage]) -> Void"
},
"visibility": {
- "hideAvatar": { "type": "Bool", "default": false },
+ "hideAvatar": { "type": "Bool?", "default": "nil" },
"hideReceipts": { "type": "Bool", "default": false },
"hideDateSeparator": { "type": "Bool", "default": false },
"hideHeaderView": { "type": "Bool", "default": false },
@@ -75,7 +75,7 @@ The `CometChatMessageList` component displays a scrollable list of messages in a
"enablePinMessage": { "type": "Bool", "default": false, "note": "Also requires CometChat.isPinMessageEnabled()" },
"enableSaveMessage": { "type": "Bool", "default": false, "note": "Also requires CometChat.isSaveMessageEnabled()" },
"enableThreadSubscription": { "type": "Bool", "default": false, "note": "Offered on parent messages only, never on a reply" },
- "messageAlignment": { "type": "MessageAlignment", "default": ".standard" }
+ "messageAlignment": { "type": "MessageListAlignment", "default": ".standard" }
},
"viewSlots": {
"headerView": "() -> UIView",
@@ -116,9 +116,9 @@ The `CometChatMessageList` component displays a scrollable list of messages in a
"type": "String",
"category": "String"
},
- "MessageAlignment": {
+ "MessageListAlignment": {
"standard": "Outgoing messages on right, incoming on left",
- "left": "All messages aligned to left"
+ "leftAligned": "All messages aligned to left"
}
}
}
@@ -1578,12 +1578,12 @@ messageList.errorTitleText = "Unable to load messages"
### hideAvatar
-Hides the sender's avatar in message bubbles.
+Hides the sender's avatar in message bubbles. When it is not set (`nil`), avatars show on incoming messages in group chats and are hidden in one-to-one chats. Set it to `false` to show avatars in one-to-one chats too.
| | |
|---|---|
-| Type | `Bool` |
-| Default | `false` |
+| Type | `Bool?` |
+| Default | `nil` |
### hideBubbleHeader
@@ -1851,13 +1851,17 @@ Hides the message translation option.
### messageAlignment
-Sets the alignment of messages in the list.
+Sets the alignment of messages in the list: `.standard` (outgoing on the right, incoming on the left) or `.leftAligned` (all messages on the left).
| | |
|---|---|
-| Type | `MessageAlignment` |
+| Type | `MessageListAlignment` |
| Default | `.standard` |
+```swift
+messageList.set(messageAlignment: .leftAligned)
+```
+
### messageBubbleStyle
Customizes the appearance of message bubbles.