> ## Documentation Index
> Fetch the complete documentation index at: https://cometchat-22654f5b-docs-rn-guide-message-privately.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Flutter sdk changes review

# Flutter SDK (`sdk/flutter/`) Changes Review

> **Base:** commit `5e4976de` (state before the improvements branch)\
> **Target:** commit `9feb900b` (tip of `docs/flutter-sdk-improvments`)\
> **Scope:** `sdk/flutter/*.mdx` only, `sdk/flutter/3.0/` excluded\
> **Total:** 62 files modified (+8,176 lines, −16 lines)\
> **Commits:**
>
> * `659f8839` — "feat: made docs more agentic and developer friendly" (added Quick Reference `<Info>` blocks, `description` frontmatter, `<Warning>` blocks, `<Note>` blocks, and Next Steps `<CardGroup>` navigation to all files)
> * `beb0cc1c` — "docs(flutter): add response and error accordions to SDK docs" (added `<Accordion title="Response">` and `<Accordion title="Error">` sections after every SDK method call across all files except presenter-mode)
> * `9feb900b` — "docs(flutter): add response and error accordions to presenter mode" (added response/error accordions to the final remaining file)

***

## What Changed Across All Files — Pattern Summary

Every file received some combination of these five additions:

### 1. `description` frontmatter (all 62 files)

A one-line SEO description was added to the YAML frontmatter of every file. Example:

```yaml theme={null}
description: "Get started with the CometChat Flutter SDK to add real-time chat and calling features to your Flutter application."
```

### 2. AI Agent Quick Reference `<Info>` blocks (all 62 files)

A hidden comment `{/* TL;DR for Agents and Quick Reference */}` followed by an `<Info>` block containing copy-paste-ready Dart/YAML code snippets was added at the top of every page, right after the frontmatter. These blocks are designed for both AI agents and developers to quickly understand the page's core functionality without reading the full content. Example from `overview.mdx`:

```dart theme={null}
// Initialize (run once at app start)
AppSettings appSettings = (AppSettingsBuilder()
  ..subscriptionType = CometChatSubscriptionType.allUsers
  ..region = "REGION"
  ..autoEstablishSocketConnection = true
).build();

CometChat.init("APP_ID", appSettings,
  onSuccess: (msg) => debugPrint("Init success"),
  onError: (e) => debugPrint("Init failed: ${e.message}"),
);
```

### 3. Response/Error Accordions (most files — wherever SDK methods exist)

After every SDK method call on the page, two expandable `<Accordion>` sections were added:

* **`<Accordion title="Response">`** — Documents the success callback return type with a table of fields including Parameter, Type, Description, and Sample Value. For complex objects (User, Group, BaseMessage, Call), every field is listed with realistic sample values.
* **`<Accordion title="Error">`** — Documents the error callback with `code`, `message`, and `details` fields and sample error values.

Example Response table fields for `sendMessage()`:
`id`, `metadata`, `receiver`, `editedBy`, `conversationId`, `sentAt`, `receiverUid`, `type`, `readAt`, `deletedBy`, `deliveredAt`, `deletedAt`, `replyCount`, `sender`, `receiverType`, `editedAt`, `parentMessageId`, `readByMeAt`, `category`, `deliveredToMeAt`, `updatedAt`, `text`, `tags`, `unreadRepliesCount`, `mentionedUsers`, `hasMentionedMe`, `reactions`, `moderationStatus`, `quotedMessageId` — plus nested Sender and Receiver User object tables.

Example Error table:

| Parameter | Type   | Description                  | Sample Value                                              |
| --------- | ------ | ---------------------------- | --------------------------------------------------------- |
| `code`    | string | Error code identifier        | `"ERR_CHAT_API_FAILURE"`                                  |
| `message` | string | Human-readable error message | `"SDK initialization failed."`                            |
| `details` | string | Additional technical details | `"Please verify your App ID and region, then try again."` |

### 4. `<Warning>` blocks (select files — where common pitfalls exist)

Warning callouts were added for critical developer pitfalls. Examples:

* `overview.mdx` / `setup.mdx`: *"`CometChat.init()` must be called before any other SDK method. Calling `login()`, `sendMessage()`, or registering listeners before `init()` will fail."*
* `authentication-overview.mdx`: *"Auth Key is for development/testing only. In production, generate Auth Tokens server-side."*
* `delete-message.mdx` / `delete-conversation.mdx` / `delete-group.mdx`: Warnings about permanent/irreversible deletion
* `default-call.mdx`: *"Generate a call token before starting a session"*
* `ai-agents.mdx`: *"Always remove AI Assistant listeners when they're no longer needed (e.g., on widget dispose or page navigation). Failing to remove listeners can cause memory leaks and duplicate event handling."*
* `receive-messages.mdx`: Warning about removing message listeners on dispose

### 5. Next Steps `<CardGroup>` navigation (all 62 files)

A `---` horizontal rule followed by a `## Next Steps` heading and a `<CardGroup cols={2}>` with 2–4 `<Card>` links was added at the bottom of every page. Each card has a title, icon, href, and description pointing to logically related pages.

***

## Detailed File-by-File Changes

| File Name                             | Changes List                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `overview.mdx`                        | 1. Added `description: "Get started with the CometChat Flutter SDK to add real-time chat and calling features to your Flutter application."`<br />2. Added Quick Reference `<Info>` block containing: `cometchat_sdk: ^4.0.33` install yaml, `CometChat.init()` with `AppSettingsBuilder` code, `CometChat.login()` with Auth Key code, commented `loginWithAuthToken()` alternative, credential source note pointing to Dashboard<br />3. Added `<Warning>`: "CometChat.init() must be called before any other SDK method. Calling login(), sendMessage(), or registering listeners before init() will fail."<br />4. Added Response accordion after `CometChat.init()` — success returns a `String` message: `"Initialization completed successfully"`<br />5. Added Error accordion after `CometChat.init()` — error fields: `code` (`"ERR_CHAT_API_FAILURE"`), `message` (`"SDK initialization failed."`), `details` (`"Please verify your App ID and region, then try again."`)<br />6. Added Response accordion after `CometChat.createUser()` — returns a `User` object with 12 fields: `uid`, `name`, `link`, `avatar`, `metadata`, `status` (`"offline"`), `role` (`"default"`), `statusMessage`, `tags`, `hasBlockedMe`, `blockedByMe`, `lastActiveAt`<br />7. Added Error accordion after `CometChat.createUser()` — error fields: `code` (`"ERR_UID_NOT_FOUND"`), `message`, `details`<br />8. Added Response accordion after `CometChat.login()` — returns a `User` object with same 12 fields, sample `status` is `"online"`, sample `lastActiveAt` is `1745554700`<br />9. Added Error accordion after `CometChat.login()` — same error structure<br />10. Added Next Steps CardGroup with 4 cards: "Setup SDK" (icon: gear, href: `/sdk/flutter/setup`), "Key Concepts" (icon: lightbulb, href: `/sdk/flutter/key-concepts`), "Authentication" (icon: key, href: `/sdk/flutter/authentication-overview`), "Send Messages" (icon: paper-plane, href: `/sdk/flutter/send-message`)                                                                                                                                                                                                                                                                                                                                                       | This is the main entry point for the Flutter SDK docs. The Quick Reference block gives developers the complete install → init → login flow in one glance. The `<Warning>` prevents the #1 integration mistake (calling SDK methods before init). Response accordions document the exact shape of `User` objects returned by `createUser()` and `login()`, including all 12 fields with realistic sample values. Error accordions show the standard `CometChatException` structure (`code`/`message`/`details`) that is consistent across all SDK methods. The Next Steps cards create a guided learning path from overview → setup → auth → messaging.                  |
| `setup.mdx`                           | 1. Added `description: "Install and initialize the CometChat Flutter SDK in your application"`<br />2. Added Quick Reference `<Info>` block — same install + init + login code as overview, plus credential source note<br />3. Added `<Warning>`: same init-before-other-methods warning<br />4. Added Response accordion after `CometChat.init()` — `String` success message<br />5. Added Error accordion after `CometChat.init()` — `code`/`message`/`details`<br />6. Added Next Steps CardGroup with 2 cards: "Authentication" (icon: key), "Send Messages" (icon: paper-plane)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | The setup page is the detailed installation guide (pubspec.yaml, podfile, minSdkVersion, etc.). The Quick Reference duplicates the overview's code block intentionally — developers may land on either page first. Response/Error accordions document what `init()` returns on success/failure so developers know what to expect in their callbacks.                                                                                                                                                                                                                                                                                                                    |
| `authentication-overview.mdx`         | 1. Added `description: "Learn how to authenticate users in your Flutter app using CometChat SDK with Auth Key for development or Auth Token for production."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.login(UID, authKey)` code, `CometChat.loginWithAuthToken(authToken)` code, `CometChat.logout()` code, note about `getLoggedInUser()` to check existing session<br />3. Added `<Warning>`: "Auth Key is intended for development/testing only. For production, generate Auth Tokens server-side via the REST API and use loginWithAuthToken()."<br />4. Added Response accordion after `login()` with Auth Key — `User` object with 12 fields (uid, name, avatar, status=`"online"`, role=`"default"`, lastActiveAt, etc.)<br />5. Added Error accordion after `login()` with Auth Key — `code` (`"ERR_UID_NOT_FOUND"`), `message`, `details`<br />6. Added Response accordion after `loginWithAuthToken()` — same `User` object structure<br />7. Added Error accordion after `loginWithAuthToken()` — same error structure<br />8. Added Response accordion after `logout()` — `String` success message: `"User logged out successfully"`<br />9. Added Error accordion after `logout()` — `code`/`message`/`details`<br />10. Added Next Steps CardGroup with 4 cards: "Send Messages", "Receive Messages", "Key Concepts", "Users"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | The auth page now clearly distinguishes between Auth Key (dev) and Auth Token (prod) flows. The `<Warning>` is a critical security note — shipping Auth Keys in production client code is a common mistake. Each of the three auth methods (login with key, login with token, logout) has its own response/error accordion so developers can see exactly what each returns.                                                                                                                                                                                                                                                                                             |
| `key-concepts.mdx`                    | 1. Added `description: "Understand the core concepts of CometChat including Dashboard, API keys, users, groups, messages, and conversations."`<br />2. Added Quick Reference `<Info>` block summarizing: CometChat Dashboard purpose, Auth Key vs REST API Key differences (Auth Key = client-side dev, REST API Key = server-side), Users/UID/Auth Token concepts, Groups (GUID, public/private/password types), Messages (text/media/custom/interactive), Conversations (user/group)<br />3. Added Next Steps CardGroup with 4 cards: "Setup", "Authentication", "Send Messages", "Groups"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | The Quick Reference block condenses the entire key-concepts page into a scannable summary. This is especially useful for AI agents that need to understand CometChat's data model quickly. No response/error accordions here since this is a conceptual page with no SDK method calls.                                                                                                                                                                                                                                                                                                                                                                                  |
| `send-message.mdx`                    | 1. Added `description: "Learn how to send text, media, and custom messages to users and groups using the CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.sendMessage(textMessage)` code, `CometChat.sendMediaMessage(mediaMessage)` code, `CometChat.sendCustomMessage(customMessage)` code<br />3. Added `<Note>`: "Available via: SDK \| REST API \| UI Kits \| Dashboard"<br />4. Added `<Warning>`: "CometChat.init() and CometChat.login() must complete before sending messages."<br />5. Added Response accordion after `sendMessage()` for text — `BaseMessage` object with 28 fields: `id` (401), `metadata`, `receiver` (nested User object), `editedBy`, `conversationId` (`"cometchat-uid-1_user_cometchat-uid-2"`), `sentAt` (epoch), `receiverUid`, `type` (`"text"`), `readAt`, `deletedBy`, `deliveredAt`, `deletedAt`, `replyCount`, `sender` (nested User object with uid/name/avatar/status/role/tags/etc.), `receiverType` (`"user"`), `editedAt`, `parentMessageId`, `readByMeAt`, `category` (`"message"`), `deliveredToMeAt`, `updatedAt`, `text` (`"messageText"`), `tags`, `unreadRepliesCount`, `mentionedUsers`, `hasMentionedMe`, `reactions`, `moderationStatus`, `quotedMessageId` — plus full nested Sender User object (12 fields) and Receiver User object (12 fields)<br />6. Added Error accordion after `sendMessage()` for text<br />7. Added Response accordion after `sendMediaMessage()` — similar `BaseMessage` structure with additional `attachment` field containing `url`, `extension`, `size`, `mimeType`<br />8. Added Error accordion after `sendMediaMessage()`<br />9. Added Response accordion after `sendCustomMessage()` — `BaseMessage` with `customData` map field<br />10. Added Error accordion after `sendCustomMessage()`<br />11. Added Next Steps CardGroup with 4 cards: "Receive Messages", "Edit Message", "Delete Message", "Threaded Messages"                                                                                                                                                                                                                                                                                                                                                                                                | This is one of the most heavily documented files (+559 lines). The `BaseMessage` response table is the most comprehensive object documentation in the entire SDK docs — 28 top-level fields plus two nested User objects (Sender and Receiver) each with 12 fields. This gives developers complete visibility into what the `onSuccess` callback returns. The nested object tables use anchor links (`#send-text-sender-object`, `#send-text-receiver-object`) for easy navigation. Media message response adds attachment metadata. Custom message response shows the `customData` map structure.                                                                      |
| `receive-messages.mdx`                | 1. Added `description: "Learn how to receive real-time messages and fetch message history using the CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.addMessageListener()` code showing `onTextMessageReceived`, `onMediaMessageReceived`, `onCustomMessageReceived` callbacks; `MessagesRequestBuilder` with `fetchPrevious()`/`fetchNext()` code; `CometChat.removeMessageListener()` cleanup code<br />3. Added `<Warning>`: "Always remove message listeners when they're no longer needed (e.g., on widget dispose). Failing to remove listeners can cause memory leaks and duplicate event handling."<br />4. Added Response accordion after `fetchPrevious()` — `List<BaseMessage>` with full BaseMessage object table (28 fields per message, same structure as send-message)<br />5. Added Error accordion after `fetchPrevious()`<br />6. Added Response accordion after `fetchNext()` — same `List<BaseMessage>` structure<br />7. Added Error accordion after `fetchNext()`<br />8. Added Response accordions for each real-time listener callback: `onTextMessageReceived` (TextMessage object), `onMediaMessageReceived` (MediaMessage with attachment), `onCustomMessageReceived` (CustomMessage with customData), `onTypingStarted`, `onTypingEnded`, `onMessagesDelivered`, `onMessagesRead`, `onMessageEdited`, `onMessageDeleted`<br />9. Added Error accordions for listener callbacks<br />10. Added Next Steps CardGroup with 4 cards: "Send Messages", "Threaded Messages", "Message Filtering", "Delivery Receipts"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | The largest change after `default-call.mdx` (+767 lines). Every real-time listener callback now has its own Response accordion documenting the exact object shape that arrives in the callback. This is critical for developers building custom UIs — they need to know exactly which fields are available on `TextMessage` vs `MediaMessage` vs `CustomMessage`. The memory leak warning about removing listeners is a common Flutter pitfall.                                                                                                                                                                                                                         |
| `edit-message.mdx`                    | 1. Added `description: "Learn how to edit sent messages in your Flutter app using the CometChat SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.editMessage(textMessage)` code for text, `CometChat.editMessage(mediaMessage)` code for media<br />3. Added Response accordion after `editMessage()` for text — `BaseMessage` object with `editedAt` populated (non-zero epoch), `editedBy` populated with editor's UID<br />4. Added Error accordion after `editMessage()` for text<br />5. Added Response accordion after `editMessage()` for media — same structure with attachment metadata<br />6. Added Error accordion after `editMessage()` for media<br />7. Added Next Steps CardGroup with 3 cards: "Delete Message", "Send Messages", "Threaded Messages"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | The response accordions specifically highlight the `editedAt` and `editedBy` fields that change when a message is edited — this helps developers understand which fields to check in their UI to show "edited" indicators.                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `delete-message.mdx`                  | 1. Added `description: "Learn how to delete messages and handle real-time deletion events in your Flutter app using CometChat SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.deleteMessage(messageId)` code, `onMessageDeleted` listener callback code<br />3. Added `<Warning>`: "Deleting a message is permanent and cannot be undone. The message will be removed for all participants in the conversation."<br />4. Added Response accordion after `deleteMessage()` — `BaseMessage` object with `deletedAt` populated (non-zero epoch), `deletedBy` populated with deleter's UID<br />5. Added Error accordion after `deleteMessage()`<br />6. Added Next Steps CardGroup with 3 cards: "Edit Message", "Send Messages", "Receive Messages"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | The permanence warning is important — unlike some chat platforms, CometChat's delete is not soft-delete by default. Response accordion highlights `deletedAt` and `deletedBy` fields.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `delivery-read-receipts.mdx`          | 1. Added `description: "Learn how to implement message delivery and read receipts in your Flutter app using CometChat SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.markAsDelivered(message)` code, `CometChat.markAsRead(message)` code, `CometChat.markAsUnread(message)` code, listener callbacks for `onMessagesDelivered`/`onMessagesRead`<br />3. Added Response accordion after `markAsDelivered()` — void success (no return value)<br />4. Added Error accordion after `markAsDelivered()`<br />5. Added Response accordion after `markAsRead()` — void success<br />6. Added Error accordion after `markAsRead()`<br />7. Added Response accordion after `markAsUnread()` — void success<br />8. Added Error accordion after `markAsUnread()`<br />9. Added Next Steps CardGroup with 3 cards: "Receive Messages", "Send Messages", "Typing Indicators"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | Receipt methods return void on success (no object), so the Response accordions simply confirm "void — no return value". The Error accordions still document the `CometChatException` structure.                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `typing-indicators.mdx`               | 1. Added `description: "Learn how to send and receive typing indicators in your Flutter app using CometChat SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.startTyping(typingIndicator)` code, `CometChat.endTyping(typingIndicator)` code, `onTypingStarted`/`onTypingEnded` listener callbacks<br />3. Added Next Steps CardGroup with 3 cards: "Send Messages", "Receive Messages", "Delivery Receipts"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | No response/error accordions — typing indicator methods are fire-and-forget with no success/error callbacks. Quick reference shows both sending and receiving sides.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `threaded-messages.mdx`               | 1. Added `description: "Learn how to send, receive, and fetch messages within a thread attached to a parent message in CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: send-in-thread code (`textMessage.parentMessageId = 103`), fetch-thread code (`MessagesRequestBuilder()..parentMessageId = 103`), hide-replies code (`..hideReplies = true`)<br />3. Added Response accordion after `sendMessage()` in thread — `BaseMessage` with `parentMessageId` populated (103)<br />4. Added Error accordion after `sendMessage()` in thread<br />5. Added Response accordion after `fetchPrevious()` for thread — `List<BaseMessage>` with `parentMessageId` on each message<br />6. Added Error accordion after `fetchPrevious()`<br />7. Added Response accordion after `fetchNext()` for thread — same structure<br />8. Added Error accordion after `fetchNext()`<br />9. Added Next Steps CardGroup with 3 cards: "Send Messages", "Receive Messages", "Message Filtering"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | The Quick Reference block shows the three key thread operations in one place: sending into a thread, fetching a thread's messages, and excluding thread replies from the main conversation. Response accordions highlight the `parentMessageId` field that links messages to their thread.                                                                                                                                                                                                                                                                                                                                                                              |
| `mentions.mdx`                        | 1. Added `description: "Learn how to mention users in messages and fetch mentioned messages using the CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: mention in text message code (setting `mentionedUsers` on `TextMessage`), fetch mentioned messages code (`MessagesRequestBuilder()..mentionsWithType`)<br />3. Added Response accordion after sending message with mentions — `BaseMessage` with `mentionedUsers` array populated, `hasMentionedMe` boolean<br />4. Added Error accordion<br />5. Added Response accordion after fetching mentioned messages — `List<BaseMessage>` with mention metadata<br />6. Added Error accordion<br />7. Added Next Steps CardGroup with 3 cards: "Send Messages", "Receive Messages", "Message Filtering"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | Response accordions specifically show how `mentionedUsers` array and `hasMentionedMe` boolean appear in the response — developers need this to render @mention UI elements.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `reactions.mdx`                       | 1. Added `description: "Learn how to add, remove, and fetch reactions on messages using the CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.addReaction(messageId, emoji)` code, `CometChat.removeReaction(messageId, emoji)` code, `CometChat.fetchMessageReactions(messageId)` code<br />3. Added Response accordion after `addReaction()` — `BaseMessage` with `reactions` array populated<br />4. Added Error accordion after `addReaction()`<br />5. Added Response accordion after `removeReaction()` — `BaseMessage` with updated `reactions` array<br />6. Added Error accordion after `removeReaction()`<br />7. Added Response accordion after `fetchMessageReactions()` — `List<ReactionCount>` with fields: `reaction` (emoji string), `count` (number), `reactedByMe` (boolean)<br />8. Added Error accordion after `fetchMessageReactions()`<br />9. Added Next Steps CardGroup with 3 cards: "Send Messages", "Receive Messages", "Interactive Messages"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | The `fetchMessageReactions()` response introduces a new object type (`ReactionCount`) not seen in other pages — it has `reaction`, `count`, and `reactedByMe` fields.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `interactive-messages.mdx`            | 1. Added `description: "Learn how to send interactive messages (Form, Card, Scheduler) using the CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `FormMessage` construction code, `CardMessage` construction code, `SchedulerMessage` construction code<br />3. Added Response accordion after sending `FormMessage` — `BaseMessage` with `interactiveData` map containing form fields<br />4. Added Error accordion<br />5. Added Response accordion after sending `CardMessage` — `BaseMessage` with `interactiveData` containing card layout<br />6. Added Error accordion<br />7. Added Next Steps CardGroup with 3 cards: "Send Messages", "Reactions", "Message Filtering"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Interactive messages have a unique `interactiveData` field in the response that contains the form/card/scheduler structure.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `transient-messages.mdx`              | 1. Added `description: "Learn how to send and receive transient (ephemeral) messages that are not stored in CometChat's database."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.sendTransientMessage(transientMessage)` code, `onTransientMessageReceived` listener callback<br />3. Added Next Steps CardGroup with 3 cards: "Send Messages", "Typing Indicators", "Real-Time Listeners"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | No response/error accordions — transient messages are fire-and-forget. The Quick Reference clarifies that these messages are not persisted.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `flag-message.mdx`                    | 1. Added `description: "Learn how to flag or report messages for moderation in your Flutter app using CometChat SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.flagMessage(message)` code<br />3. Added Response accordion after `flagMessage()` — success confirmation<br />4. Added Error accordion after `flagMessage()`<br />5. Added Next Steps CardGroup with 3 cards: "Delete Message", "AI Moderation", "Extensions"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | Flag message is a simple method with a straightforward response.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `additional-message-filtering.mdx`    | 1. Added `description: "Learn how to use MessagesRequestBuilder to filter and fetch messages with various parameters including pagination, categories, types, tags, and advanced search options in Flutter."`<br />2. Added Quick Reference `<Info>` block with: `MessagesRequestBuilder` examples showing filters by `..categories`, `..types`, `..tags`, `..uid`, `..guid`, `..limit`, `..searchKeyword`, `..hideReplies`, `..hideDeletedMessages`<br />3. Added Next Steps CardGroup with 4 cards: "Receive Messages", "Send Messages", "Threaded Messages", "Message Structure"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | No response/error accordions — this page documents the request builder configuration, not the fetch methods themselves (those are on `receive-messages.mdx`). The Quick Reference is a comprehensive filter cheat sheet.                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `message-structure-and-hierarchy.mdx` | 1. Added `description: "Understand the message class hierarchy in CometChat Flutter SDK — BaseMessage, TextMessage, MediaMessage, CustomMessage, and InteractiveMessage."`<br />2. Added Quick Reference `<Info>` block summarizing the class hierarchy: `BaseMessage` (parent) → `TextMessage`, `MediaMessage`, `CustomMessage`, `InteractiveMessage` (children), with key fields for each<br />3. Added Next Steps CardGroup with 4 cards: "Send Messages", "Receive Messages", "Interactive Messages", "Message Filtering"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Conceptual page — no SDK method calls, so no response/error accordions. The Quick Reference gives a class hierarchy overview.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `messaging-overview.mdx`              | 1. Added `description: "Overview of CometChat's messaging capabilities for Flutter including text, media, custom, and interactive messages."`<br />2. Added Quick Reference `<Info>` block listing all messaging features with links: Send Messages, Receive Messages, Edit/Delete, Threaded Messages, Typing Indicators, Delivery/Read Receipts, Mentions, Reactions, Interactive Messages, Transient Messages, Flag Message<br />3. Added Next Steps CardGroup with 4 cards: "Send Messages", "Receive Messages", "Threaded Messages", "Reactions"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | Index page — the Quick Reference serves as a complete table of contents for the messaging section.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `retrieve-conversations.mdx`          | 1. Added `description: "Learn how to fetch and paginate through conversations using the CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `ConversationsRequestBuilder` code showing `..limit`, `..conversationType`, `..withTags`, `..tags` filters; `fetchNext()`/`fetchPrevious()` pagination code<br />3. Added Response accordion after `fetchNext()` — `List<Conversation>` with fields: `conversationId`, `conversationType` (`"user"`/`"group"`), `lastMessage` (nested BaseMessage), `conversationWith` (nested User or Group object), `unreadMessageCount`, `updatedAt`, `tags`, `lastReadMessageId`<br />4. Added Error accordion after `fetchNext()`<br />5. Added Response accordion after `fetchPrevious()` — same structure<br />6. Added Error accordion after `fetchPrevious()`<br />7. Added Next Steps CardGroup with 4 cards: "Delete Conversation", "Send Messages", "Retrieve Users", "Retrieve Groups"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | The `Conversation` object is a complex nested type — it contains a `lastMessage` (full BaseMessage) and a `conversationWith` (User or Group depending on type). The response tables document all these nested structures.                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `delete-conversation.mdx`             | 1. Added `description: "Learn how to delete user and group conversations from the logged-in user's conversation list using the CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.deleteConversation(conversationWith, conversationType)` code<br />3. Added `<Warning>`: "Deleting a conversation removes it only from the logged-in user's list. The other participant's conversation is not affected. This action cannot be undone."<br />4. Added Response accordion after `deleteConversation()` — `String` success message<br />5. Added Error accordion after `deleteConversation()`<br />6. Added Next Steps CardGroup with 2 cards: "Retrieve Conversations", "Send Messages"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | The warning clarifies that conversation deletion is one-sided (only affects the current user) and irreversible.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `retrieve-users.mdx`                  | 1. Added `description: "Learn how to fetch and paginate through users using the CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `UsersRequestBuilder` code showing `..limit`, `..searchKeyword`, `..status`, `..hideBlockedUsers`, `..roles`, `..tags`, `..uids` filters; `fetchNext()` pagination code<br />3. Added Response accordion after `fetchNext()` — `List<User>` with 12 fields per user: `uid`, `name`, `link`, `avatar`, `metadata`, `status`, `role`, `statusMessage`, `tags`, `hasBlockedMe`, `blockedByMe`, `lastActiveAt`<br />4. Added Error accordion after `fetchNext()`<br />5. Added Next Steps CardGroup with 3 cards: "Block Users", "User Presence", "User Management"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | The User object table is reused across many pages (login, send-message, etc.) but this is the canonical reference for the full User object shape.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `user-management.mdx`                 | 1. Added `description: "Learn how to create and update users using the CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.createUser(user, authKey)` code, `CometChat.updateUser(user)` code<br />3. Added Response accordion after `createUser()` — `User` object (12 fields)<br />4. Added Error accordion after `createUser()`<br />5. Added Response accordion after `updateUser()` — `User` object (12 fields)<br />6. Added Error accordion after `updateUser()`<br />7. Added Next Steps CardGroup with 3 cards: "Retrieve Users", "Block Users", "User Presence"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Both user management methods return the full User object on success.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `user-presence.mdx`                   | 1. Added `description: "Learn how to track user online/offline status in real-time using CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.addUserListener()` code showing `onUserOnline`/`onUserOffline` callbacks<br />3. Added Next Steps CardGroup with 3 cards: "Retrieve Users", "User Management", "Real-Time Listeners"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | No response/error accordions — presence is received via listeners, not method calls.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `users-overview.mdx`                  | 1. Added `description: "Overview of CometChat's user management capabilities for Flutter."`<br />2. Added Quick Reference `<Info>` block listing: Retrieve Users, User Management, Block Users, User Presence with links<br />3. Added Next Steps CardGroup with 4 cards                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | Index page for the Users section.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `block-users.mdx`                     | 1. Added `description: "Learn how to block and unblock users in your Flutter app using the CometChat SDK to manage user interactions and privacy."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.blockUsers(uids)` code, `CometChat.unblockUsers(uids)` code, `BlockedUsersRequestBuilder` with `fetchNext()` code<br />3. Added Response accordion after `blockUsers()` — `Map<String, dynamic>` showing success/failure per UID<br />4. Added Error accordion after `blockUsers()`<br />5. Added Response accordion after `unblockUsers()` — same Map structure<br />6. Added Error accordion after `unblockUsers()`<br />7. Added Response accordion after `fetchNext()` for blocked users — `List<User>` (12 fields per user)<br />8. Added Error accordion after `fetchNext()`<br />9. Added Next Steps CardGroup with 3 cards: "Retrieve Users", "User Management", "User Presence"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | The `blockUsers()`/`unblockUsers()` methods return a `Map<String, dynamic>` (not a simple success string) — the response accordion documents this unique return type.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `create-group.mdx`                    | 1. Added `description: "Learn how to create public, private, and password-protected groups using CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `Group` constructor code for public/private/password types, `CometChat.createGroup(group)` code<br />3. Added Response accordion after `createGroup()` — `Group` object with 15+ fields: `guid`, `name`, `type` (`"public"`/`"private"`/`"password"`), `icon`, `description`, `owner`, `metadata`, `tags`, `membersCount`, `createdAt`, `updatedAt`, `hasJoined`, `scope`, `joinedAt`, `conversationId`<br />4. Added Error accordion after `createGroup()`<br />5. Added Next Steps CardGroup with 3 cards: "Join Group", "Retrieve Groups", "Group Members"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | The Group object table is the canonical reference for group data — 15+ fields including `membersCount`, `hasJoined`, `scope`, and `conversationId`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `join-group.mdx`                      | 1. Added `description: "Learn how to join public and password-protected groups using CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.joinGroup(guid, groupType, password)` code<br />3. Added Response accordion after `joinGroup()` — `Group` object (same 15+ fields)<br />4. Added Error accordion after `joinGroup()`<br />5. Added Next Steps CardGroup with 3 cards: "Leave Group", "Retrieve Group Members", "Create Group"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | Response shows the Group object with `hasJoined` now `true` and `scope` set to `"participant"`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `leave-group.mdx`                     | 1. Added `description: "Learn how to leave a group using CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.leaveGroup(guid)` code<br />3. Added Response accordion after `leaveGroup()` — `String` success message<br />4. Added Error accordion after `leaveGroup()`<br />5. Added Next Steps CardGroup with 3 cards: "Join Group", "Delete Group", "Retrieve Groups"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | Simple method — returns success string on leave.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `delete-group.mdx`                    | 1. Added `description: "Learn how to permanently delete a group in CometChat using the Flutter SDK. Only group admins can delete groups."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.deleteGroup(guid)` code<br />3. Added `<Warning>`: "Only the group admin can delete a group. Deleting a group is permanent and removes all messages and members."<br />4. Added Response accordion after `deleteGroup()` — `String` success message<br />5. Added Error accordion after `deleteGroup()`<br />6. Added Next Steps CardGroup with 3 cards: "Create Group", "Retrieve Groups", "Leave Group"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | The admin-only + permanent deletion warning is critical context for developers.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `update-group.mdx`                    | 1. Added `description: "Learn how to update group details using CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.updateGroup(group)` code<br />3. Added Response accordion after `updateGroup()` — `Group` object (15+ fields) with updated values<br />4. Added Error accordion after `updateGroup()`<br />5. Added Next Steps CardGroup with 3 cards: "Create Group", "Retrieve Groups", "Group Members"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | Response shows the updated Group object.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `transfer-group-ownership.mdx`        | 1. Added `description: "Learn how to transfer group ownership to another member using CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.transferOwnership(guid, uid)` code<br />3. Added Response accordion after `transferOwnership()` — `String` success message<br />4. Added Error accordion after `transferOwnership()`<br />5. Added Next Steps CardGroup with 3 cards: "Group Members", "Update Group", "Change Member Scope"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | Simple method — returns success string.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `retrieve-groups.mdx`                 | 1. Added `description: "Learn how to fetch and paginate through groups using the CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `GroupsRequestBuilder` code showing `..limit`, `..searchKeyword`, `..joinedOnly`, `..tags`, `..withTags` filters; `fetchNext()` code<br />3. Added Response accordion after `fetchNext()` — `List<Group>` (15+ fields per group)<br />4. Added Error accordion after `fetchNext()`<br />5. Added Next Steps CardGroup with 3 cards: "Create Group", "Join Group", "Group Members"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Group retrieval response documents the full Group object for each item in the list.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `retrieve-group-members.mdx`          | 1. Added `description: "Learn how to fetch and paginate through group members using the CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `GroupMembersRequestBuilder("GROUP_ID")` code showing `..limit`, `..scopes` (admin/moderator/participant) filters; `fetchNext()` code<br />3. Added `<Note>`: "Available via: SDK \| REST API \| UI Kits"<br />4. Simplified intro paragraph — removed redundant sentence about `GroupMembersRequestBuilder`<br />5. Added Response accordion after `fetchNext()` — `List<GroupMember>` with 14 fields: all 12 User fields plus `scope` (`"admin"`/`"moderator"`/`"participant"`) and `joinedAt` (epoch timestamp)<br />6. Added Error accordion after `fetchNext()`<br />7. Added Next Steps CardGroup with 3 cards: "Add Members", "Kick Member", "Change Scope"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `GroupMember` extends `User` with two additional fields (`scope` and `joinedAt`) — the response table documents all 14 fields.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `group-add-members.mdx`               | 1. Added `description: "Learn how to add members to a group using CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.addMembersToGroup(guid, members, bannedMembers)` code<br />3. Added Response accordion after `addMembersToGroup()` — `Map<String?, String?>` showing success/failure per member UID<br />4. Added Error accordion<br />5. Added Next Steps CardGroup with 3 cards: "Retrieve Group Members", "Kick Member", "Change Scope"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | The Map response type is unique — it maps each member UID to a success/failure status string.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `group-change-member-scope.mdx`       | 1. Added `description: "Learn how to change a group member's scope (role) using CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.changeMemberScope(guid, uid, scope)` code showing scope values: `CometChatMemberScope.admin`, `.moderator`, `.participant`<br />3. Added Response accordion — `String` success message<br />4. Added Error accordion<br />5. Added Next Steps CardGroup with 3 cards: "Retrieve Group Members", "Add Members", "Transfer Ownership"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | Quick Reference shows all three scope enum values.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `group-kick-member.mdx`               | 1. Added `description: "Learn how to kick, ban, and unban group members using CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.kickGroupMember(guid, uid)` code, `CometChat.banGroupMember(guid, uid)` code, `CometChat.unbanGroupMember(guid, uid)` code<br />3. Added Response accordion after `kickGroupMember()` — `String` success message<br />4. Added Error accordion after `kickGroupMember()`<br />5. Added Response accordion after `banGroupMember()` — `String` success message<br />6. Added Error accordion after `banGroupMember()`<br />7. Added Response accordion after `unbanGroupMember()` — `String` success message<br />8. Added Error accordion after `unbanGroupMember()`<br />9. Added Next Steps CardGroup with 3 cards: "Retrieve Group Members", "Add Members", "Change Scope"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | All three member moderation methods documented with response/error.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `groups-overview.mdx`                 | 1. Added `description: "Overview of CometChat's group management capabilities for Flutter."`<br />2. Added Quick Reference `<Info>` block listing: Create Group, Join Group, Leave Group, Delete Group, Update Group, Transfer Ownership, Retrieve Groups, Retrieve Group Members, Add Members, Change Scope, Kick/Ban Members with links<br />3. Added Next Steps CardGroup with 4 cards                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | Index page for the Groups section.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `default-call.mdx`                    | 1. Added `description: "Implement complete calling workflow with ringing functionality including incoming/outgoing call UI, call acceptance, rejection, and cancellation in your Flutter app."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.initiateCall(call)` code, `CometChat.acceptCall(sessionId)` code, `CometChat.rejectCall(sessionId, status)` code with `CometChatCallStatus.rejected`/`.cancelled`/`.busy`, `CometChat.endCall(sessionId)` code<br />3. Added `<Warning>`: "You must generate a call token using `CometChatCalls.generateToken()` before starting a call session with `CometChatCalls.startSession()`."<br />4. Added Response accordion after `initiateCall()` — `Call` object with 28+ fields: all BaseMessage fields (id, metadata, receiver, sender, conversationId, sentAt, type, category, etc.) PLUS call-specific fields: `sessionId` (`"v1.us.1.xxxxxxxx"`), `callStatus` (`"initiated"`), `action` (`"initiated"`), `callInitiator` (nested User object), `callReceiver` (nested User object), `initiatedAt` (epoch), `joinedAt` (epoch) — plus nested Sender, Receiver, CallInitiator, and CallReceiver User object tables (12 fields each)<br />5. Added Error accordion after `initiateCall()`<br />6. Added Response accordion after `acceptCall()` — `Call` object with `callStatus` = `"ongoing"`, `action` = `"accepted"`<br />7. Added Error accordion after `acceptCall()`<br />8. Added Response accordion after `rejectCall()` (rejected) — `Call` object with `callStatus` = `"rejected"`, `action` = `"rejected"`<br />9. Added Error accordion after `rejectCall()` (rejected)<br />10. Added Response accordion after `rejectCall()` (cancelled by initiator) — `Call` object with `callStatus` = `"cancelled"`, `action` = `"cancelled"`<br />11. Added Error accordion after `rejectCall()` (cancelled)<br />12. Added Response accordion after `endCall()` — `Call` object with `callStatus` = `"ended"`, `action` = `"ended"`<br />13. Added Error accordion after `endCall()`<br />14. Added Response accordion after `CometChatCalls.startSession()` — `Widget?` representing the call UI to embed in your screen<br />15. Added Error accordion after `startSession()`<br />16. Added Next Steps CardGroup with 3 cards: "Direct Call", "Standalone Calling", "Call Logs" | This is the single largest file change (+876 lines). The `Call` object extends `BaseMessage` with 7 additional call-specific fields (`sessionId`, `callStatus`, `action`, `callInitiator`, `callReceiver`, `initiatedAt`, `joinedAt`). Each call lifecycle state (initiated, ongoing, rejected, cancelled, ended) has its own Response accordion showing the exact `callStatus` and `action` values for that state — this is critical for developers building custom call UIs who need to know which status values to check. The `startSession()` response is unique — it returns a Flutter `Widget?` that developers embed in their screen to show the call interface. |
| `direct-call.mdx`                     | 1. Added `description: "Implement direct calling without ringing functionality — generate a token and start a call session directly."`<br />2. Added Quick Reference `<Info>` block with: `CometChatCalls.generateToken(sessionId, userAuthToken)` code, `CometChatCalls.startSession(callToken, callSettings)` code with `CallSettingsBuilder` showing `..enableDefaultLayout`, `..listener`<br />3. Added Response accordion after `generateToken()` — `String` call token<br />4. Added Error accordion after `generateToken()`<br />5. Added Response accordion after `startSession()` — `Widget?` call UI widget<br />6. Added Error accordion after `startSession()`<br />7. Added Next Steps CardGroup with 3 cards: "Default Call", "Standalone Calling", "Recording"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Direct calling skips the ringing flow — the Quick Reference shows the simplified two-step process (generate token → start session).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `standalone-calling.mdx`              | 1. Added `description: "Implement standalone calling that works independently of CometChat's messaging infrastructure."`<br />2. Added Quick Reference `<Info>` block with: standalone `CometChatCalls.init()` code, `generateToken()` code, `startSession()` code<br />3. Added Response accordion after `generateToken()` — `String` call token<br />4. Added Error accordion<br />5. Added Response accordion after `startSession()` — `Widget?` call UI widget<br />6. Added Error accordion<br />7. Added Next Steps CardGroup with 3 cards: "Default Call", "Direct Call", "Call Logs"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Standalone calling is for apps that only need calling (no chat). The Quick Reference shows the independent init flow.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `calling-setup.mdx`                   | 1. Added `description: "Learn how to install and initialize the CometChat Calls SDK for Flutter to enable voice and video calling in your application."`<br />2. Added Quick Reference `<Info>` block with: `cometchat_calls_sdk: ^4.0.x` install yaml, `CometChatCalls.init(callAppSettings)` code with `CallAppSettingsBuilder` showing `..appId`, `..region`<br />3. Added Response accordion after `CometChatCalls.init()` — `String` success message: `"CometChat Calls SDK initialized successfully"`<br />4. Added Error accordion after `CometChatCalls.init()`<br />5. Added Next Steps CardGroup with 3 cards: "Default Call", "Direct Call", "Standalone Calling"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | The Calls SDK has its own separate init method (`CometChatCalls.init()`) distinct from the main SDK's `CometChat.init()`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `calling-overview.mdx`                | 1. Added `description: "Implement voice and video calling in your Flutter application with CometChat's calling SDK, supporting ringing calls, direct calls, and standalone calling."`<br />2. Added Quick Reference `<Info>` block summarizing three calling modes: Default Calling (with ringing, requires chat SDK), Direct Calling (no ringing, requires chat SDK), Standalone Calling (independent, no chat SDK needed) — with use-case guidance for each<br />3. Added Next Steps CardGroup with 4 cards: "Calling Setup", "Default Call", "Direct Call", "Standalone Calling"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | The Quick Reference is a decision guide — helps developers choose between the three calling modes based on their use case.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `call-logs.mdx`                       | 1. Added `description: "Learn how to fetch and manage call logs in your Flutter application using CometChat's Call SDK, including filtering by call type, status, and direction."`<br />2. Added Quick Reference `<Info>` block with: `CallLogRequestBuilder` code showing `..limit`, `..callType`, `..callStatus`, `..callDirection` filters; `fetchNext()`/`fetchPrevious()` code; `CometChatCalls.getCallDetails(sessionId)` code<br />3. Added Response accordion after `fetchNext()` — `List<CallLog>` with 10+ fields: `sessionId`, `callType` (`"audio"`/`"video"`), `callStatus` (`"initiated"`/`"ongoing"`/`"ended"`/`"cancelled"`/`"rejected"`/`"busy"`/`"unanswered"`), `callDirection` (`"incoming"`/`"outgoing"`), `initiator` (User object), `receiver` (User object), `initiatedAt`, `endedAt`, `duration`, `participants`<br />4. Added Error accordion after `fetchNext()`<br />5. Added Response accordion after `fetchPrevious()` — same structure<br />6. Added Error accordion after `fetchPrevious()`<br />7. Added Response accordion after `getCallDetails()` — `List<CallLog>` for a specific session<br />8. Added Error accordion after `getCallDetails()`<br />9. Added Next Steps CardGroup with 3 cards: "Default Call", "Recording", "Presenter Mode"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | The `CallLog` object is distinct from the `Call` object — it's a historical record with `duration`, `endedAt`, and `participants` fields not present on the real-time `Call` object.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `recording.mdx`                       | 1. Added `description: "Learn how to enable and manage call recording in your Flutter app using CometChat's Calls SDK."`<br />2. Added Quick Reference `<Info>` block with: recording configuration in `CallSettingsBuilder` (`..enableRecording`), fetch recordings code<br />3. Added Response accordion after fetching recordings — recording object with `recordingUrl`, `recordingDuration`, `startedAt`, `endedAt`<br />4. Added Error accordion<br />5. Added Next Steps CardGroup with 3 cards: "Call Logs", "Default Call", "Presenter Mode"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | Recording response includes the `recordingUrl` for playback/download.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `presenter-mode.mdx`                  | 1. Added `description: "Learn how to implement presenter mode in your Flutter app for webinars, online classes, and broadcast-style calling experiences with CometChat."`<br />2. Added Quick Reference `<Info>` block with: `PresentationSettingsBuilder` code showing `..enableDefaultLayout`, `..isPresenter = true` (presenter) and `..isPresenter = false` (viewer); `CometChatCalls.joinPresentation(callToken, settings)` code for both roles<br />3. Added Response accordion after `joinPresentation()` — `Widget?` representing the presentation UI, documented as: "A Flutter widget containing the presentation UI. Display this widget in your screen to show the presentation interface."<br />4. Added Error accordion after `joinPresentation()` — `code` (`"ERR_CHAT_API_FAILURE"`), `message` (`"Failed to start the presentation session."`), `details` (`"The call token provided is invalid or expired."`)<br />5. Added Next Steps CardGroup with 3 cards: "Default Call", "Recording", "Video View Customisation"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | This was the final file updated (commit `9feb900b`). The Quick Reference shows both presenter and viewer code side-by-side so developers can see the `isPresenter` flag difference.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `video-view-customisation.mdx`        | 1. Added `description: "Learn how to customize the video view in CometChat calls for Flutter."`<br />2. Added Quick Reference `<Info>` block with: video view customization code<br />3. Added Next Steps CardGroup with 3 cards: "Presenter Mode", "Default Call", "Recording"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | No response/error accordions — this page covers UI customization, not SDK method calls.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `real-time-listeners.mdx`             | 1. Added `description: "Complete reference for all real-time event listeners in the CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block listing all 5 listener types with their key callbacks: `MessageListener` (onTextMessageReceived, onMediaMessageReceived, onCustomMessageReceived, onMessageEdited, onMessageDeleted, onMessagesDelivered, onMessagesRead, onTypingStarted, onTypingEnded, onTransientMessageReceived), `UserListener` (onUserOnline, onUserOffline), `GroupListener` (onGroupMemberJoined, onGroupMemberLeft, onGroupMemberKicked, onGroupMemberBanned, onGroupMemberUnbanned, onGroupMemberScopeChanged, onMemberAddedToGroup), `CallListener` (onIncomingCallReceived, onOutgoingCallAccepted, onOutgoingCallRejected, onIncomingCallCancelled), `ConnectionListener` (onConnected, onConnecting, onDisconnected, onFeatureThrottled)<br />3. Added Next Steps CardGroup with 3 cards: "Receive Messages", "Connection Status", "Login Listeners"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | The Quick Reference is a comprehensive callback catalog — developers can scan all available listener callbacks in one place without reading the full page.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `login-listeners.mdx`                 | 1. Added `description: "Learn how to handle login and logout state changes using LoginListener in CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.addLoginListener()` code showing `onLoginSuccess`, `onLoginFailure`, `onLogoutSuccess`, `onLogoutFailure` callbacks<br />3. Added Next Steps CardGroup with 3 cards: "Authentication", "Real-Time Listeners", "Connection Status"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | Login listeners help developers react to auth state changes (e.g., auto-redirect on logout).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `connection-status.mdx`               | 1. Added `description: "Monitor real-time WebSocket connection status with CometChat SDK using ConnectionListener callbacks and getConnectionStatus method."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.addConnectionListener()` code showing `onConnected`, `onConnecting`, `onDisconnected`, `onFeatureThrottled` callbacks; `CometChat.getConnectionStatus()` code returning `CometChatConnectionStatus.connected`/`.connecting`/`.disconnected`<br />3. Added Next Steps CardGroup with 3 cards: "Connection Behaviour", "Real-Time Listeners", "Login Listeners"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | The Quick Reference shows both the listener approach (reactive) and the `getConnectionStatus()` approach (polling) for monitoring connection state.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `connection-behaviour.mdx`            | 1. Added `description: "Understand how CometChat SDK manages WebSocket connections in auto and manual modes, including background behavior and reconnection handling."`<br />2. Added Quick Reference `<Info>` block comparing Auto Mode (default — SDK manages connections automatically) vs Manual Mode (`autoEstablishSocketConnection = false` — developer controls `connect()`/`disconnect()`/`ping()`)<br />3. Added Response accordion after `CometChat.connect()` — `String` success message<br />4. Added Error accordion after `CometChat.connect()`<br />5. Added Response accordion after `CometChat.disconnect()` — `String` success message<br />6. Added Error accordion after `CometChat.disconnect()`<br />7. Added Response accordion after `CometChat.ping()` — `String` success message<br />8. Added Error accordion after `CometChat.ping()`<br />9. Added Next Steps CardGroup with 3 cards: "Connection Status", "Real-Time Listeners", "Setup"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | The auto vs manual mode comparison in the Quick Reference is a key decision point for developers — most should use auto mode, but apps with specific background requirements may need manual mode.                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `session-timeout.mdx`                 | 1. Added `description: "Learn how to configure session timeout behavior in CometChat Flutter SDK."`<br />2. Added Quick Reference `<Info>` block with: session timeout configuration code<br />3. Added Next Steps CardGroup with 3 cards: "Authentication", "Connection Behaviour", "Login Listeners"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | No response/error accordions — session timeout is a configuration, not a method call.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `rate-limits.mdx`                     | 1. Added `description: "Understand the API rate limits for CometChat Flutter SDK operations."`<br />2. Added Quick Reference `<Info>` block summarizing rate limit categories and their values (messages per second, API calls per minute, etc.)<br />3. Added Next Steps CardGroup with 3 cards: "Send Messages", "Retrieve Conversations", "Setup"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | The Quick Reference gives developers a quick view of rate limits without reading the full table.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `advanced-overview.mdx`               | 1. Added `description: "Advanced SDK features including connection management, real-time listeners, and login state handling for Flutter applications."`<br />2. Added Quick Reference `<Info>` block listing 4 advanced features with one-line descriptions and links: Connection Status (monitor SDK connection state), Connection Behaviour (understand connection lifecycle), Login Listeners (handle login state changes), Real-Time Listeners (all event listeners reference)<br />3. Added Next Steps CardGroup with 4 cards: "Connection Status", "Real-Time Listeners", "Login Listeners", "Connection Behaviour"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | Index page for the Advanced section.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `resources-overview.mdx`              | 1. Added `description` frontmatter<br />2. Added Quick Reference `<Info>` block listing resource topics<br />3. Added Next Steps CardGroup                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | Index page for the Resources section.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `flutter-overview.mdx`                | 1. Added `description` frontmatter<br />2. Added Quick Reference `<Info>` block with high-level SDK capabilities: real-time messaging, voice/video calling, user/group management, typing indicators, read receipts, file sharing, reactions, mentions, interactive messages, AI features<br />3. Added Next Steps CardGroup with 4 cards: "Overview/Setup", "Key Concepts", "Authentication", "Send Messages"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Top-level Flutter SDK overview — the Quick Reference gives a feature checklist.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `upgrading-from-v3-guide.mdx`         | 1. Added `description: "Guide for migrating your Flutter app from CometChat SDK v3 to v4."`<br />2. Added Quick Reference `<Info>` block summarizing key v3→v4 breaking changes and migration steps<br />3. Added Next Steps CardGroup with 3 cards: "Setup", "Authentication", "Key Concepts"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | The Quick Reference gives a scannable migration checklist.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `ai-agents.mdx`                       | 1. Added `description: "Learn how to integrate AI Agents in your Flutter app to enable intelligent, automated interactions that process user messages, trigger tools, and respond with contextually relevant information."`<br />2. Added Quick Reference `<Info>` block with: `CometChat.addAIAssistantListener("LISTENER_ID", AIAssistantListener(onAIAssistantEventReceived: (event) {}))` code, `CometChat.addMessageListener("LISTENER_ID", MessageListener(onAIAssistantMessageReceived: (msg) {}, onAIToolResultReceived: (result) {}))` code, `CometChat.removeAIAssistantListener("LISTENER_ID")` cleanup code<br />3. Added `<Note>`: "Available via: SDK \| REST API \| UI Kits \| Dashboard"<br />4. Added `<Warning>`: "Always remove AI Assistant listeners when they're no longer needed (e.g., on widget dispose or page navigation). Failing to remove listeners can cause memory leaks and duplicate event handling."<br />5. Added Next Steps CardGroup with 3 cards: "AI Moderation", "AI Chatbots", "Extensions"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | The Quick Reference shows both the AI-specific listener (`AIAssistantListener`) and the message listener callbacks for AI events (`onAIAssistantMessageReceived`, `onAIToolResultReceived`). The memory leak warning is especially important for AI listeners since they may be added in multiple screens.                                                                                                                                                                                                                                                                                                                                                              |
| `ai-moderation.mdx`                   | 1. Added `description: "Learn how to implement AI-powered content moderation in your Flutter app using CometChat SDK to automatically review messages for inappropriate content."`<br />2. Added Quick Reference `<Info>` block with: moderation check code showing `message.metadata["@injected"]["extensions"]["ai-moderation"]` path, status values (`"approved"`, `"pending"`, `"rejected"`), real-time listener for moderation status updates<br />3. Added Response accordion after sending a moderated message — `BaseMessage` with `metadata` containing nested `@injected.extensions.ai-moderation` object with fields: `status` (`"pending"`), `confidence` (number), `categories` (array of flagged categories)<br />4. Added Error accordion<br />5. Added Response accordion for real-time moderation status update — same metadata structure with `status` changed to `"approved"` or `"rejected"`<br />6. Added Error accordion<br />7. Added Next Steps CardGroup with 4 cards: "AI Agents", "AI Chatbots", "Send Messages", "Extensions"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | The moderation metadata path (`@injected.extensions.ai-moderation`) is deeply nested — the Response accordion documents the exact path developers need to access moderation results. The two Response accordions show the initial "pending" state and the final "approved"/"rejected" state.                                                                                                                                                                                                                                                                                                                                                                            |
| `ai-chatbots-overview.mdx`            | 1. Added `description: "Configure AI-powered chatbots to provide automated assistance and maintain conversational momentum in your Flutter app."`<br />2. Added Quick Reference `<Info>` block summarizing: chatbot configuration via Dashboard, chatbot types (rule-based, AI-powered), integration with messaging flow<br />3. Added Next Steps CardGroup with 4 cards: "AI Agents", "AI Moderation", "AI User Copilot", "Extensions"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Index page for AI chatbots — no SDK method calls, so no response/error accordions.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `extensions-overview.mdx`             | 1. Added `description: "Explore CometChat extensions that add enhanced functionality to your Flutter chat application"`<br />2. Added Quick Reference `<Info>` block listing all extension categories: User Experience (Pin message, Link preview, Thumbnails, Voice transcription), User Engagement (Polls, Reactions, Mentions, Message translation, Stickers), Collaboration (Whiteboard, Collaborative documents), Notifications (Push, Email, SMS), Moderation (Content filtering, Profanity detection), Security (Disappearing messages, End-to-end encryption) — with link to full Extensions Overview<br />3. Added `<Note>`: "Available via: SDK \| REST API \| UI Kits"<br />4. Added Next Steps CardGroup with 3 cards: "AI Features", "Webhooks", "Setup"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | The Quick Reference is a comprehensive extension catalog organized by category — developers can quickly find which extension they need.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `webhooks-overview.mdx`               | 1. Added `description: "Configure server-side webhooks to receive real-time notifications for messages, users, groups, calls, and moderation events in your Flutter application."`<br />2. Added Quick Reference `<Info>` block with: setup requirements (HTTPS endpoint, publicly accessible URL, POST method with `application/json`, return HTTP 200 OK), event categories (Messages: `message_sent`/`message_edited`/`message_deleted`/`message_read_receipt`; Users: `user_blocked`/`user_unblocked`/`user_connection_status_changed`; Groups: `group_created`/`group_member_added`/`group_member_left`; Calls: `call_initiated`/`call_started`/`call_ended`/`recording_generated`; Moderation: `moderation_engine_approved`/`moderation_engine_blocked`), configuration link to Dashboard<br />3. Added `<Note>`: "Webhooks are configured at the application level through the CometChat Dashboard, not within the Flutter SDK. The SDK handles real-time events via listeners, while webhooks deliver events to your backend server."<br />4. Added Next Steps CardGroup with 3 cards: "Extensions", "Real-Time Listeners", "AI Agents"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | The Quick Reference lists all webhook event names — this is valuable for backend developers who need to know which events to listen for. The `<Note>` clarifies the SDK vs webhook distinction (SDK = client-side listeners, webhooks = server-side HTTP callbacks).                                                                                                                                                                                                                                                                                                                                                                                                    |
