Access and configure the ViewModel layer to customize data fetching, filtering, and state management.
Each component’s ViewModel manages data fetching, state transitions, and business logic via LiveData. You can access it to configure request parameters, observe state changes, or manipulate the data list directly.
Use setConversationsRequestBuilder to control what data the component fetches. The builder accepts SDK parameters like limits, tags, and filters.
Kotlin
Java
// Filter conversations by tags and limit to 20 resultsval builder = ConversationsRequest.ConversationsRequestBuilder() .setLimit(20) .setTags(listOf("important", "pinned")) .withTags(true)conversations.setConversationsRequestBuilder(builder)
// Filter conversations by tags and limit to 20 resultsConversationsRequest.ConversationsRequestBuilder builder = new ConversationsRequest.ConversationsRequestBuilder() .setLimit(20) .setTags(Arrays.asList("important", "pinned")) .withTags(true);conversations.setConversationsRequestBuilder(builder);
Pass the builder object, not the result of .build(). The component calls .build() internally.
The ViewModel exposes LiveData observables you can observe for custom logic:
Observable
Type
Description
getMutableConversationList()
MutableLiveData<List<Conversation>>
The current list of conversations
getStates()
MutableLiveData<UIKitConstants.States>
Component state (LOADING, LOADED, EMPTY, ERROR)
insertAtTop()
MutableLiveData<Integer>
Emits the index when a new conversation is inserted at the top
moveToTop()
MutableLiveData<Integer>
Emits the index when a conversation moves to the top
updateConversation()
MutableLiveData<Integer>
Emits the index when a conversation is updated
remove()
MutableLiveData<Integer>
Emits the index when a conversation is removed
progressState()
MutableLiveData<UIKitConstants.DeleteState>
Tracks delete operation progress
playSound()
MutableLiveData<Boolean>
Triggers when a new message sound should play
getCometChatException()
MutableLiveData<CometChatException>
Emits errors from the SDK
Kotlin
Java
val viewModel = conversations.getViewModel()// Observe state changesviewModel.getStates().observe(lifecycleOwner) { state -> when (state) { UIKitConstants.States.LOADING -> { /* show custom loading */ } UIKitConstants.States.LOADED -> { /* data ready */ } UIKitConstants.States.EMPTY -> { /* no conversations */ } UIKitConstants.States.ERROR -> { /* handle error */ } }}// Observe the conversation listviewModel.getMutableConversationList().observe(lifecycleOwner) { list -> // React to list changes}
ConversationsViewModel viewModel = conversations.getViewModel();// Observe state changesviewModel.getStates().observe(lifecycleOwner, state -> { if (state == UIKitConstants.States.LOADING) { // show custom loading } else if (state == UIKitConstants.States.LOADED) { // data ready }});// Observe the conversation listviewModel.getMutableConversationList().observe(lifecycleOwner, list -> { // React to list changes});
The ViewModel provides methods to programmatically manipulate the data list:
Method
Description
addList(List<Conversation>)
Append a list of conversations
remove(Conversation)
Remove a specific conversation
remove(int index)
Remove a conversation by index
update(Conversation, boolean)
Update a conversation in the list
refreshList()
Clear and re-fetch from the server
clear()
Clear all conversations from the list
fetchConversation()
Fetch the next page of conversations
deleteConversation(Conversation)
Delete a conversation via the SDK
Kotlin
Java
val viewModel = conversations.getViewModel()// Refresh the entire listviewModel.refreshList()// Remove a specific conversationviewModel.remove(conversation)// Clear all dataviewModel.clear()
ConversationsViewModel viewModel = conversations.getViewModel();// Refresh the entire listviewModel.refreshList();// Remove a specific conversationviewModel.remove(conversation);// Clear all dataviewModel.clear();
Intercept data loading lifecycle events with these callbacks on the View:
Callback
Triggered When
setOnLoad(OnLoad<Conversation>)
Data has been successfully loaded
setOnEmpty(OnEmpty)
The data list is empty after loading
Kotlin
Java
conversations.setOnLoad { list -> // Called when conversations are loaded Log.d("Conversations", "Loaded ${list.size} conversations")}conversations.setOnEmpty { // Called when no conversations exist Log.d("Conversations", "No conversations found")}
conversations.setOnLoad(list -> { // Called when conversations are loaded Log.d("Conversations", "Loaded " + list.size() + " conversations");});conversations.setOnEmpty(() -> { // Called when no conversations exist Log.d("Conversations", "No conversations found");});
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"CometChat Docs","description":"Technical documentation \u0026 Implementation guides to add In-app Messaging \u0026 Voice \u0026 Video Calling to your apps and websites in minutes.","colors":{"primary":"#6851D6","light":"#6851D6","dark":"#6851D6"},"logo":{"light":"https://mintcdn.com/cometchat-22654f5b/rnJE5Ok_8RIDEPUR/logo/light.svg?fit=max\u0026auto=format\u0026n=rnJE5Ok_8RIDEPUR\u0026q=85\u0026s=461a8ced4bf934b4f3a2770f090f2d3c","dark":"https://mintcdn.com/cometchat-22654f5b/rnJE5Ok_8RIDEPUR/logo/dark.svg?fit=max\u0026auto=format\u0026n=rnJE5Ok_8RIDEPUR\u0026q=85\u0026s=12aa48fcf137edde64a9539360548174"},"favicon":"https://mintcdn.com/cometchat-22654f5b/8ODUflBxloB1jkgP/favicon.png?fit=max\u0026auto=format\u0026n=8ODUflBxloB1jkgP\u0026q=85\u0026s=b5c68dc37f6a82e5cfb5f96746e433c8","navbar":{"links":[{"href":"https://app.cometchat.com/","label":"Dashboard"}],"primary":{"type":"button","label":"Contact Support","href":"https://help.cometchat.com/hc/en-us/requests/new"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/cometchat","x":"https://twitter.com/CometChat","github":"https://www.github.com/cometchat"}},"seo":{"metatags":{"charset":"UTF-8","viewport":"width=device-width, initial-scale=1.0","description":"Learn how to integrate, customize, and scale real-time chat using CometChat’s UI Kits, SDKs, and widgets across popular frameworks. Get step-by-step guides, best practices, and implementation details to build production-ready chat experiences.","language":"en"},"indexing":"all"},"errors":{"404":{"redirect":true}},"contextual":{"options":["claude","cursor","chatgpt","vscode","perplexity","mcp","copy"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cometchat-22654f5b","hasAudioNarration":false,"actualSubdomain":"cometchat-22654f5b","customDomains":["www.cometchat.com"],"gitSource":{"type":"github","owner":"cometchat","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae1dab75ca9b4a2f4634891","collectionId":"5465db64-edc3-4251-a360-c916418445f0","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae1dab75ca9b4a2f4634891"},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"}},"buildId":"6ae1dab75ca9b4a2f4634891","clientVersion":"0.0.4005","searchFilterCounts":[{"language":"default","tag":"Chat \u0026 Messaging","count":2617},{"language":"default","tag":"UI Kits","count":1327},{"language":"default","tag":"SDKs","count":908},{"language":"default","tag":"Components","count":677},{"language":"default","tag":"Android","count":491},{"language":"default","tag":"APIs","count":473},{"language":"default","tag":"Flutter","count":400},{"language":"default","tag":"iOS","count":370},{"language":"default","tag":"React Native","count":360},{"language":"default","tag":"React","count":320}]},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"help@cometchat.com","showHelpButton":true}},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"assets/feedback-support-ticket.css","content":".feedback-toolbar>div:has(#feedback-thumbs-up){justify-content:flex-start;gap:.75rem}.feedback-toolbar>div>div:has(#feedback-thumbs-up){display:contents}.feedback-toolbar>div>div>div:has(>#feedback-support-ticket),.feedback-toolbar>div>div>div:has(>a[href*=\"github.com\"]){flex-wrap:wrap}@media (min-width:640px){.feedback-toolbar #feedback-thumbs-down{margin-right:1.5rem}}"},{"filePath":"assets/version-selector-placement.css","content":"@media (min-width:1024px){#sidebar-content .text-sm.relative>.pl-2{position:sticky;top:0;z-index:20;background-color:var(--color-background-light)}.dark #sidebar-content .text-sm.relative>.pl-2{background-color:var(--color-background-dark)}#sidebar-content .text-sm.relative>.pl-2::before{content:\"\";position:absolute;left:0;right:0;top:-16px;height:16px;background-color:inherit}#sidebar-content .text-sm.relative>.pl-2>button[aria-haspopup=menu]{width:195px;max-width:195px}#navbar .hidden.lg\\:flex.items-center.gap-x-2{position:absolute;top:123px;left:195px;z-index:30}}@media (max-width:1023.98px){#mobile-nav #navigation-items{display:flex;flex-direction:column;gap:.5rem}#mobile-nav #navigation-items>.flex.flex-col.gap-y-2.mb-6{display:contents}#mobile-nav #navigation-items>button:nth-of-type(1){order:1}#mobile-nav #navigation-items>.flex.flex-col.gap-y-2.mb-6>.flex.flex-wrap.gap-2{order:2}#mobile-nav #navigation-items>button:nth-of-type(2){order:3}#mobile-nav #navigation-items>.flex.flex-col.gap-y-2.mb-6>button{order:4}#mobile-nav #navigation-items>.mt-6{order:5}}"},{"filePath":"assets/global-fixes.css","content":".nav-dropdown-products-selector-trigger{border-radius:999px!important;border:1px solid rgba(15,23,42,.15);transition:border-color .2s ease,background-color .2s ease;width:12rem;max-width:12rem;flex:0 0 12rem;overflow:visible}@media (max-width:1023.98px){#mobile-nav .nav-dropdown-products-selector-trigger{width:auto;max-width:none;flex:initial;border-radius:.85rem!important}}html.dark .nav-dropdown-products-selector-trigger{border-color:rgba(226,232,240,.2)}.nav-dropdown-products-selector-trigger:hover,.nav-dropdown-products-selector-trigger[aria-expanded=true]{border-color:rgba(104,81,214,.7)}.nav-dropdown-products-selector-trigger>span{max-width:none!important;white-space:normal!important;-webkit-line-clamp:unset!important;display:inline!important}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}:not(pre)>code{padding:.125rem 0}#content-area #header .mt-2.text-lg p{font-size:.875rem!important;line-height:1.375rem!important}#sidebar-content div.w-\\[78px\\].h-\\[21px\\]{width:auto!important;white-space:nowrap!important;padding:2px 6px!important}"}],"page":{"pagePath":"ui-kit/android/v5/customization-viewmodel-data","slug":"/ui-kit/android/v5/customization-viewmodel-data","pageMetadata":{"title":"ViewModel \u0026 Data","description":"Access and configure the ViewModel layer to customize data fetching, filtering, and state management.","href":"/ui-kit/android/v5/customization-viewmodel-data"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Access and configure the ViewModel layer to customize data fetching, filtering, and state management.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tab,Table,Tabs,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Each component’s ViewModel manages data fetching, state transitions, and business logic via `,_jsx(_components.code,{children:`LiveData`}),`. You can access it to configure request parameters, observe state changes, or manipulate the data list directly.`]}),`\n`,_jsx(Heading,{level:`2`,id:`accessing-the-viewmodel`,children:`Accessing the ViewModel`}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`Kotlin`,id:`kotlin`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` conversations `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` CometChatConversations`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(context)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` viewModel: `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`ConversationsViewModel`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` conversations.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getViewModel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`]})})})}),_jsx(Tab,{title:`Java`,id:`java`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`java`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`java`,children:_jsxs(_components.code,{language:`java`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`CometChatConversations`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` conversations`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` CometChatConversations`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(context);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`ConversationsViewModel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` viewModel`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` conversations`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getViewModel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`configuring-data-fetching-with-requestbuilders`,children:`Configuring Data Fetching with RequestBuilders`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`setConversationsRequestBuilder`}),` to control what data the component fetches. The builder accepts SDK parameters like limits, tags, and filters.`]}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`Kotlin`,id:`kotlin-2`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Filter conversations by tags and limit to 20 results`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` builder `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ConversationsRequest.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`ConversationsRequestBuilder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setLimit`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`20`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setTags`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`listOf`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"important\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pinned\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`))`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`withTags`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`conversations.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setConversationsRequestBuilder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(builder)`})]}),`\n`]})})})}),_jsx(Tab,{title:`Java`,id:`java-2`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`java`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`java`,children:_jsxs(_components.code,{language:`java`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Filter conversations by tags and limit to 20 results`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`ConversationsRequest`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`ConversationsRequestBuilder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` builder`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ConversationsRequest.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`ConversationsRequestBuilder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setLimit`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`20`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setTags`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Arrays`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`asList`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"important\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pinned\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`))`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`withTags`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`conversations`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setConversationsRequestBuilder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(builder);`})]}),`\n`]})})})})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Pass the builder object, not the result of `,_jsx(_components.code,{children:`.build()`}),`. The component calls `,_jsx(_components.code,{children:`.build()`}),` internally.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`livedata-observables`,children:`LiveData Observables`}),`\n`,_jsxs(_components.p,{children:[`The ViewModel exposes `,_jsx(_components.code,{children:`LiveData`}),` observables you can observe for custom logic:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Observable`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`getMutableConversationList()`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MutableLiveData\u003cList\u003cConversation>>`})}),_jsx(_components.td,{children:`The current list of conversations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`getStates()`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MutableLiveData\u003cUIKitConstants.States>`})}),_jsx(_components.td,{children:`Component state (LOADING, LOADED, EMPTY, ERROR)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`insertAtTop()`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MutableLiveData\u003cInteger>`})}),_jsx(_components.td,{children:`Emits the index when a new conversation is inserted at the top`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`moveToTop()`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MutableLiveData\u003cInteger>`})}),_jsx(_components.td,{children:`Emits the index when a conversation moves to the top`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`updateConversation()`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MutableLiveData\u003cInteger>`})}),_jsx(_components.td,{children:`Emits the index when a conversation is updated`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`remove()`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MutableLiveData\u003cInteger>`})}),_jsx(_components.td,{children:`Emits the index when a conversation is removed`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`progressState()`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MutableLiveData\u003cUIKitConstants.DeleteState>`})}),_jsx(_components.td,{children:`Tracks delete operation progress`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`playSound()`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MutableLiveData\u003cBoolean>`})}),_jsx(_components.td,{children:`Triggers when a new message sound should play`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`getCometChatException()`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MutableLiveData\u003cCometChatException>`})}),_jsx(_components.td,{children:`Emits errors from the SDK`})]})]})]}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`Kotlin`,id:`kotlin-3`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`16`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`16`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` viewModel `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` conversations.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getViewModel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Observe state changes`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`viewModel.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getStates`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`observe`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(lifecycleOwner) { state `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`->`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` when`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (state) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` UIKitConstants.States.LOADING `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`->`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`/* show custom loading */`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` UIKitConstants.States.LOADED `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`->`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`/* data ready */`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` UIKitConstants.States.EMPTY `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`->`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`/* no conversations */`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` UIKitConstants.States.ERROR `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`->`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`/* handle error */`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Observe the conversation list`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`viewModel.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getMutableConversationList`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`observe`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(lifecycleOwner) { list `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`->`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // React to list changes`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),_jsx(Tab,{title:`Java`,id:`java-3`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`java`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`java`,children:_jsxs(_components.code,{language:`java`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`ConversationsViewModel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` viewModel`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` conversations`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getViewModel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Observe state changes`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`viewModel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getStates`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`observe`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(lifecycleOwner, state `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`->`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (state `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` UIKitConstants`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`States`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`LOADING`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // show custom loading`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (state `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` UIKitConstants`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`States`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`LOADED`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // data ready`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Observe the conversation list`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`viewModel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getMutableConversationList`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`observe`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(lifecycleOwner, list `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`->`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // React to list changes`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`mutation-methods`,children:`Mutation Methods`}),`\n`,_jsx(_components.p,{children:`The ViewModel provides methods to programmatically manipulate the data list:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Method`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`addList(List\u003cConversation>)`})}),_jsx(_components.td,{children:`Append a list of conversations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`remove(Conversation)`})}),_jsx(_components.td,{children:`Remove a specific conversation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`remove(int index)`})}),_jsx(_components.td,{children:`Remove a conversation by index`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`update(Conversation, boolean)`})}),_jsx(_components.td,{children:`Update a conversation in the list`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`refreshList()`})}),_jsx(_components.td,{children:`Clear and re-fetch from the server`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`clear()`})}),_jsx(_components.td,{children:`Clear all conversations from the list`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fetchConversation()`})}),_jsx(_components.td,{children:`Fetch the next page of conversations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`deleteConversation(Conversation)`})}),_jsx(_components.td,{children:`Delete a conversation via the SDK`})]})]})]}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`Kotlin`,id:`kotlin-4`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` viewModel `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` conversations.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getViewModel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Refresh the entire list`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`viewModel.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`refreshList`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Remove a specific conversation`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`viewModel.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`remove`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(conversation)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Clear all data`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`viewModel.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`clear`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`]})})})}),_jsx(Tab,{title:`Java`,id:`java-4`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`java`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`java`,children:_jsxs(_components.code,{language:`java`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`ConversationsViewModel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` viewModel`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` conversations`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getViewModel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Refresh the entire list`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`viewModel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`refreshList`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Remove a specific conversation`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`viewModel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`remove`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(conversation);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Clear all data`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`viewModel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`clear`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`lifecycle-callbacks`,children:`Lifecycle Callbacks`}),`\n`,_jsx(_components.p,{children:`Intercept data loading lifecycle events with these callbacks on the View:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Callback`}),_jsx(_components.th,{children:`Triggered When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`setOnLoad(OnLoad\u003cConversation>)`})}),_jsx(_components.td,{children:`Data has been successfully loaded`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`setOnEmpty(OnEmpty)`})}),_jsx(_components.td,{children:`The data list is empty after loading`})]})]})]}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`Kotlin`,id:`kotlin-5`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`conversations.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setOnLoad`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { list `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`->`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Called when conversations are loaded`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Log.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`d`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Conversations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Loaded `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:\"${\"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D4D4D4`},children:`list.size`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` conversations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`conversations.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setOnEmpty`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Called when no conversations exist`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Log.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`d`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Conversations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"No conversations found\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),_jsx(Tab,{title:`Java`,id:`java-5`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`java`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`java`,children:_jsxs(_components.code,{language:`java`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`conversations`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setOnLoad`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(list `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`->`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Called when conversations are loaded`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`d`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Conversations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Loaded \"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` +`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` list`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`size`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`+`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \" conversations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`conversations`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setOnEmpty`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`->`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Called when no conversations exist`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`d`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Conversations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"No conversations found\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/ui-kit/android/v5/customization-adapters`,children:`Adapter Customization`}),` — Manipulate list data at the adapter level.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/ui-kit/android/v5/customization-overview`,children:`Customization Overview`}),` — See all customization categories.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"ViewModel \u0026 Data","description":"Access and configure the ViewModel layer to customize data fetching, filtering, and state management.","href":"/ui-kit/android/v5/customization-viewmodel-data"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Accessing the ViewModel","slug":"accessing-the-viewmodel","depth":2,"children":[]},{"title":"Configuring Data Fetching with RequestBuilders","slug":"configuring-data-fetching-with-requestbuilders","depth":2,"children":[]},{"title":"LiveData Observables","slug":"livedata-observables","depth":2,"children":[]},{"title":"Mutation Methods","slug":"mutation-methods","depth":2,"children":[]},{"title":"Lifecycle Callbacks","slug":"lifecycle-callbacks","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/cometchat-22654f5b/36ac8063d2fb5fe5/assets/consent.js","/docs/_mintlify/custom/cometchat-22654f5b/5c3dfb209223f9f6/assets/feedback-support-ticket.js"],"subdomain":"cometchat-22654f5b","siteName":"CometChat Docs","title":"ViewModel \u0026 Data - CometChat Docs","navMaps":{"firstHrefInVersion":{"v6":{"href":"/ui-kit/android/overview","matchLevel":2},"v5":{"href":"/ui-kit/android/v5/customization-viewmodel-data","matchLevel":0},"v4":{"href":"/ui-kit/android/v4/overview","matchLevel":2},"v3":{"href":"/ui-kit/android/v3/overview","matchLevel":2},"v2":{"href":"/ui-kit/android/v2/overview","matchLevel":2},"v7":{"href":"/ui-kit/react/overview","matchLevel":4},"v6":{"href":"/ui-kit/react/v6/overview","matchLevel":4},"v5":{"href":"/ui-kit/react/v5/overview","matchLevel":4},"v4":{"href":"/ui-kit/react/v4/overview","matchLevel":4},"v3":{"href":"/ui-kit/react/v3/overview","matchLevel":4},"v2":{"href":"/ui-kit/react/v2/overview","matchLevel":4},"v5":{"href":"/ui-kit/react-native/overview","matchLevel":4},"v4":{"href":"/ui-kit/react-native/v4/overview","matchLevel":4},"v3":{"href":"/ui-kit/react-native/v3/overview","matchLevel":4},"v2":{"href":"/ui-kit/react-native/v2/overview","matchLevel":4},"v5":{"href":"/ui-kit/ios/overview","matchLevel":4},"v4":{"href":"/ui-kit/ios/v4/overview","matchLevel":4},"v3":{"href":"/ui-kit/ios/v3/overview","matchLevel":4},"v2":{"href":"/ui-kit/ios/v2/overview","matchLevel":4},"v6":{"href":"/ui-kit/flutter/overview","matchLevel":4},"v5":{"href":"/ui-kit/flutter/v5/overview","matchLevel":4},"v4":{"href":"/ui-kit/flutter/v4/overview","matchLevel":4},"v5":{"href":"/ui-kit/angular/overview","matchLevel":4},"v4":{"href":"/ui-kit/angular/v4/overview","matchLevel":4},"v3":{"href":"/ui-kit/angular/3.0/overview","matchLevel":4},"v2":{"href":"/ui-kit/angular/2.0/overview","matchLevel":4},"v4":{"href":"/ui-kit/vue/overview","matchLevel":4},"v3":{"href":"/ui-kit/vue/3.0/overview","matchLevel":4},"v2":{"href":"/ui-kit/vue/2.0/overview","matchLevel":4},"v4":{"href":"/sdk/javascript/overview","matchLevel":4},"v3":{"href":"/sdk/javascript/3.0/overview","matchLevel":4},"v2":{"href":"/sdk/javascript/2.0/overview","matchLevel":4},"v4":{"href":"/sdk/react-native/overview","matchLevel":4},"v3":{"href":"/sdk/react-native/3.0/overview","matchLevel":4},"v2":{"href":"/sdk/react-native/2.0/overview","matchLevel":4},"v4":{"href":"/sdk/ios/overview","matchLevel":4},"v3":{"href":"/sdk/ios/3.0/overview","matchLevel":4},"v2":{"href":"/sdk/ios/2.0/overview","matchLevel":4},"v5":{"href":"/sdk/android/v5/overview","matchLevel":4},"v4":{"href":"/sdk/android/overview","matchLevel":4},"v3":{"href":"/sdk/android/3.0/overview","matchLevel":4},"v2":{"href":"/sdk/android/2.0/overview","matchLevel":4},"v5":{"href":"/sdk/flutter/overview","matchLevel":4},"v4":{"href":"/sdk/flutter/v4/overview","matchLevel":4},"v3":{"href":"/sdk/flutter/3.0/overview","matchLevel":4},"v5":{"href":"/calls/javascript/overview","matchLevel":4},"v4":{"href":"/calls/v4/javascript/overview","matchLevel":4},"v5":{"href":"/calls/react-native/overview","matchLevel":4},"v4":{"href":"/calls/v4/react-native/overview","matchLevel":4},"v5":{"href":"/calls/ios/overview","matchLevel":4},"v4":{"href":"/calls/v4/ios/overview","matchLevel":4},"v5":{"href":"/calls/android/overview","matchLevel":4},"v4":{"href":"/calls/v4/android/overview","matchLevel":4},"v5":{"href":"/calls/flutter/overview","matchLevel":4},"v4":{"href":"/calls/v4/flutter/overview","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-07-30T15:48:34.234Z","originalFileLocation":"ui-kit/android/v5/customization-viewmodel-data.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Access and configure the ViewModel layer to customize data fetching, filtering, and state management.\">\u003cmeta data-mint-head name=\"application-name\" content=\"CometChat Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/cometchat-22654f5b/9HQD26P0kBVs3M5H/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/cometchat-22654f5b/9HQD26P0kBVs3M5H/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/cometchat-22654f5b/9HQD26P0kBVs3M5H/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/cometchat-22654f5b/9HQD26P0kBVs3M5H/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/cometchat-22654f5b/9HQD26P0kBVs3M5H/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/cometchat-22654f5b/9HQD26P0kBVs3M5H/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/cometchat-22654f5b/9HQD26P0kBVs3M5H/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/cometchat-22654f5b/9HQD26P0kBVs3M5H/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/cometchat-22654f5b/9HQD26P0kBVs3M5H/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"ViewModel \u0026amp; Data - CometChat Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Access and configure the ViewModel layer to customize data fetching, filtering, and state management.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CometChat Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.cometchat.com/docs/ui-kit/android/v5/customization-viewmodel-data\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cometchat-22654f5b.mintlify.app/_mintlify/api/og/v2?division=Customization\u0026amp;title=ViewModel+%26+Data\u0026amp;description=Access+and+configure+the+ViewModel+layer+to+customize+data+fetching%2C+filtering%2C+and+state+management.\u0026amp;theme=49fdcba0a8a0d0cce2bd7088\u0026amp;signature=2bb04973cd5dd4d13def202f644c215e7c25b23e830b0a59442113f8519cc996\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"ViewModel \u0026amp; Data - CometChat Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Access and configure the ViewModel layer to customize data fetching, filtering, and state management.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cometchat-22654f5b.mintlify.app/_mintlify/api/og/v2?division=Customization\u0026amp;title=ViewModel+%26+Data\u0026amp;description=Access+and+configure+the+ViewModel+layer+to+customize+data+fetching%2C+filtering%2C+and+state+management.\u0026amp;theme=49fdcba0a8a0d0cce2bd7088\u0026amp;signature=2bb04973cd5dd4d13def202f644c215e7c25b23e830b0a59442113f8519cc996\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/cometchat-22654f5b/9HQD26P0kBVs3M5H/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CometChat Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6851D6\">\u003cmeta data-mint-head name=\"charset\" content=\"UTF-8\">\u003cmeta data-mint-head name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\u003cmeta data-mint-head name=\"language\" content=\"en\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.cometchat.com/docs/ui-kit/android/v5/customization-viewmodel-data\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/ui-kit/android/v5/customization-viewmodel-data.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.cometchat.com/#organization\",\"name\":\"CometChat Docs\",\"url\":\"https://www.cometchat.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cometchat-22654f5b/rnJE5Ok_8RIDEPUR/logo/light.svg?fit=max\u0026auto=format\u0026n=rnJE5Ok_8RIDEPUR\u0026q=85\u0026s=461a8ced4bf934b4f3a2770f090f2d3c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.cometchat.com/docs#website\",\"name\":\"CometChat Docs\",\"url\":\"https://www.cometchat.com/docs\",\"publisher\":{\"@id\":\"https://www.cometchat.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.cometchat.com/docs/ui-kit/android/v5/customization-viewmodel-data#webpage\",\"url\":\"https://www.cometchat.com/docs/ui-kit/android/v5/customization-viewmodel-data\",\"name\":\"ViewModel \u0026 Data\",\"description\":\"Access and configure the ViewModel layer to customize data fetching, filtering, and state management.\",\"dateModified\":\"2026-07-30T15:48:34.234Z\",\"isPartOf\":{\"@id\":\"https://www.cometchat.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.cometchat.com/docs/ui-kit/android/v5/customization-viewmodel-data#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.cometchat.com/docs/ui-kit/android/v5/customization-viewmodel-data#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\" \",\"item\":\"https://www.cometchat.com/docs/ui-kit/android/v5/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Customization\",\"item\":\"https://www.cometchat.com/docs/ui-kit/android/v5/customization-overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"ViewModel \u0026 Data\",\"item\":\"https://www.cometchat.com/docs/ui-kit/android/v5/customization-viewmodel-data\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.cometchat.com/docs/ui-kit/android/v5/customization-viewmodel-data#article\",\"headline\":\"ViewModel \u0026 Data\",\"name\":\"ViewModel \u0026 Data\",\"description\":\"Access and configure the ViewModel layer to customize data fetching, filtering, and state management.\",\"url\":\"https://www.cometchat.com/docs/ui-kit/android/v5/customization-viewmodel-data\",\"mainEntityOfPage\":{\"@id\":\"https://www.cometchat.com/docs/ui-kit/android/v5/customization-viewmodel-data#webpage\"},\"dateModified\":\"2026-07-30T15:48:34.234Z\",\"publisher\":{\"@id\":\"https://www.cometchat.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.cometchat.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CometChat Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"CometChat Docs","nav":{"global":null,"products":[{"product":"Home","pages":[{"title":"Home","href":""}]},{"product":"Home","hidden":true,"pages":[{"title":"Home","href":"/on-premise-deployment/docker/overview","hidden":true}]},{"product":"Chat \u0026 Messaging","tabs":[{"tab":"Chat \u0026 Messaging","pages":[{"title":"Chat \u0026 Messaging","href":"/chat-call"}]},{"tab":"Platform","pages":[{"title":"Platform","href":"/fundamentals/overview"}]},{"tab":"Widget Builder","dropdowns":[{"dropdown":"HTML","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/html5.svg","pages":[{"title":"CometChat Widget Builder For HTML","sidebarTitle":"Overview","href":"/widget/html/overview"},{"title":"Add CometChat Widget to a Static HTML Website","sidebarTitle":"Integration","href":"/widget/html/integration"},{"title":"Advanced CometChat Widget Setup for Static HTML","sidebarTitle":"Advanced Setup","href":"/widget/html/advanced"}]},{"dropdown":"WordPress","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/wordpress.svg","pages":[{"title":"CometChat Widget Builder For WordPress","sidebarTitle":"Overview","href":"/widget/wordpress/overview"},{"title":"Add CometChat Widget to WordPress via Plugin","sidebarTitle":"Integration","href":"/widget/wordpress/integration"}]},{"dropdown":"Shopify","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/shopify.svg","pages":[{"title":"CometChat Widget Builder For Shopify","sidebarTitle":"Overview","href":"/widget/shopify/overview"},{"title":"Add CometChat Widget to Shopify","sidebarTitle":"Integration","href":"/widget/shopify/integration"}]},{"dropdown":"Squarespace","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/squarespace.svg","pages":[{"title":"CometChat Widget Builder For Squarespace","sidebarTitle":"Overview","href":"/widget/squarespace/overview"},{"title":"Add CometChat Widget to Squarespace","sidebarTitle":"Integration","href":"/widget/squarespace/integration"}]},{"dropdown":"Wix","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/wix.svg","pages":[{"title":"CometChat Widget Builder For Wix","sidebarTitle":"Overview","href":"/widget/wix/overview"},{"title":"Add CometChat Widget to Wix","sidebarTitle":"Integration","href":"/widget/wix/integration"}]},{"dropdown":"Webflow","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/webflow.svg","pages":[{"title":"CometChat Widget Builder For Webflow","sidebarTitle":"Overview","href":"/widget/webflow/overview"},{"title":"Add CometChat Widget to Webflow","sidebarTitle":"Integration","href":"/widget/webflow/integration"}]}]},{"tab":"UI Kit Builder","dropdowns":[{"dropdown":"React","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/react.svg","groups":[{"group":" ","pages":[{"title":"CometChat UI Kit Builder For React","sidebarTitle":"Overview","href":"/chat-builder/react/overview"},{"title":"UI Kit Builder Integration","sidebarTitle":"Integration","href":"/chat-builder/react/integration"}]},{"group":"Reference","pages":[{"title":"UI Kit Builder Settings","sidebarTitle":"Builder Settings","href":"/chat-builder/react/builder-settings"},{"title":"Directory Structure","sidebarTitle":"Directory Structure","href":"/chat-builder/react/builder-dir-structure"},{"title":"Customizing Your UI Kit Builder","sidebarTitle":"Customizations","href":"/chat-builder/react/builder-customisations"}]}]},{"dropdown":"Next.js","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/nextjs.svg","groups":[{"group":" ","pages":[{"title":"CometChat UI Kit Builder For Next.js","sidebarTitle":"Overview","href":"/chat-builder/nextjs/overview"},{"title":"UI Kit Builder Integration","sidebarTitle":"Integration","href":"/chat-builder/nextjs/integration"}]},{"group":"Reference","pages":[{"title":"UI Kit Builder Settings","sidebarTitle":"Builder Settings","href":"/chat-builder/nextjs/builder-settings"},{"title":"Directory Structure","sidebarTitle":"Directory Structure","href":"/chat-builder/nextjs/builder-dir-structure"},{"title":"Customizing Your UI Kit Builder","sidebarTitle":"Customizations","href":"/chat-builder/nextjs/builder-customisations"}]}]},{"dropdown":"React Router","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/react-router.svg","groups":[{"group":" ","pages":[{"title":"CometChat UI Kit Builder For React Router","sidebarTitle":"Overview","href":"/chat-builder/react-router/overview"},{"title":"UI Kit Builder Integration","sidebarTitle":"Integration","href":"/chat-builder/react-router/integration"}]},{"group":"Reference","pages":[{"title":"UI Kit Builder Settings","sidebarTitle":"Builder Settings","href":"/chat-builder/react-router/builder-settings"},{"title":"Directory Structure","sidebarTitle":"Directory Structure","href":"/chat-builder/react-router/builder-dir-structure"},{"title":"Customizing Your UI Kit Builder","sidebarTitle":"Customizations","href":"/chat-builder/react-router/builder-customisations"}]}]},{"dropdown":"Angular","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/angular.svg","groups":[{"group":" ","pages":[{"title":"CometChat UI Kit Builder For Angular","sidebarTitle":"Overview","href":"/chat-builder/angular/overview"},{"title":"UI Kit Builder Integration","sidebarTitle":"Integration","href":"/chat-builder/angular/integration"}]},{"group":"Reference","pages":[{"title":"UI Kit Builder Settings","href":"/chat-builder/angular/builder-settings"},{"title":"Directory Structure","sidebarTitle":"Directory Structure","href":"/chat-builder/angular/builder-dir-structure"},{"title":"Customizing Your UI Kit Builder","sidebarTitle":"Customizations","href":"/chat-builder/angular/builder-customisations"}]}]}]},{"tab":"UI Kits","dropdowns":[{"dropdown":"React","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/react.svg","versions":[{"version":"v7","default":true,"groups":[{"group":" ","pages":[{"title":"React UI Kit","sidebarTitle":"Overview","href":"/ui-kit/react/overview"},{"group":"Getting Started","pages":[{"group":"React.js","pages":[{"title":"React.js Integration","sidebarTitle":"Integration","href":"/ui-kit/react/integration-react"},{"title":"Conversation List + Message View","sidebarTitle":"Conversation List + Message View","href":"/ui-kit/react/react-conversation"},{"title":"One-to-One / Group Chat","sidebarTitle":"One-to-One / Group Chat","href":"/ui-kit/react/react-one-to-one-chat"},{"title":"Tab-Based Chat","sidebarTitle":"Tab-Based Chat","href":"/ui-kit/react/react-tab-based-chat"}]},{"group":"Next.js","pages":[{"title":"Next.js Integration","sidebarTitle":"Integration","href":"/ui-kit/react/integration-nextjs"},{"title":"Conversation List + Message View","sidebarTitle":"Conversation List + Message View","href":"/ui-kit/react/next-conversation"},{"title":"One-to-One / Group Chat","sidebarTitle":"One-to-One / Group Chat","href":"/ui-kit/react/next-one-to-one-chat"},{"title":"Tab-Based Chat","sidebarTitle":"Tab-Based Chat","href":"/ui-kit/react/next-tab-based-chat"}]},{"group":"React Router","pages":[{"title":"React Router Integration","sidebarTitle":"Integration","href":"/ui-kit/react/integration-react-router"},{"title":"Conversation List + Message View","sidebarTitle":"Conversation List + Message View","href":"/ui-kit/react/react-router-conversation"},{"title":"One-to-One / Group Chat","sidebarTitle":"One-to-One / Group Chat","href":"/ui-kit/react/react-router-one-to-one-chat"},{"title":"Tab-Based Chat","sidebarTitle":"Tab-Based Chat","href":"/ui-kit/react/react-router-tab-based-chat"}]},{"group":"Astro","pages":[{"title":"Astro Integration","sidebarTitle":"Integration","href":"/ui-kit/react/integration-astro"},{"title":"Conversation List + Message View","sidebarTitle":"Conversation List + Message View","href":"/ui-kit/react/astro-conversation"},{"title":"One-to-One / Group Chat","sidebarTitle":"One-to-One / Group Chat","href":"/ui-kit/react/astro-one-to-one-chat"},{"title":"Tab-Based Chat","sidebarTitle":"Tab-Based Chat","href":"/ui-kit/react/astro-tab-based-chat"}]},{"title":"Calling Integration","href":"/ui-kit/react/calling-integration"}]},{"group":"Features","pages":[{"group":"Chat","pages":[{"title":"Core","href":"/ui-kit/react/core-features"},{"title":"Extensions","href":"/ui-kit/react/extensions"},{"title":"Smart Chat Features","href":"/ui-kit/react/ai-features"}]},{"title":"Call","href":"/ui-kit/react/call-features"},{"title":"Campaigns","href":"/ui-kit/react/campaigns"}]},{"group":"Components","pages":[{"title":"Overview","href":"/ui-kit/react/components-overview"},{"title":"Conversations","href":"/ui-kit/react/components/conversations"},{"title":"Users","href":"/ui-kit/react/components/users"},{"title":"Groups","href":"/ui-kit/react/components/groups"},{"title":"Group Members","href":"/ui-kit/react/components/group-members"},{"title":"Message Header","href":"/ui-kit/react/components/message-header"},{"title":"Message List","href":"/ui-kit/react/components/message-list"},{"title":"Message Composer","href":"/ui-kit/react/components/message-composer"},{"group":"Message Bubbles","pages":[{"title":"Message Bubble","href":"/ui-kit/react/components/message-bubble"},{"title":"Text Bubble","sidebarTitle":"Text Bubble","href":"/ui-kit/react/components/text-bubble"},{"title":"Image Bubble","sidebarTitle":"Image Bubble","href":"/ui-kit/react/components/image-bubble"},{"title":"Video Bubble","sidebarTitle":"Video Bubble","href":"/ui-kit/react/components/video-bubble"},{"title":"Audio Bubble","sidebarTitle":"Audio Bubble","href":"/ui-kit/react/components/audio-bubble"},{"title":"Voice Note Bubble","sidebarTitle":"Voice Note Bubble","href":"/ui-kit/react/components/voice-note-bubble"},{"title":"File Bubble","sidebarTitle":"File Bubble","href":"/ui-kit/react/components/file-bubble"},{"title":"Poll Bubble","sidebarTitle":"Poll Bubble","href":"/ui-kit/react/components/poll-bubble"},{"title":"Sticker Bubble","sidebarTitle":"Sticker Bubble","href":"/ui-kit/react/components/sticker-bubble"},{"title":"Collaborative Document Bubble","sidebarTitle":"Collaborative Document Bubble","href":"/ui-kit/react/components/collaborative-document-bubble"},{"title":"Collaborative Whiteboard Bubble","sidebarTitle":"Collaborative Whiteboard Bubble","href":"/ui-kit/react/components/collaborative-whiteboard-bubble"},{"title":"Card Bubble","sidebarTitle":"Card Bubble","href":"/ui-kit/react/components/card-bubble"},{"title":"Call Bubble","sidebarTitle":"Call Bubble","href":"/ui-kit/react/components/call-bubble"},{"title":"Call Action Bubble","sidebarTitle":"Call Action Bubble","href":"/ui-kit/react/components/call-action-bubble"},{"title":"Group Action Bubble","sidebarTitle":"Group Action Bubble","href":"/ui-kit/react/components/group-action-bubble"},{"title":"Delete Bubble","sidebarTitle":"Delete Bubble","href":"/ui-kit/react/components/delete-bubble"}]},{"title":"Thread Header","href":"/ui-kit/react/components/thread-header"},{"title":"Pinned Messages","sidebarTitle":"Pinned Messages","href":"/ui-kit/react/components/pinned-messages"},{"title":"Saved Messages","sidebarTitle":"Saved Messages","href":"/ui-kit/react/components/saved-messages"},{"title":"Message Information","href":"/ui-kit/react/components/message-information"},{"title":"Reactions","href":"/ui-kit/react/components/reactions"},{"title":"Reaction List","href":"/ui-kit/react/components/reaction-list"},{"title":"Flag Message Dialog","sidebarTitle":"Flag Message Dialog","href":"/ui-kit/react/components/flag-message-dialog"},{"title":"Call Buttons","href":"/ui-kit/react/components/call-buttons"},{"title":"Incoming Call","href":"/ui-kit/react/components/incoming-call"},{"title":"Outgoing Call","href":"/ui-kit/react/components/outgoing-call"},{"title":"Call Logs","href":"/ui-kit/react/components/call-logs"},{"title":"Search","href":"/ui-kit/react/components/search"},{"title":"AI Assistant Chat","href":"/ui-kit/react/components/ai-assistant-chat"},{"title":"Notification Feed","href":"/ui-kit/react/components/notification-feed"}]},{"group":"Plugins","pages":[{"title":"Plugins","sidebarTitle":"Overview","href":"/ui-kit/react/plugins/overview"},{"title":"Creating a Custom Plugin","sidebarTitle":"Custom Plugin","href":"/ui-kit/react/plugins/custom-plugin"},{"title":"Text Formatters","sidebarTitle":"Text Formatters","href":"/ui-kit/react/plugins/text-formatters"}]},{"group":"Architecture","pages":[{"title":"CometChatProvider","href":"/ui-kit/react/cometchat-provider"},{"title":"Event System","href":"/ui-kit/react/event-system"}]},{"group":"Customization","pages":[{"title":"Theming","href":"/ui-kit/react/theming"},{"title":"Color Resources","href":"/ui-kit/react/theme/color-resources"},{"title":"Message Bubble Styling","href":"/ui-kit/react/theme/message-bubble-styling"},{"title":"Localization","href":"/ui-kit/react/localization"},{"title":"Sound Manager","href":"/ui-kit/react/sound-manager"}]},{"group":"Guides","pages":[{"title":"Block/Unblock User","sidebarTitle":"Block/Unblock User","href":"/ui-kit/react/guide-block-unblock-user"},{"title":"Group Chat Setup","sidebarTitle":"Group Chat Setup","href":"/ui-kit/react/guide-group-chat-setup"},{"title":"Threaded Messages","sidebarTitle":"Threaded Messages","href":"/ui-kit/react/guide-threaded-messages"},{"title":"Pin \u0026 Save Messages","sidebarTitle":"Pin \u0026 Save Messages","href":"/ui-kit/react/guide-pin-and-save-messages"},{"title":"Custom Text Formatter","sidebarTitle":"Custom Text Formatter","href":"/ui-kit/react/guide-custom-text-formatter"},{"title":"Search Messages","sidebarTitle":"Search Messages","href":"/ui-kit/react/guide-search-messages"},{"title":"New Chat Creation","sidebarTitle":"New Chat Creation","href":"/ui-kit/react/guide-new-chat-creation"},{"title":"Message Privately","sidebarTitle":"Message Privately","href":"/ui-kit/react/guide-message-privately"}]},{"group":"Reference","pages":[{"title":"Methods","href":"/ui-kit/react/methods"}]},{"group":"Migration Guide","pages":[{"title":"Upgrading from v6 to v7","sidebarTitle":"Overview","href":"/ui-kit/react/migration-overview"},{"title":"Property Changes","sidebarTitle":"Property Changes","href":"/ui-kit/react/migration-property-changes"}]},{"title":"Troubleshooting","href":"/ui-kit/react/troubleshooting"},{"title":"React Sample App","url":"https://github.com/cometchat/cometchat-uikit-react/tree/v7/sample-app","href":"/ui-kit/react/link/sample"},{"title":"Changelog","url":"https://github.com/cometchat/cometchat-uikit-react/releases?q=v7\u0026expanded=true","href":"/ui-kit/react/link/changelog"},{"title":"Figma Design","url":"https://www.figma.com/community/file/1442863561340379957/cometchat-ui-kit-for-web","href":"/ui-kit/react/link/figma"}]}]},{"version":"v6","default":false,"pages":[{"title":"v6","href":"/ui-kit/react/v6/overview"}]},{"version":"v5","pages":[{"title":"v5","href":"/ui-kit/react/v5/overview"}]},{"version":"v4","pages":[{"title":"v4","href":"/ui-kit/react/v4/overview"}]},{"version":"v3","pages":[{"title":"v3","href":"/ui-kit/react/v3/overview"}]},{"version":"v2","pages":[{"title":"v2","href":"/ui-kit/react/v2/overview"}]}]},{"dropdown":"React Native","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/react.svg","versions":[{"version":"v5","groups":[{"group":" ","pages":[{"title":"React Native UI Kit","sidebarTitle":"Overview","href":"/ui-kit/react-native/overview"},{"group":"Getting Started","pages":[{"group":"React Native CLI","pages":[{"title":"React Native CLI Integration","sidebarTitle":"Integration","href":"/ui-kit/react-native/react-native-cli-integration"},{"title":"Conversation List + Message View","sidebarTitle":"Conversation List + Message View","href":"/ui-kit/react-native/react-native-conversation"},{"title":"One-to-One / Group Chat","sidebarTitle":"One-to-One / Group Chat","href":"/ui-kit/react-native/react-native-one-to-one-chat"},{"title":"Tab-Based Chat","sidebarTitle":"Tab-Based Chat","href":"/ui-kit/react-native/react-native-tab-based-chat"}]},{"group":"Expo","pages":[{"title":"Expo Integration","sidebarTitle":"Integration","href":"/ui-kit/react-native/expo-integration"},{"title":"Conversation List + Message View","sidebarTitle":"Conversation List + Message View","href":"/ui-kit/react-native/expo-conversation"},{"title":"One-to-One / Group Chat","sidebarTitle":"One-to-One / Group Chat","href":"/ui-kit/react-native/expo-one-to-one-chat"},{"title":"Tab-Based Chat","sidebarTitle":"Tab-Based Chat","href":"/ui-kit/react-native/expo-tab-based-chat"}]}]},{"group":"Features","pages":[{"group":"Chat","pages":[{"title":"Core","href":"/ui-kit/react-native/core-features"},{"title":"Extensions","href":"/ui-kit/react-native/extensions"},{"title":"Smart Chat Features","href":"/ui-kit/react-native/ai-features"}]},{"title":"Calling Integration","href":"/ui-kit/react-native/calling-integration"},{"title":"Call","href":"/ui-kit/react-native/call-features"},{"title":"Campaigns","href":"/ui-kit/react-native/campaigns"}]},{"group":"Theming","pages":[{"title":"Customizing UI With Theming","sidebarTitle":"Overview","href":"/ui-kit/react-native/theme"},{"title":"Color Resources","sidebarTitle":"Colors","href":"/ui-kit/react-native/colors"},{"title":"Component Styling","sidebarTitle":"Component Styling","href":"/ui-kit/react-native/component-styling"},{"title":"Message Bubble Styling","href":"/ui-kit/react-native/message-bubble-styling"},{"title":"Localization","sidebarTitle":"Localize","href":"/ui-kit/react-native/localize"},{"title":"Sound Manager","href":"/ui-kit/react-native/sound-manager"}]},{"group":"Components","pages":[{"title":"Overview","href":"/ui-kit/react-native/components-overview"},{"title":"Conversations","href":"/ui-kit/react-native/conversations"},{"title":"Users","href":"/ui-kit/react-native/users"},{"title":"Groups","href":"/ui-kit/react-native/groups"},{"title":"Group Members","href":"/ui-kit/react-native/group-members"},{"title":"Message Header","href":"/ui-kit/react-native/message-header"},{"title":"Message List","href":"/ui-kit/react-native/message-list"},{"title":"Pinned Messages","sidebarTitle":"Pinned Messages","href":"/ui-kit/react-native/pinned-messages"},{"title":"Saved Messages","sidebarTitle":"Saved Messages","href":"/ui-kit/react-native/saved-messages"},{"title":"Message Composer","href":"/ui-kit/react-native/message-composer"},{"title":"Compact Message Composer","href":"/ui-kit/react-native/compact-message-composer"},{"title":"Threaded Messages Header","href":"/ui-kit/react-native/threaded-messages-header"},{"title":"Message Information","sidebarTitle":"Message Information","href":"/ui-kit/react-native/message-information"},{"title":"Incoming Call","href":"/ui-kit/react-native/incoming-call"},{"title":"Outgoing Call","href":"/ui-kit/react-native/outgoing-call"},{"title":"Call Buttons","href":"/ui-kit/react-native/call-buttons"},{"title":"Call Logs","href":"/ui-kit/react-native/call-logs"},{"title":"AI Assistant Chat History","href":"/ui-kit/react-native/ai-assistant-chat-history"},{"title":"Notification Feed","href":"/ui-kit/react-native/notification-feed"},{"title":"Search","href":"/ui-kit/react-native/search"}]},{"group":"Reference","pages":[{"title":"Methods","href":"/ui-kit/react-native/methods"},{"title":"Events","href":"/ui-kit/react-native/events"}]},{"group":"Guides","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/ui-kit/react-native/guide-overview"},{"title":"AI Agent Integration","sidebarTitle":"AI Agent Integration","href":"/ui-kit/react-native/guide-ai-agent"},{"title":"New Chat","sidebarTitle":"New Chat","href":"/ui-kit/react-native/guide-new-chat"},{"title":"Group Chat","sidebarTitle":"Group Chat","href":"/ui-kit/react-native/guide-group-chat"},{"title":"Threaded Messages","sidebarTitle":"Threaded Messages","href":"/ui-kit/react-native/guide-threaded-messages"},{"title":"Pin \u0026 Save Messages","sidebarTitle":"Pin \u0026 Save Messages","href":"/ui-kit/react-native/guide-pin-and-save-messages"},{"title":"Text Color","sidebarTitle":"Text Color","href":"/ui-kit/react-native/guide-text-color"},{"title":"Custom Text Formatter","sidebarTitle":"Custom Text Formatter","href":"/ui-kit/react-native/guide-custom-text-formatter"},{"title":"Search Messages","sidebarTitle":"Search Messages","href":"/ui-kit/react-native/guide-search-messages"},{"title":"Message Privately","sidebarTitle":"Message Privately","href":"/ui-kit/react-native/guide-message-privately"},{"title":"Block/Unblock Users","sidebarTitle":"Block/Unblock Users","href":"/ui-kit/react-native/guide-block-unblock-user"},{"title":"Text Formatters","sidebarTitle":"Text Formatters","href":"/ui-kit/react-native/custom-text-formatter-guide"},{"title":"Mentions Formatter","href":"/ui-kit/react-native/mentions-formatter-guide"},{"title":"URL Formatter","href":"/ui-kit/react-native/url-formatter-guide"},{"title":"ShortCut Formatter","href":"/ui-kit/react-native/shortcut-formatter-guide"},{"title":"Apple Privacy Manifest","href":"/ui-kit/react-native/apple-privacy-manifest-guide"}]},{"group":"Migration Guide","pages":[{"title":"Upgrading From V4 to V5","href":"/ui-kit/react-native/upgrading-from-v4"},{"title":"Property Changes","href":"/ui-kit/react-native/property-changes"}]},{"title":"Troubleshooting","href":"/ui-kit/react-native/troubleshooting"},{"title":"React Native Sample App","url":"https://github.com/cometchat/cometchat-uikit-react-native/tree/v5","href":"/ui-kit/react-native/link/sample"},{"title":"Changelog","url":"https://github.com/cometchat/cometchat-uikit-react-native/releases","href":"/ui-kit/react-native/link/changelog"}]}]},{"version":"v4","pages":[{"title":"v4","href":"/ui-kit/react-native/v4/overview"}]},{"version":"v3","pages":[{"title":"v3","href":"/ui-kit/react-native/v3/overview"}]},{"version":"v2","pages":[{"title":"v2","href":"/ui-kit/react-native/v2/overview"}]}]},{"dropdown":"iOS","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/swift.svg","versions":[{"version":"v5","groups":[{"group":" ","pages":[{"title":"CometChat UI Kit For iOS","sidebarTitle":"Overview","href":"/ui-kit/ios/overview"},{"group":"Getting Started","pages":[{"title":"iOS Integration","sidebarTitle":"Integration","href":"/ui-kit/ios/getting-started"},{"title":"Conversation List + Message View","sidebarTitle":"Conversation List + Message View","href":"/ui-kit/ios/ios-conversation"},{"title":"One-to-One / Group Chat","sidebarTitle":"One-to-One / Group Chat","href":"/ui-kit/ios/ios-one-to-one-chat"},{"title":"Tab-Based Chat","sidebarTitle":"Tab-Based Chat","href":"/ui-kit/ios/ios-tab-based-chat"},{"title":"Calling Integration","href":"/ui-kit/ios/calling-integration"}]},{"group":"Features","pages":[{"group":"Chat","pages":[{"title":"Core Features","href":"/ui-kit/ios/core-features"},{"title":"Extensions","href":"/ui-kit/ios/extensions"},{"title":"AI Features","sidebarTitle":"Smart Chat Features","href":"/ui-kit/ios/ai-features"}]},{"title":"Calling Features","sidebarTitle":"Call","href":"/ui-kit/ios/call-features"},{"title":"Campaigns","href":"/ui-kit/ios/campaigns"}]},{"group":"Theming","pages":[{"title":"Introduction","sidebarTitle":"Introduction","href":"/ui-kit/ios/theme-introduction"},{"title":"Color Resources","sidebarTitle":"Color Resources","href":"/ui-kit/ios/color-resources"},{"title":"Component Styling","sidebarTitle":"Component Styling","href":"/ui-kit/ios/component-styling"},{"title":"Message Bubble Styling","sidebarTitle":"Message Bubble Styling","href":"/ui-kit/ios/message-bubble-styling"},{"title":"Localize","sidebarTitle":"Localization","href":"/ui-kit/ios/localize"},{"title":"Sound Manager","sidebarTitle":"Sound Manager","href":"/ui-kit/ios/sound-manager"}]},{"group":"Components","pages":[{"title":"Components Overview","sidebarTitle":"Overview","href":"/ui-kit/ios/components-overview"},{"title":"Conversations","href":"/ui-kit/ios/conversations"},{"title":"Users","href":"/ui-kit/ios/users"},{"title":"Groups","href":"/ui-kit/ios/groups"},{"title":"Group Members","href":"/ui-kit/ios/group-members"},{"title":"Message Header","href":"/ui-kit/ios/message-header"},{"title":"Message List","href":"/ui-kit/ios/message-list"},{"title":"Message Composer","href":"/ui-kit/ios/message-composer"},{"title":"Compact Message Composer","href":"/ui-kit/ios/compact-message-composer"},{"title":"Threaded Messages Header","sidebarTitle":"Threaded Messages Header","href":"/ui-kit/ios/threaded-messages-header"},{"title":"Pinned Messages","href":"/ui-kit/ios/pinned-messages"},{"title":"Saved Messages","href":"/ui-kit/ios/saved-messages"},{"title":"Incoming Call","href":"/ui-kit/ios/incoming-call"},{"title":"Outgoing Call","href":"/ui-kit/ios/outgoing-call"},{"title":"Ongoing Call","href":"/ui-kit/ios/ongoing-call"},{"title":"Call Buttons","href":"/ui-kit/ios/call-buttons"},{"title":"Call Logs","href":"/ui-kit/ios/call-logs"},{"title":"AI Assistant Chat History","sidebarTitle":"AI Assistant Chat History","href":"/ui-kit/ios/ai-assistant-chat-history"},{"title":"Search","sidebarTitle":"Search","href":"/ui-kit/ios/search"},{"title":"Notification Feed","href":"/ui-kit/ios/notification-feed"}]},{"group":"Reference","pages":[{"title":"Methods","href":"/ui-kit/ios/methods"},{"title":"Events","href":"/ui-kit/ios/events"}]},{"group":"Advanced","pages":[{"title":"ShortCut Formatter","sidebarTitle":"ShortCut Formatter","href":"/ui-kit/ios/shortcut-formatter-guide"},{"title":"Mentions Formatter","sidebarTitle":"Mentions Formatter","href":"/ui-kit/ios/mentions-formatter-guide"},{"title":"Message Template","sidebarTitle":"Message Template","href":"/ui-kit/ios/message-template"}]},{"group":"Guides","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/ui-kit/ios/guide-overview"},{"title":"Threaded Messages","sidebarTitle":"Threaded Messages","href":"/ui-kit/ios/guide-threaded-messages"},{"title":"Thread Subscription","sidebarTitle":"Thread Subscription","href":"/ui-kit/ios/guide-thread-subscription"},{"title":"Pin \u0026 Save Messages","sidebarTitle":"Pin \u0026 Save Messages","href":"/ui-kit/ios/guide-pin-save-message"},{"title":"Block/Unblock User","sidebarTitle":"Block/Unblock User","href":"/ui-kit/ios/guide-block-unblock-user"},{"title":"Create Conversation","sidebarTitle":"Create Conversation","href":"/ui-kit/ios/guide-new-chat"},{"title":"Message Privately","sidebarTitle":"Message Privately","href":"/ui-kit/ios/guide-message-privately"},{"title":"Call Log Details","sidebarTitle":"Call Log Details","href":"/ui-kit/ios/guide-call-log-details"},{"title":"Group Details","sidebarTitle":"Group Details","href":"/ui-kit/ios/guide-group-chat"},{"title":"Transfer Group Ownership","sidebarTitle":"Transfer Group Ownership","href":"/ui-kit/ios/guide-group-ownership"},{"title":"AI Agent Integration","sidebarTitle":"AI Agent Integration","href":"/ui-kit/ios/guide-ai-agent"}]},{"group":"Migration Guide","pages":[{"title":"Upgrading from V4 to V5","sidebarTitle":"Upgrading from V4 to V5","href":"/ui-kit/ios/upgrading-from-v4"}]},{"title":"Troubleshooting","sidebarTitle":"Troubleshooting","href":"/ui-kit/ios/troubleshooting"},{"title":"iOS Sample App","url":"https://github.com/cometchat/cometchat-uikit-ios/tree/v5","href":"/ui-kit/ios/link/sample"},{"title":"Figma Design","url":"https://www.figma.com/community/file/1444325479486807899/cometchat-ui-kit-for-ios","href":"/ui-kit/ios/link/figma"},{"title":"Changelog","url":"https://github.com/cometchat/cometchat-uikit-ios/releases","href":"/ui-kit/ios/link/changelog"}]}]},{"version":"v4","pages":[{"title":"v4","href":"/ui-kit/ios/v4/overview"}]},{"version":"v3","pages":[{"title":"v3","href":"/ui-kit/ios/v3/overview"}]},{"version":"v2","pages":[{"title":"v2","href":"/ui-kit/ios/v2/overview"}]}]},{"dropdown":"Android","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/android.svg","versions":[{"version":"v6","pages":[{"title":"v6","href":"/ui-kit/android/overview"}]},{"version":"v5","groups":[{"group":" ","pages":[{"title":"Android UI Kit","sidebarTitle":"Overview","href":"/ui-kit/android/v5/overview"},{"group":"Getting Started","pages":[{"title":"Getting Started With CometChat Android UI Kit","sidebarTitle":"Integration","href":"/ui-kit/android/v5/getting-started"},{"title":"Building A Conversation List + Message View","sidebarTitle":"Conversation List + Message View","href":"/ui-kit/android/v5/android-conversation"},{"title":"Building A One To One/Group Chat Experience","sidebarTitle":"One To One/Group Chat","href":"/ui-kit/android/v5/android-one-to-one-chat"},{"title":"Building A Tab-Based Messaging UI","sidebarTitle":"Tab Based Chat Experience","href":"/ui-kit/android/v5/android-tab-based-chat"},{"title":"Calling Integration","href":"/ui-kit/android/v5/calling-integration"}]},{"group":"Features","pages":[{"group":"Chat","pages":[{"title":"Core","href":"/ui-kit/android/v5/core-features"},{"title":"Extensions","href":"/ui-kit/android/v5/extensions"},{"title":"Smart Chat Features","href":"/ui-kit/android/v5/ai-features"}]},{"title":"Call","href":"/ui-kit/android/v5/call-features"}]},{"group":"Theming","pages":[{"title":"Introduction","href":"/ui-kit/android/v5/theme-introduction"},{"title":"Color Resources","href":"/ui-kit/android/v5/color-resources"},{"title":"Component Styling","href":"/ui-kit/android/v5/component-styling"},{"title":"Message Bubble Styling","href":"/ui-kit/android/v5/message-bubble-styling"},{"title":"Localize","href":"/ui-kit/android/v5/localize"},{"title":"Sound Manager","href":"/ui-kit/android/v5/sound-manager"}]},{"group":"Customization","pages":[{"title":"Customization Overview","href":"/ui-kit/android/v5/customization-overview"},{"title":"View Slots","href":"/ui-kit/android/v5/customization-view-slots"},{"title":"Styles","description":"Customize component appearance using XML theme attributes or programmatic setter methods to match your app's brand.","href":"/ui-kit/android/v5/customization-styles"},{"title":"ViewModel \u0026 Data","href":"/ui-kit/android/v5/customization-viewmodel-data"},{"title":"Adapters","description":"Access or replace the RecyclerView Adapter to control how list items are rendered and manage list data directly.","href":"/ui-kit/android/v5/customization-adapters"},{"title":"Events \u0026 Callbacks","href":"/ui-kit/android/v5/customization-events"},{"title":"State Views","href":"/ui-kit/android/v5/customization-state-views"},{"title":"Text Formatters","href":"/ui-kit/android/v5/customization-text-formatters"},{"title":"Menu \u0026 Options","href":"/ui-kit/android/v5/customization-menu-options"},{"title":"DataSource \u0026 ChatConfigurator","href":"/ui-kit/android/v5/customization-datasource"}]},{"group":"Components","pages":[{"title":"Overview","href":"/ui-kit/android/v5/components-overview"},{"title":"Conversations","href":"/ui-kit/android/v5/conversations"},{"title":"Users","href":"/ui-kit/android/v5/users"},{"title":"Groups","href":"/ui-kit/android/v5/groups"},{"title":"Group Members","href":"/ui-kit/android/v5/group-members"},{"title":"Message Header","href":"/ui-kit/android/v5/message-header"},{"title":"Message List","href":"/ui-kit/android/v5/message-list"},{"title":"Message Composer","href":"/ui-kit/android/v5/message-composer"},{"title":"Compact Message Composer","href":"/ui-kit/android/v5/compact-message-composer"},{"title":"Message Template","href":"/ui-kit/android/v5/message-template"},{"title":"Threaded Messages Header","href":"/ui-kit/android/v5/threaded-messages-header"},{"title":"Incoming Call","href":"/ui-kit/android/v5/incoming-call"},{"title":"Outgoing Call","href":"/ui-kit/android/v5/outgoing-call"},{"title":"Call Buttons","href":"/ui-kit/android/v5/call-buttons"},{"title":"Call Logs","href":"/ui-kit/android/v5/call-logs"},{"title":"AI Assistant Chat History","href":"/ui-kit/android/v5/ai-assistant-chat-history"},{"title":"Search","href":"/ui-kit/android/v5/search"}]},{"group":"Reference","pages":[{"title":"Methods","href":"/ui-kit/android/v5/methods"},{"title":"Events","href":"/ui-kit/android/v5/events"}]},{"group":"Guides","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/ui-kit/android/v5/guide-overview"},{"title":"Threaded Messages","sidebarTitle":"Threaded Messages","href":"/ui-kit/android/v5/guide-threaded-messages"},{"title":"Block/Unblock User","sidebarTitle":"Block/Unblock User","href":"/ui-kit/android/v5/guide-block-unblock-user"},{"title":"New Chat","sidebarTitle":"New Chat","href":"/ui-kit/android/v5/guide-new-chat"},{"title":"Message Privately","sidebarTitle":"Message Privately","href":"/ui-kit/android/v5/guide-message-privately"},{"title":"Search Messages","sidebarTitle":"Search Messages","href":"/ui-kit/android/v5/guide-search-messages"},{"title":"Call Log Details","sidebarTitle":"Call Log Details","href":"/ui-kit/android/v5/guide-call-log-details"},{"title":"Group Management","sidebarTitle":"Group Management","href":"/ui-kit/android/v5/guide-group-chat"},{"title":"AI Agent Integration","sidebarTitle":"AI Agent Integration","href":"/ui-kit/android/v5/guide-ai-agent"},{"title":"Custom Text Formatter","sidebarTitle":"Custom Text Formatter","href":"/ui-kit/android/v5/custom-text-formatter-guide"},{"title":"Mentions Formatter","href":"/ui-kit/android/v5/mentions-formatter-guide"},{"title":"ShortCut Formatter","href":"/ui-kit/android/v5/shortcut-formatter-guide"}]},{"group":"Migration Guide","pages":[{"title":"Upgrading from V4 to V5","href":"/ui-kit/android/v5/upgrading-from-v4"}]},{"title":"Troubleshooting","href":"/ui-kit/android/v5/troubleshooting"},{"title":"Android Sample App","url":"https://github.com/cometchat/cometchat-uikit-android/tree/v5","href":"/ui-kit/android/v5/link/sample"},{"title":"Figma Design","url":"https://www.figma.com/community/file/1444324233177163609/cometchat-ui-kit-for-android","href":"/ui-kit/android/v5/link/figma"},{"title":"Changelog","url":"https://github.com/cometchat/cometchat-uikit-android/releases","href":"/ui-kit/android/v5/link/changelog"}]}]},{"version":"v4","pages":[{"title":"v4","href":"/ui-kit/android/v4/overview"}]},{"version":"v3","pages":[{"title":"v3","href":"/ui-kit/android/v3/overview"}]},{"version":"v2","pages":[{"title":"v2","href":"/ui-kit/android/v2/overview"}]}]},{"dropdown":"Flutter","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/flutter.svg","versions":[{"version":"v6","groups":[{"group":" ","pages":[{"title":"CometChat UI Kit For Flutter (V6)","sidebarTitle":"Overview","href":"/ui-kit/flutter/overview"},{"group":"Getting Started","pages":[{"title":"Getting Started With CometChat Flutter UI Kit V6","sidebarTitle":"Getting Started","href":"/ui-kit/flutter/getting-started"},{"title":"Conversation List + Message View","sidebarTitle":"Conversation List + Message View","href":"/ui-kit/flutter/flutter-conversation"},{"title":"Building A One To One/Group Chat Experience","sidebarTitle":"One To One/Group Chat","href":"/ui-kit/flutter/flutter-one-to-one-chat"},{"title":"Building A Messaging UI With Tabs, Sidebar, And Message View","sidebarTitle":"Tab Based Chat Experience","href":"/ui-kit/flutter/flutter-tab-based-chat"}]},{"group":"Features","pages":[{"group":"Chat","pages":[{"title":"Core Features","href":"/ui-kit/flutter/core-features"},{"title":"Extensions","href":"/ui-kit/flutter/extensions"}]},{"title":"Call","href":"/ui-kit/flutter/call-features"},{"title":"Campaigns","href":"/ui-kit/flutter/campaigns"}]},{"group":"Theming","pages":[{"title":"Theming In CometChat Flutter UI Kit V6","sidebarTitle":"Theming","href":"/ui-kit/flutter/theme-introduction"},{"title":"Color Resources","href":"/ui-kit/flutter/color-resources"},{"title":"Component Styling","sidebarTitle":"Component Styling","href":"/ui-kit/flutter/component-styling"},{"title":"Customizing Message Bubbles","sidebarTitle":"Message Bubble Styling","href":"/ui-kit/flutter/message-bubble-styling"},{"title":"Localize","href":"/ui-kit/flutter/localize"},{"title":"Sound Manager","href":"/ui-kit/flutter/sound-manager"}]},{"group":"Components","pages":[{"title":"Overview","href":"/ui-kit/flutter/components-overview"},{"title":"Conversations","href":"/ui-kit/flutter/conversations"},{"title":"Users","href":"/ui-kit/flutter/users"},{"title":"Groups","href":"/ui-kit/flutter/groups"},{"title":"Group Members","href":"/ui-kit/flutter/group-members"},{"title":"Message Header","href":"/ui-kit/flutter/message-header"},{"title":"Message List","href":"/ui-kit/flutter/message-list"},{"title":"Message Composer","href":"/ui-kit/flutter/message-composer"},{"title":"Threaded Messages Header","href":"/ui-kit/flutter/threaded-messages-header"},{"title":"Incoming Call","href":"/ui-kit/flutter/incoming-call"},{"title":"Outgoing Call","href":"/ui-kit/flutter/outgoing-call"},{"title":"Call Buttons","href":"/ui-kit/flutter/call-buttons"},{"title":"Call Logs","href":"/ui-kit/flutter/call-logs"},{"title":"Search","href":"/ui-kit/flutter/search"},{"title":"Pinned Messages","href":"/ui-kit/flutter/pinned-messages"},{"title":"Saved Messages","href":"/ui-kit/flutter/saved-messages"},{"title":"Notification Feed","href":"/ui-kit/flutter/notification-feed"}]},{"group":"Reference","pages":[{"title":"Methods","href":"/ui-kit/flutter/methods"},{"title":"Events","href":"/ui-kit/flutter/events"}]},{"group":"Customization","pages":[{"title":"Customization Overview","href":"/ui-kit/flutter/customization-overview"},{"title":"View Slots","href":"/ui-kit/flutter/customization-view-slots"},{"title":"BLoC \u0026 Data","href":"/ui-kit/flutter/customization-bloc-data"},{"title":"State Views","href":"/ui-kit/flutter/customization-state-views"},{"title":"Text Formatters","href":"/ui-kit/flutter/customization-text-formatters"},{"title":"Menu \u0026 Options","href":"/ui-kit/flutter/customization-menu-options"},{"title":"MessageTemplateUtils \u0026 Data Source","href":"/ui-kit/flutter/customization-datasource"}]},{"group":"Advanced","pages":[{"title":"Message Template","href":"/ui-kit/flutter/message-template"},{"title":"Mentions Formatter","href":"/ui-kit/flutter/mentions-formatter-guide"},{"title":"Shortcut Formatter","href":"/ui-kit/flutter/shortcut-formatter-guide"},{"title":"Custom Text Formatter Guide","href":"/ui-kit/flutter/custom-text-formatter-guide"},{"title":"Troubleshooting","href":"/ui-kit/flutter/troubleshooting"}]},{"group":"Guides","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/ui-kit/flutter/guide-overview"},{"title":"Threaded Messages","sidebarTitle":"Threaded Messages","href":"/ui-kit/flutter/guide-threaded-messages"},{"title":"Thread Subscription","sidebarTitle":"Thread Subscription","href":"/ui-kit/flutter/guide-thread-subscription"},{"title":"Pin \u0026 Save Messages","sidebarTitle":"Pin \u0026 Save Messages","href":"/ui-kit/flutter/guide-pin-and-save-messages"},{"title":"Implementing Block/Unblock User in Flutter with CometChat UIKit","sidebarTitle":"Block/Unblock User","href":"/ui-kit/flutter/guide-block-unblock-user"},{"title":"New Chat","sidebarTitle":"New Chat","href":"/ui-kit/flutter/guide-new-chat"},{"title":"Message Privately","sidebarTitle":"Message Privately","href":"/ui-kit/flutter/guide-message-privately"},{"title":"Call Log Details","sidebarTitle":"Call Log Details","href":"/ui-kit/flutter/guide-call-log-details"},{"title":"Group Chat","sidebarTitle":"Group Chat","href":"/ui-kit/flutter/guide-group-chat"},{"title":"Message Agentic Flow","sidebarTitle":"Message Agentic Flow","href":"/ui-kit/flutter/guide-message-agentic-flow"},{"title":"Multi Tab Chat UI Guide","href":"/ui-kit/flutter/multi-tab-chat-ui-guide"}]},{"group":"Migration Guide","pages":[{"title":"Upgrading From V5","sidebarTitle":"Upgrading From V5","href":"/ui-kit/flutter/upgrading-from-v5"}]},{"title":"Flutter Sample App","url":"https://github.com/cometchat/cometchat-sample-app-flutter","href":"/ui-kit/flutter/link/sample"},{"title":"Changelog","url":"https://github.com/cometchat/cometchat-uikit-flutter/releases","href":"/ui-kit/flutter/link/changelog"}]}]},{"version":"v5","pages":[{"title":"v5","href":"/ui-kit/flutter/v5/overview"}]},{"version":"v4","pages":[{"title":"v4","href":"/ui-kit/flutter/v4/overview"}]}]},{"dropdown":"Angular","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/angular.svg","versions":[{"version":"v5","groups":[{"group":" ","pages":[{"title":"Angular UI Kit","sidebarTitle":"Overview","href":"/ui-kit/angular/overview"},{"group":"Getting Started","pages":[{"title":"Quickstart","href":"/ui-kit/angular/quickstart"},{"title":"Integration","sidebarTitle":"Integration","href":"/ui-kit/angular/integration"},{"title":"Conversation List + Message View","sidebarTitle":"Conversation List + Message View","href":"/ui-kit/angular/angular-conversation"},{"title":"One-to-One / Group Chat","sidebarTitle":"One-to-One / Group Chat","href":"/ui-kit/angular/angular-one-to-one-chat"},{"title":"Tab-Based Chat","sidebarTitle":"Tab-Based Chat","href":"/ui-kit/angular/angular-tab-based-chat"}]},{"group":"Features","pages":[{"group":"Chat","pages":[{"title":"Core Features","href":"/ui-kit/angular/core-features"},{"title":"Extensions","href":"/ui-kit/angular/extensions"},{"title":"AI Smart Chat Features","href":"/ui-kit/angular/ai-features"}]},{"title":"Call Features","href":"/ui-kit/angular/call-features"},{"title":"Campaigns","href":"/ui-kit/angular/campaigns"}]},{"group":"Theming","pages":[{"title":"Theming","href":"/ui-kit/angular/customization/theming"},{"title":"Message Bubble Styling","href":"/ui-kit/angular/message-bubble-styling"},{"title":"Localization","href":"/ui-kit/angular/customization/localization"},{"title":"Global Configuration","href":"/ui-kit/angular/customization/global-config"},{"title":"Date \u0026 Time Formatting","href":"/ui-kit/angular/customization/date-time-formatting"},{"title":"Sound Manager","href":"/ui-kit/angular/sound-manager"}]},{"group":"Components","pages":[{"title":"Overview","href":"/ui-kit/angular/components/components-overview"},{"group":"Conversations","pages":[{"title":"Conversations","href":"/ui-kit/angular/components/cometchat-conversations"},{"title":"Conversation Item","href":"/ui-kit/angular/components/cometchat-conversation-item"}]},{"group":"Users","pages":[{"title":"Users","href":"/ui-kit/angular/components/cometchat-users"},{"title":"User Item","href":"/ui-kit/angular/components/cometchat-user-item"}]},{"group":"Groups","pages":[{"title":"Groups","href":"/ui-kit/angular/components/cometchat-groups"},{"title":"Group Item","href":"/ui-kit/angular/components/cometchat-group-item"}]},{"group":"Group Members","pages":[{"title":"Group Members","href":"/ui-kit/angular/components/cometchat-group-members"},{"title":"Group Member Item","href":"/ui-kit/angular/components/cometchat-group-member-item"}]},{"title":"Message Header","href":"/ui-kit/angular/components/cometchat-message-header"},{"title":"Search","href":"/ui-kit/angular/components/cometchat-search"},{"title":"Message List","href":"/ui-kit/angular/components/cometchat-message-list"},{"title":"Message Composer","href":"/ui-kit/angular/components/cometchat-message-composer"},{"title":"Message Bubble","href":"/ui-kit/angular/components/cometchat-message-bubble"},{"title":"Message Information","href":"/ui-kit/angular/components/cometchat-message-information"},{"title":"Thread Header","href":"/ui-kit/angular/components/cometchat-thread-header"},{"title":"Pinned Messages","href":"/ui-kit/angular/components/cometchat-pinned-messages"},{"title":"Saved Messages","href":"/ui-kit/angular/components/cometchat-saved-messages"},{"group":"Message Bubbles","pages":[{"title":"Text Bubble","href":"/ui-kit/angular/components/cometchat-text-bubble"},{"title":"Card Bubble","href":"/ui-kit/angular/components/cometchat-card-bubble"},{"title":"Image Bubble","href":"/ui-kit/angular/components/cometchat-image-bubble"},{"title":"Video Bubble","href":"/ui-kit/angular/components/cometchat-video-bubble"},{"title":"Audio Bubble","href":"/ui-kit/angular/components/cometchat-audio-bubble"},{"title":"File Bubble","href":"/ui-kit/angular/components/cometchat-file-bubble"},{"title":"Action Bubble","href":"/ui-kit/angular/components/cometchat-action-bubble"},{"title":"Delete Bubble","href":"/ui-kit/angular/components/cometchat-delete-bubble"},{"title":"Call Bubble","href":"/ui-kit/angular/components/cometchat-call-bubble"},{"title":"Poll Bubble","href":"/ui-kit/angular/components/cometchat-poll-bubble"},{"title":"Collaborative Document Bubble","href":"/ui-kit/angular/components/cometchat-collaborative-document-bubble"},{"title":"Collaborative Whiteboard Bubble","href":"/ui-kit/angular/components/cometchat-collaborative-whiteboard-bubble"},{"title":"Sticker Bubble","href":"/ui-kit/angular/components/cometchat-sticker-bubble"},{"title":"Stickers Keyboard","href":"/ui-kit/angular/components/cometchat-stickers-keyboard"}]},{"group":"Reactions","pages":[{"title":"Reactions","href":"/ui-kit/angular/components/cometchat-reactions"},{"title":"Reaction List","href":"/ui-kit/angular/components/cometchat-reaction-list"},{"title":"Reaction Info","href":"/ui-kit/angular/components/cometchat-reaction-info"}]},{"group":"Calls","pages":[{"title":"Call Buttons","href":"/ui-kit/angular/components/cometchat-call-buttons"},{"title":"Incoming Call","href":"/ui-kit/angular/components/cometchat-incoming-call"},{"title":"Outgoing Call","href":"/ui-kit/angular/components/cometchat-outgoing-call"},{"title":"Call Logs","href":"/ui-kit/angular/components/cometchat-call-logs"}]},{"group":"AI","pages":[{"title":"Smart Replies","href":"/ui-kit/angular/components/cometchat-smart-replies"},{"title":"Conversation Starter","href":"/ui-kit/angular/components/cometchat-conversation-starter"},{"title":"Conversation Summary","href":"/ui-kit/angular/components/cometchat-conversation-summary"},{"title":"CometChatAIAssistantChat","href":"/ui-kit/angular/components/cometchat-ai-assistant-chat"},{"title":"CometChatMarkdownRenderer","href":"/ui-kit/angular/components/cometchat-markdown-renderer"}]},{"title":"Notification Feed","href":"/ui-kit/angular/components/notification-feed"}]},{"group":"Reference","pages":[{"title":"Events","href":"/ui-kit/angular/events"},{"title":"Methods","href":"/ui-kit/angular/methods"},{"title":"Accessibility","href":"/ui-kit/angular/accessibility"},{"title":"Troubleshooting","href":"/ui-kit/angular/troubleshooting"}]},{"group":"Guides","pages":[{"title":"Guides","sidebarTitle":"Overview","href":"/ui-kit/angular/guides/guides-overview"},{"title":"State Management","href":"/ui-kit/angular/guides/state-management"},{"title":"Threaded Messages","sidebarTitle":"Threaded Messages","href":"/ui-kit/angular/guides/threaded-messages"},{"title":"Thread Subscription","sidebarTitle":"Thread Subscription","href":"/ui-kit/angular/guides/thread-subscription"},{"title":"Pin and Save Messages","sidebarTitle":"Pin \u0026 Save","href":"/ui-kit/angular/guides/pin-and-save-messages"},{"title":"Group Chat","sidebarTitle":"Group Chat","href":"/ui-kit/angular/guides/group-chat"},{"title":"New Chat","sidebarTitle":"New Chat","href":"/ui-kit/angular/guides/new-chat"},{"title":"Block/Unblock Users","sidebarTitle":"Block/Unblock Users","href":"/ui-kit/angular/guides/block-unblock-user"},{"title":"Message Privately","sidebarTitle":"Message Privately","href":"/ui-kit/angular/guides/message-privately"},{"title":"Call Log Details","sidebarTitle":"Call Log Details","href":"/ui-kit/angular/guides/call-log-details"},{"title":"Search Messages","sidebarTitle":"Search Messages","href":"/ui-kit/angular/guides/search-messages"},{"title":"Rich Text Formatting","sidebarTitle":"Rich Text Formatting","href":"/ui-kit/angular/guides/rich-text-formatting"},{"title":"Custom Message Types","href":"/ui-kit/angular/guides/custom-message-types"},{"title":"Card Messages","href":"/ui-kit/angular/guides/card-messages"},{"title":"Custom Text Formatter","sidebarTitle":"Custom Text Formatter","href":"/ui-kit/angular/guides/custom-text-formatter"},{"title":"Mentions Formatter","href":"/ui-kit/angular/guides/mentions-formatter"},{"title":"ShortCut Formatter","href":"/ui-kit/angular/guides/shortcut-formatter"},{"title":"Hashtag Formatter","href":"/ui-kit/angular/guides/hashtag-formatter"},{"title":"URL Formatter","href":"/ui-kit/angular/guides/url-formatter"},{"title":"RxJS Subscription Patterns","href":"/ui-kit/angular/guides/subscription-patterns"}]},{"group":"Services","pages":[{"title":"Services","href":"/ui-kit/angular/api-reference/introduction"},{"title":"Chat State Service","href":"/ui-kit/angular/api-reference/chat-state-service"},{"title":"Message Bubble Config Service","href":"/ui-kit/angular/api-reference/message-bubble-config-service"},{"title":"CometChat Templates Service","href":"/ui-kit/angular/api-reference/templates-service"},{"title":"Search Conversations Service","href":"/ui-kit/angular/api-reference/search-conversations-service"},{"title":"Search Messages Service","href":"/ui-kit/angular/api-reference/search-messages-service"},{"title":"Formatter Config Service","href":"/ui-kit/angular/api-reference/formatter-config-service"},{"title":"Rich Text Editor Service","href":"/ui-kit/angular/api-reference/rich-text-editor-service"}]},{"title":"Upgrading From V4","href":"/ui-kit/angular/customization/migration-guide"}]}]},{"version":"v4","pages":[{"title":"v4","href":"/ui-kit/angular/v4/overview"}]},{"version":"v3","pages":[{"title":"v3","href":"/ui-kit/angular/3.0/overview"}]},{"version":"v2","pages":[{"title":"v2","href":"/ui-kit/angular/2.0/overview"}]}]},{"dropdown":"Vue","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/vuejs.svg","versions":[{"version":"v4","groups":[{"group":" ","pages":[{"title":"Overview","href":"/ui-kit/vue/overview"},{"title":"Key Concepts","href":"/ui-kit/vue/key-concepts"},{"group":"Integration","pages":[{"title":"Integration","sidebarTitle":"Overview","href":"/ui-kit/vue/integration"},{"title":"CometChat UI Kit","href":"/ui-kit/vue/ui-kit-methods"},{"title":"Theme","href":"/ui-kit/vue/theme"}]},{"title":"Nuxt.Js Integration","href":"/ui-kit/vue/nuxtjs-integration"},{"title":"UI Components","href":"/ui-kit/vue/ui-components-overview"},{"group":"Conversations","pages":[{"title":"Conversations With Messages","href":"/ui-kit/vue/conversations-with-messages"},{"title":"Conversations","href":"/ui-kit/vue/conversations"},{"title":"Contacts","href":"/ui-kit/vue/contacts"}]},{"group":"Users","pages":[{"title":"Users With Messages","href":"/ui-kit/vue/users-with-messages"},{"title":"Users","href":"/ui-kit/vue/users"},{"title":"User Details","href":"/ui-kit/vue/user-details"}]},{"group":"Groups","pages":[{"title":"Groups With Messages","href":"/ui-kit/vue/groups-with-messages"},{"title":"Groups","href":"/ui-kit/vue/groups"},{"title":"Group Members","href":"/ui-kit/vue/group-members"},{"title":"Add Members","href":"/ui-kit/vue/group-add-members"},{"title":"Banned Members","href":"/ui-kit/vue/group-banned-members"},{"title":"Transfer Ownership","href":"/ui-kit/vue/group-transfer-ownership"},{"title":"Group Details","href":"/ui-kit/vue/group-details"}]},{"group":"Messages","pages":[{"title":"Messages","href":"/ui-kit/vue/messages"},{"title":"Message Header","href":"/ui-kit/vue/message-header"},{"title":"Message List","href":"/ui-kit/vue/message-list"},{"title":"Message Composer","href":"/ui-kit/vue/message-composer"},{"title":"Message Information","href":"/ui-kit/vue/message-information"},{"title":"Threaded Messages","href":"/ui-kit/vue/threaded-messages"}]},{"group":"Calls","pages":[{"title":"Integration","href":"/ui-kit/vue/calls-integration"},{"title":"Incoming Call","href":"/ui-kit/vue/incoming-call"},{"title":"Ongoing Call","href":"/ui-kit/vue/ongoing-call"},{"title":"Outgoing Call","href":"/ui-kit/vue/outgoing-call"},{"title":"Call Buttons","href":"/ui-kit/vue/call-buttons"}]},{"group":"AI","pages":[{"title":"Integration","href":"/ui-kit/vue/ai-integration"},{"title":"AI Conversation Starter","href":"/ui-kit/vue/ai-conversation-starter"},{"title":"AI Smart Replies","href":"/ui-kit/vue/ai-smart-replies"},{"title":"AI Conversation Summary","href":"/ui-kit/vue/ai-conversation-summary"},{"title":"AI Assist Bot","href":"/ui-kit/vue/ai-assist-bot"}]},{"group":"Views","pages":[{"title":"Message Bubble","href":"/ui-kit/vue/message-bubble"},{"title":"User Member Wrapper","href":"/ui-kit/vue/user-member-wrapper"},{"title":"Tabs","href":"/ui-kit/vue/tabs"}]},{"title":"Elements","href":"/ui-kit/vue/web-elements"},{"title":"Shared","href":"/ui-kit/vue/shared-elements"},{"title":"Vue Sample App","url":"https://github.com/cometchat/cometchat-sample-app-vue/releases","href":"/ui-kit/vue/link/sample"},{"title":"Changelog","url":"https://github.com/cometchat/cometchat-uikit-vue/releases","href":"/ui-kit/vue/link/changelog"}]}]},{"version":"v3","pages":[{"title":"v3","href":"/ui-kit/vue/3.0/overview"}]},{"version":"v2","pages":[{"title":"v2","href":"/ui-kit/vue/2.0/overview"}]}]}]},{"tab":"SDKs","dropdowns":[{"dropdown":"JavaScript","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/js.svg","versions":[{"version":"v4","groups":[{"group":" ","pages":[{"title":"Overview","href":"/sdk/javascript/overview"},{"title":"Setup","sidebarTitle":"Setup","href":"/sdk/javascript/setup-sdk"},{"title":"Authentication","sidebarTitle":"Authentication","href":"/sdk/javascript/authentication-overview"},{"title":"PHP Backend + JS SDK: Auth Token Login","sidebarTitle":"PHP Auth Token Sample","href":"/sdk/javascript/php-auth-token-sample"},{"group":"Messaging","pages":[{"title":"Send A Message","href":"/sdk/javascript/send-message"},{"title":"Upload Files \u0026 Send Attachments","sidebarTitle":"Upload Files","href":"/sdk/javascript/upload-files"},{"title":"Receive A Message","href":"/sdk/javascript/receive-message"},{"title":"Card Messages","href":"/sdk/javascript/card-messages"},{"title":"Additional Message Filtering","href":"/sdk/javascript/message-filtering"},{"title":"Retrieve Conversations","href":"/sdk/javascript/retrieve-conversations"},{"title":"Threaded Messages","href":"/sdk/javascript/threaded-messages"},{"title":"Thread Subscription","href":"/sdk/javascript/thread-subscription"},{"title":"Edit A Message","href":"/sdk/javascript/edit-message"},{"title":"Delete A Message","href":"/sdk/javascript/delete-message"},{"title":"Flag Message","href":"/sdk/javascript/flag-message"},{"title":"Pin A Message","href":"/sdk/javascript/pin-message"},{"title":"Save A Message","href":"/sdk/javascript/save-message"},{"title":"Delete A Conversation","href":"/sdk/javascript/delete-conversation"},{"title":"Pin A Conversation","href":"/sdk/javascript/pin-conversation"},{"title":"Typing Indicators","href":"/sdk/javascript/typing-indicators"},{"title":"Transient Messages","href":"/sdk/javascript/transient-messages"},{"title":"Delivery \u0026 Read Receipts","href":"/sdk/javascript/delivery-read-receipts"},{"title":"Mentions","href":"/sdk/javascript/mentions"},{"title":"Reactions","href":"/sdk/javascript/reactions"}]},{"title":"Calling","sidebarTitle":"Calling","href":"/sdk/javascript/calling-overview"},{"group":"Users","pages":[{"title":"Users","sidebarTitle":"Overview","href":"/sdk/javascript/users-overview"},{"title":"Retrieve Users","href":"/sdk/javascript/retrieve-users"},{"title":"User Management","href":"/sdk/javascript/user-management"},{"title":"Block Users","href":"/sdk/javascript/block-users"}]},{"title":"User Presence","sidebarTitle":"Overview","href":"/sdk/javascript/user-presence"},{"group":"Groups","pages":[{"title":"Groups","sidebarTitle":"Overview","href":"/sdk/javascript/groups-overview"},{"title":"Retrieve Groups","href":"/sdk/javascript/retrieve-groups"},{"title":"Create A Group","href":"/sdk/javascript/create-group"},{"title":"Update A Group","href":"/sdk/javascript/update-group"},{"title":"Join A Group","href":"/sdk/javascript/join-group"},{"title":"Leave A Group","href":"/sdk/javascript/leave-group"},{"title":"Delete A Group","href":"/sdk/javascript/delete-group"},{"title":"Retrieve Group Members","href":"/sdk/javascript/retrieve-group-members"},{"title":"Add Members To A Group","href":"/sdk/javascript/group-add-members"},{"title":"Ban Or Kick Member From A Group","href":"/sdk/javascript/group-kick-ban-members"},{"title":"Change Member Scope","href":"/sdk/javascript/group-change-member-scope"},{"title":"Transfer Group Ownership","href":"/sdk/javascript/transfer-group-ownership"}]},{"title":"AI Moderation","sidebarTitle":"AI Moderation","href":"/sdk/javascript/ai-moderation"},{"title":"AI Agents","href":"/sdk/javascript/ai-agents"},{"title":"Smart Chat Features","sidebarTitle":"Smart Chat Features","href":"/sdk/javascript/ai-copilot"},{"title":"Campaigns","href":"/sdk/javascript/campaigns"},{"title":"Webhooks","href":"/sdk/javascript/webhooks"},{"group":"Resources","pages":[{"title":"Key Concepts","href":"/sdk/javascript/key-concepts"},{"title":"Message","sidebarTitle":"Message Structure And Hierarchy","href":"/sdk/javascript/message-structure-and-hierarchy"},{"title":"All Real Time Listeners","href":"/sdk/javascript/all-real-time-listeners"},{"title":"Rate Limits","href":"/sdk/javascript/rate-limits"},{"title":"Connection Status","href":"/sdk/javascript/connection-status"},{"title":"Managing Web Sockets Connections Manually","href":"/sdk/javascript/managing-web-sockets-connections-manually"}]},{"group":"Reference","pages":[{"title":"Messages","sidebarTitle":"Messages","href":"/sdk/reference/messages"},{"title":"Entities","sidebarTitle":"Entities","href":"/sdk/reference/entities"},{"title":"Auxiliary","sidebarTitle":"Auxiliary","href":"/sdk/reference/auxiliary"},{"title":"Calls","sidebarTitle":"Calls","href":"/sdk/reference/calls"}]},{"title":"Best Practices","sidebarTitle":"Best Practices","href":"/sdk/javascript/best-practices"},{"title":"Error Codes","sidebarTitle":"Error Codes","href":"/sdk/javascript/error-codes"},{"title":"Troubleshooting","sidebarTitle":"Troubleshooting","href":"/sdk/javascript/troubleshooting"},{"title":"Upgrading From V3","href":"/sdk/javascript/upgrading-from-v3"},{"title":"Extensions","url":"/fundamentals/extensions-overview","href":"/sdk/javascript/extensions-overview"},{"title":"AI","url":"/fundamentals/ai-user-copilot/overview","href":"/sdk/javascript/ai-user-copilot-overview"},{"title":"Bots","url":"https://assets.cometchat.io/legacy-docs/ai-chatbots/ai-bots/overview.html","href":"/sdk/javascript/ai-chatbots-overview"},{"title":"Webhooks","url":"/fundamentals/webhooks","href":"/sdk/javascript/webhooks-overview"},{"title":"Changelog","url":"https://github.com/cometchat/chat-sdk-javascript/releases","href":"/sdk/javascript/changelog"}]}]},{"version":"v3","pages":[{"title":"v3","href":"/sdk/javascript/3.0/overview"}]},{"version":"v2","pages":[{"title":"v2","href":"/sdk/javascript/2.0/overview"}]}]},{"dropdown":"React Native","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/react.svg","versions":[{"version":"v4","groups":[{"group":" ","pages":[{"title":"React Native SDK","sidebarTitle":"Overview","href":"/sdk/react-native/overview"},{"title":"Setup","sidebarTitle":"Setup","href":"/sdk/react-native/setup-sdk"},{"title":"Authentication","sidebarTitle":"Authentication","href":"/sdk/react-native/authentication-overview"},{"group":"Messaging","pages":[{"title":"Send Messages","sidebarTitle":"Send Messages","href":"/sdk/react-native/send-message"},{"title":"Upload Files \u0026 Send Attachments","sidebarTitle":"Upload Files","href":"/sdk/react-native/upload-files"},{"title":"Receive Messages","sidebarTitle":"Receive Messages","href":"/sdk/react-native/receive-messages"},{"title":"Message Filtering","sidebarTitle":"Message Filtering","href":"/sdk/react-native/additional-message-filtering"},{"title":"Retrieve Conversations","sidebarTitle":"Retrieve Conversations","href":"/sdk/react-native/retrieve-conversations"},{"title":"Threaded Messages","sidebarTitle":"Threaded Messages","href":"/sdk/react-native/threaded-messages"},{"title":"Thread Subscription","sidebarTitle":"Thread Subscription","href":"/sdk/react-native/thread-subscription"},{"title":"Edit Message","sidebarTitle":"Edit Message","href":"/sdk/react-native/edit-message"},{"title":"Delete Message","sidebarTitle":"Delete Message","href":"/sdk/react-native/delete-message"},{"title":"Flag Message","sidebarTitle":"Flag Message","href":"/sdk/react-native/flag-message"},{"title":"Pin A Message","sidebarTitle":"Pin A Message","href":"/sdk/react-native/pin-message"},{"title":"Save A Message","sidebarTitle":"Save A Message","href":"/sdk/react-native/save-message"},{"title":"Delete Conversation","sidebarTitle":"Delete Conversation","href":"/sdk/react-native/delete-conversation"},{"title":"Pin A Conversation","sidebarTitle":"Pin A Conversation","href":"/sdk/react-native/pin-conversation"},{"title":"Typing Indicators","sidebarTitle":"Typing Indicators","href":"/sdk/react-native/typing-indicators"},{"title":"Transient Messages","sidebarTitle":"Transient Messages","href":"/sdk/react-native/transient-messages"},{"title":"Delivery \u0026 Read Receipts","sidebarTitle":"Delivery \u0026 Read Receipts","href":"/sdk/react-native/delivery-read-receipts"},{"title":"Mentions","sidebarTitle":"Mentions","href":"/sdk/react-native/mentions"},{"title":"Reactions","sidebarTitle":"Reactions","href":"/sdk/react-native/reactions"}]},{"title":"Calling","sidebarTitle":"Calling","href":"/sdk/react-native/calling-overview"},{"group":"Users","pages":[{"title":"Users","sidebarTitle":"Overview","href":"/sdk/react-native/users-overview"},{"title":"Retrieve Users","sidebarTitle":"Retrieve Users","href":"/sdk/react-native/retrieve-users"},{"title":"User Management","sidebarTitle":"User Management","href":"/sdk/react-native/user-management"},{"title":"Block Users","sidebarTitle":"Block Users","href":"/sdk/react-native/block-users"}]},{"title":"User Presence","sidebarTitle":"User Presence","href":"/sdk/react-native/user-presence"},{"group":"Groups","pages":[{"title":"Groups","sidebarTitle":"Overview","href":"/sdk/react-native/groups-overview"},{"title":"Retrieve Groups","sidebarTitle":"Retrieve Groups","href":"/sdk/react-native/retrieve-groups"},{"title":"Create A Group","sidebarTitle":"Create Group","href":"/sdk/react-native/create-group"},{"title":"Update A Group","sidebarTitle":"Update Group","href":"/sdk/react-native/update-group"},{"title":"Join A Group","sidebarTitle":"Join Group","href":"/sdk/react-native/join-group"},{"title":"Leave A Group","sidebarTitle":"Leave Group","href":"/sdk/react-native/leave-group"},{"title":"Delete A Group","sidebarTitle":"Delete Group","href":"/sdk/react-native/delete-group"},{"title":"Retrieve Group Members","sidebarTitle":"Retrieve Members","href":"/sdk/react-native/retrieve-group-members"},{"title":"Add Members To A Group","sidebarTitle":"Add Members","href":"/sdk/react-native/group-add-members"},{"title":"Ban Or Kick Member From A Group","sidebarTitle":"Kick \u0026 Ban Members","href":"/sdk/react-native/group-kick-ban-members"},{"title":"Change Member Scope","sidebarTitle":"Change Scope","href":"/sdk/react-native/group-change-member-scope"},{"title":"Transfer Group Ownership","sidebarTitle":"Transfer Ownership","href":"/sdk/react-native/transfer-group-ownership"}]},{"title":"AI Moderation","sidebarTitle":"AI Moderation","href":"/sdk/react-native/ai-moderation"},{"title":"AI Agents","sidebarTitle":"AI Agents","href":"/sdk/react-native/ai-agents"},{"title":"Campaigns","href":"/sdk/react-native/campaigns"},{"group":"Resources","pages":[{"title":"Key Concepts","href":"/sdk/react-native/key-concepts"},{"title":"Message Structure and Hierarchy","sidebarTitle":"Message Structure","href":"/sdk/react-native/message-structure-and-hierarchy"},{"title":"All Real Time Listeners","href":"/sdk/react-native/real-time-listeners"},{"title":"Rate Limits","href":"/sdk/react-native/rate-limits"},{"title":"Connection Status","href":"/sdk/react-native/connection-status"},{"title":"Managing Web Sockets Connections Manually","href":"/sdk/react-native/managing-web-sockets-connections-manually"},{"title":"Push Notification Content Customization","href":"/sdk/react-native/push-notification-html-stripping"}]},{"title":"Upgrading From V3","href":"/sdk/react-native/upgrading-from-v3"},{"title":"Extensions","url":"/fundamentals/extensions-overview","href":"/sdk/react-native/extensions-overview"},{"title":"AI","url":"/fundamentals/ai-user-copilot/overview","href":"/sdk/react-native/ai-user-copilot-overview"},{"title":"Bots","url":"https://assets.cometchat.io/legacy-docs/ai-chatbots/ai-bots/overview.html","href":"/sdk/react-native/ai-chatbots-overview"},{"title":"Webhooks","url":"/fundamentals/webhooks","href":"/sdk/react-native/webhooks-overview"},{"title":"React Native UI Kit","url":"/ui-kit/react-native/overview","href":"/sdk/react-native/react-native-overview"},{"title":"Changelog","url":"https://github.com/cometchat/chat-sdk-react-native/releases","href":"/sdk/react-native/changelog"}]}]},{"version":"v3","pages":[{"title":"v3","href":"/sdk/react-native/3.0/overview"}]},{"version":"v2","pages":[{"title":"v2","href":"/sdk/react-native/2.0/overview"}]}]},{"dropdown":"iOS","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/swift.svg","versions":[{"version":"v4","groups":[{"group":" ","pages":[{"title":"iOS SDK","sidebarTitle":"Overview","href":"/sdk/ios/overview"},{"title":"Setup","sidebarTitle":"Setup","href":"/sdk/ios/setup"},{"title":"Authentication","sidebarTitle":"Authentication","href":"/sdk/ios/authentication-overview"},{"group":"Messaging","pages":[{"title":"Send Messages","sidebarTitle":"Send Messages","href":"/sdk/ios/send-message"},{"title":"Upload Files \u0026 Send Attachments","sidebarTitle":"Upload Files","href":"/sdk/ios/upload-files"},{"title":"Receive Messages","sidebarTitle":"Receive Messages","href":"/sdk/ios/receive-message"},{"title":"Message Filtering","sidebarTitle":"Message Filtering","href":"/sdk/ios/additional-message-filtering"},{"title":"Retrieve Conversations","sidebarTitle":"Retrieve Conversations","href":"/sdk/ios/retrieve-conversations"},{"title":"Threaded Messages","sidebarTitle":"Threaded Messages","href":"/sdk/ios/threaded-messages"},{"title":"Thread Subscription","href":"/sdk/ios/thread-subscription"},{"title":"Edit Message","sidebarTitle":"Edit Message","href":"/sdk/ios/edit-message"},{"title":"Delete Message","sidebarTitle":"Delete Message","href":"/sdk/ios/delete-message"},{"title":"Delete Conversation","sidebarTitle":"Delete Conversation","href":"/sdk/ios/delete-conversation"},{"title":"Flag Message","sidebarTitle":"Flag Message","href":"/sdk/ios/flag-message"},{"title":"Typing Indicators","sidebarTitle":"Typing Indicators","href":"/sdk/ios/typing-indicators"},{"title":"Transient Messages","sidebarTitle":"Transient Messages","href":"/sdk/ios/transient-messages"},{"title":"Delivery \u0026 Read Receipts","sidebarTitle":"Delivery \u0026 Read Receipts","href":"/sdk/ios/delivery-read-receipts"},{"title":"Mentions","sidebarTitle":"Mentions","href":"/sdk/ios/mentions"},{"title":"Reactions","sidebarTitle":"Reactions","href":"/sdk/ios/reactions"},{"title":"Pin \u0026 Save Messages","sidebarTitle":"Pin \u0026 Save Messages","href":"/sdk/ios/pin-save-message"}]},{"title":"Calling","sidebarTitle":"Calling","href":"/sdk/ios/calling-overview"},{"group":"Users","pages":[{"title":"Users","sidebarTitle":"Overview","href":"/sdk/ios/users-overview"},{"title":"Retrieve Users","sidebarTitle":"Retrieve Users","href":"/sdk/ios/retrieve-users"},{"title":"User Management","sidebarTitle":"User Management","href":"/sdk/ios/user-management"},{"title":"Block Users","sidebarTitle":"Block Users","href":"/sdk/ios/block-users"}]},{"title":"User Presence","sidebarTitle":"User Presence","href":"/sdk/ios/user-presence"},{"group":"Groups","pages":[{"title":"Groups","sidebarTitle":"Overview","href":"/sdk/ios/groups-overview"},{"title":"Retrieve Groups","sidebarTitle":"Retrieve Groups","href":"/sdk/ios/retrieve-groups"},{"title":"Create A Group","sidebarTitle":"Create Group","href":"/sdk/ios/create-group"},{"title":"Update A Group","sidebarTitle":"Update Group","href":"/sdk/ios/update-group"},{"title":"Join A Group","sidebarTitle":"Join Group","href":"/sdk/ios/join-group"},{"title":"Leave A Group","sidebarTitle":"Leave Group","href":"/sdk/ios/leave-group"},{"title":"Delete A Group","sidebarTitle":"Delete Group","href":"/sdk/ios/delete-group"},{"title":"Add Members To A Group","sidebarTitle":"Add Members","href":"/sdk/ios/group-add-members"},{"title":"Retrieve Group Members","sidebarTitle":"Retrieve Members","href":"/sdk/ios/retrieve-group-members"},{"title":"Kick Member From A Group","sidebarTitle":"Kick \u0026 Ban Members","href":"/sdk/ios/group-kick-member"},{"title":"Change Member Scope","sidebarTitle":"Change Scope","href":"/sdk/ios/group-change-member-scope"},{"title":"Transfer Group Ownership","sidebarTitle":"Transfer Ownership","href":"/sdk/ios/transfer-group-ownership"}]},{"title":"AI Moderation","sidebarTitle":"AI Moderation","href":"/sdk/ios/ai-moderation"},{"title":"AI Agents","sidebarTitle":"AI Agents","href":"/sdk/ios/ai-agents"},{"title":"Campaigns","href":"/sdk/ios/campaigns"},{"group":"Resources","pages":[{"title":"Key Concepts","href":"/sdk/ios/key-concepts"},{"title":"Message Structure And Hierarchy","href":"/sdk/ios/message-structure-and-hierarchy"},{"title":"All Real Time Delegates (Listeners)","href":"/sdk/ios/all-real-time-delegates-listeners"},{"title":"Rate Limits","href":"/sdk/ios/rate-limits"},{"title":"Connection Status","sidebarTitle":"Connection Status","href":"/sdk/ios/connection-status"},{"title":"Managing Web Socket Connections Manually","href":"/sdk/ios/managing-web-socket-connections-manually"},{"title":"Connection Behaviour","href":"/sdk/ios/web-socket-connection-behaviour"},{"title":"Marking Delivered From Push Notification","href":"/sdk/ios/marking-delivered-with-push-notification"},{"title":"Increment App Icon Badge Count","href":"/sdk/ios/increment-app-icon-badge-count"},{"title":"Remove Delivered Notifications","href":"/sdk/ios/remove-delivered-notifications"},{"title":"Launch Call Screen On Tap Of Push Notification","href":"/sdk/ios/launch-call-screen-on-tap-of-push-notification"},{"title":"Launch Chat Window On Tap Of Push Notification","href":"/sdk/ios/launch-chat-window-on-tap-of-push-notification"},{"title":"Prepare Your App For Background Updates","href":"/sdk/ios/prepare-your-app-for-background-updates"},{"title":"Publishing App On App Store","href":"/sdk/ios/publishing-app-on-appstore"}]},{"title":"Upgrading From V3","href":"/sdk/ios/upgrading-from-v3-to-v4"},{"title":"Extensions","url":"/fundamentals/extensions-overview","href":"/sdk/ios/extensions-overview"},{"title":"AI","url":"/fundamentals/ai-user-copilot/overview","href":"/sdk/ios/ai-user-copilot-overview"},{"title":"Bots","url":"https://assets.cometchat.io/legacy-docs/ai-chatbots/ai-bots/overview.html","href":"/sdk/ios/ai-chatbots-overview"},{"title":"Webhooks","url":"/fundamentals/webhooks","href":"/sdk/ios/webhooks-overview"},{"title":"iOS UI Kit","url":"/ui-kit/ios/overview","href":"/sdk/ios/ios-overview"},{"title":"Changelog","url":"https://github.com/cometchat/chat-sdk-ios/releases","href":"/sdk/ios/changelog"}]}]},{"version":"v3","pages":[{"title":"v3","href":"/sdk/ios/3.0/overview"}]},{"version":"v2","pages":[{"title":"v2","href":"/sdk/ios/2.0/overview"}]}]},{"dropdown":"Android","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/android.svg","versions":[{"version":"v5","groups":[{"group":" ","pages":[{"group":"Overview","pages":[{"title":"Overview","href":"/sdk/android/v5/overview"},{"title":"Key Concepts","href":"/sdk/android/v5/key-concepts"},{"title":"Message Structure And Hierarchy","href":"/sdk/android/v5/message-structure-and-hierarchy"},{"title":"Rate Limits","href":"/sdk/android/v5/rate-limits"}]},{"title":"Setup","href":"/sdk/android/v5/setup"},{"group":"Authentication","pages":[{"title":"Authentication","sidebarTitle":"Overview","href":"/sdk/android/v5/authentication-overview"},{"title":"Login Listeners","href":"/sdk/android/v5/login-listeners"}]},{"group":"Messaging","pages":[{"title":"Messaging","sidebarTitle":"Overview","href":"/sdk/android/v5/messaging-overview"},{"title":"Send A Message","href":"/sdk/android/v5/send-message"},{"title":"Upload Files \u0026 Send Attachments","sidebarTitle":"Upload Files","href":"/sdk/android/v5/upload-files"},{"title":"Receive A Message","href":"/sdk/android/v5/receive-messages"},{"title":"Additional Message Filtering","href":"/sdk/android/v5/additional-message-filtering"},{"title":"Retrieve Conversations","href":"/sdk/android/v5/retrieve-conversations"},{"title":"Threaded Messages","href":"/sdk/android/v5/threaded-messages"},{"title":"Thread Subscription","sidebarTitle":"Thread Subscription","href":"/sdk/android/v5/thread-subscription"},{"title":"Edit A Message","href":"/sdk/android/v5/edit-message"},{"title":"Delete A Message","href":"/sdk/android/v5/delete-message"},{"title":"Flag Message","href":"/sdk/android/v5/flag-message"},{"title":"Pin A Message","sidebarTitle":"Pin A Message","href":"/sdk/android/v5/pin-message"},{"title":"Save A Message","sidebarTitle":"Save A Message","href":"/sdk/android/v5/save-message"},{"title":"Delete A Conversation","href":"/sdk/android/v5/delete-conversation"},{"title":"Pin A Conversation","sidebarTitle":"Pin A Conversation","href":"/sdk/android/v5/pin-conversation"},{"title":"Typing Indicators","href":"/sdk/android/v5/typing-indicators"},{"title":"Delivery \u0026 Read Receipts","href":"/sdk/android/v5/delivery-read-receipts"},{"title":"Transient Messages","href":"/sdk/android/v5/transient-messages"},{"title":"Mentions","href":"/sdk/android/v5/mentions"},{"title":"Reactions","href":"/sdk/android/v5/reactions"}]},{"title":"Calling","sidebarTitle":"Calling","href":"/sdk/android/v5/calling-overview"},{"group":"Users","pages":[{"title":"Users","sidebarTitle":"Overview","href":"/sdk/android/v5/users-overview"},{"title":"Retrieve Users","href":"/sdk/android/v5/retrieve-users"},{"title":"User Management","href":"/sdk/android/v5/user-management"},{"title":"Block Users","href":"/sdk/android/v5/block-users"}]},{"title":"User Presence","href":"/sdk/android/v5/user-presence"},{"group":"Groups","pages":[{"title":"Groups","sidebarTitle":"Overview","href":"/sdk/android/v5/groups-overview"},{"title":"Retrieve Groups","href":"/sdk/android/v5/retrieve-groups"},{"title":"Create A Group","href":"/sdk/android/v5/create-group"},{"title":"Update A Group","href":"/sdk/android/v5/update-group"},{"title":"Join A Group","href":"/sdk/android/v5/join-group"},{"title":"Leave A Group","href":"/sdk/android/v5/leave-group"},{"title":"Delete A Group","href":"/sdk/android/v5/delete-group"},{"title":"Retrieve Group Members","href":"/sdk/android/v5/retrieve-group-members"},{"title":"Add Members To A Group","href":"/sdk/android/v5/group-add-members"},{"title":"Ban/Kick Member From A Group","href":"/sdk/android/v5/group-kick-member"},{"title":"Change Member Scope","href":"/sdk/android/v5/group-change-member-scope"},{"title":"Transfer Group Ownership","href":"/sdk/android/v5/transfer-group-ownership"}]},{"title":"AI Moderation","href":"/sdk/android/v5/ai-moderation"},{"title":"AI Agents","href":"/sdk/android/v5/ai-agents"},{"title":"Campaigns","href":"/sdk/android/v5/campaigns"},{"group":"Resources","pages":[{"title":"Resources","href":"/sdk/android/v5/resources-overview"},{"title":"All Real Time Listeners","href":"/sdk/android/v5/real-time-listeners"},{"title":"Upgrading from v4","sidebarTitle":"Upgrading from v4","href":"/sdk/android/v5/upgrading-from-v4"}]},{"group":"Advanced","pages":[{"title":"Advanced","sidebarTitle":"Overview","href":"/sdk/android/v5/advanced-overview"},{"title":"Connection Status","href":"/sdk/android/v5/connection-status"},{"title":"Publishing App On PlayStore","href":"/sdk/android/v5/publishing-app-on-playstore"},{"title":"Connection Behaviour","href":"/sdk/android/v5/connection-behaviour"}]},{"title":"Extensions","url":"/fundamentals/extensions-overview","href":"/sdk/android/v5/extensions-overview"},{"title":"AI","url":"/fundamentals/ai-user-copilot/overview","href":"/sdk/android/v5/ai-user-copilot-overview"},{"title":"AI","url":"https://assets.cometchat.io/legacy-docs/ai-chatbots/ai-bots/overview.html","href":"/sdk/android/v5/ai-chatbots-overview"},{"title":"Webhooks","url":"/fundamentals/webhooks","href":"/sdk/android/v5/webhooks-overview"},{"title":"Java UI Kit","url":"/ui-kit/android/overview","href":"/sdk/android/v5/android-overview"},{"title":"Changelog","url":"https://github.com/cometchat/chat-sdk-android/releases","href":"/sdk/android/v5/changelog"}]}]},{"version":"v4","pages":[{"title":"v4","href":"/sdk/android/overview"}]},{"version":"v3","pages":[{"title":"v3","href":"/sdk/android/3.0/overview"}]},{"version":"v2","pages":[{"title":"v2","href":"/sdk/android/2.0/overview"}]}]},{"dropdown":"Flutter","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/flutter.svg","versions":[{"version":"v5","groups":[{"group":" ","pages":[{"title":"Chat SDK","sidebarTitle":"Overview","href":"/sdk/flutter/overview"},{"title":"Setup","href":"/sdk/flutter/setup"},{"group":"Authentication","pages":[{"title":"Authentication","sidebarTitle":"Overview","href":"/sdk/flutter/authentication-overview"},{"title":"Login Listeners","href":"/sdk/flutter/login-listeners"}]},{"group":"Messaging","pages":[{"title":"Messaging","sidebarTitle":"Overview","href":"/sdk/flutter/messaging-overview"},{"title":"Send A Message","href":"/sdk/flutter/send-message"},{"title":"Upload Files \u0026 Send Attachments","sidebarTitle":"Upload Files","href":"/sdk/flutter/upload-files"},{"title":"Receive A Message","href":"/sdk/flutter/receive-messages"},{"title":"Additional Message Filtering","href":"/sdk/flutter/additional-message-filtering"},{"title":"Retrieve Conversations","href":"/sdk/flutter/retrieve-conversations"},{"title":"Threaded Messages","href":"/sdk/flutter/threaded-messages"},{"title":"Thread Subscription","href":"/sdk/flutter/thread-subscription"},{"title":"Edit A Message","href":"/sdk/flutter/edit-message"},{"title":"Flag Message","href":"/sdk/flutter/flag-message"},{"title":"Delete A Message","href":"/sdk/flutter/delete-message"},{"title":"Pin A Message","href":"/sdk/flutter/pin-message"},{"title":"Save A Message","href":"/sdk/flutter/save-message"},{"title":"Delete A Conversation","href":"/sdk/flutter/delete-conversation"},{"title":"Pin A Conversation","href":"/sdk/flutter/pin-conversation"},{"title":"Typing Indicators","href":"/sdk/flutter/typing-indicators"},{"title":"Transient Messages","sidebarTitle":"Transient Messages","href":"/sdk/flutter/transient-messages"},{"title":"Delivery \u0026 Read Receipts","href":"/sdk/flutter/delivery-read-receipts"},{"title":"Mentions","href":"/sdk/flutter/mentions"},{"title":"Reactions","href":"/sdk/flutter/reactions"}]},{"group":"Users","pages":[{"title":"Users","sidebarTitle":"Overview","href":"/sdk/flutter/users-overview"},{"title":"Retrieve Users","href":"/sdk/flutter/retrieve-users"},{"title":"User Management","href":"/sdk/flutter/user-management"},{"title":"Block Users","href":"/sdk/flutter/block-users"}]},{"title":"User Presence","href":"/sdk/flutter/user-presence"},{"group":"Groups","pages":[{"title":"Groups","sidebarTitle":"Overview","href":"/sdk/flutter/groups-overview"},{"title":"Retrieve Groups","href":"/sdk/flutter/retrieve-groups"},{"title":"Create A Group","href":"/sdk/flutter/create-group"},{"title":"Update A Group","href":"/sdk/flutter/update-group"},{"title":"Join A Group","href":"/sdk/flutter/join-group"},{"title":"Leave A Group","href":"/sdk/flutter/leave-group"},{"title":"Delete A Group","href":"/sdk/flutter/delete-group"},{"title":"Retrieve Group Members","href":"/sdk/flutter/retrieve-group-members"},{"title":"Add Members To A Group","href":"/sdk/flutter/group-add-members"},{"title":"Ban/Kick Member From A Group","href":"/sdk/flutter/group-kick-member"},{"title":"Change Member Scope","href":"/sdk/flutter/group-change-member-scope"},{"title":"Transfer Group Ownership","href":"/sdk/flutter/transfer-group-ownership"}]},{"title":"AI Moderation","href":"/sdk/flutter/ai-moderation"},{"title":"AI Agents","href":"/sdk/flutter/ai-agents"},{"title":"Campaigns","href":"/sdk/flutter/campaigns"},{"group":"Resources","pages":[{"title":"Resources","sidebarTitle":"Overview","href":"/sdk/flutter/resources-overview"},{"title":"All Real Time Listeners","href":"/sdk/flutter/real-time-listeners"}]},{"group":"Advanced","pages":[{"title":"Advanced","sidebarTitle":"Overview","href":"/sdk/flutter/advanced-overview"},{"title":"Connection Status","href":"/sdk/flutter/connection-status"},{"title":"Connection Behaviour","href":"/sdk/flutter/connection-behaviour"}]},{"title":"Upgrading from v4","href":"/sdk/flutter/upgrading-from-v4-guide"},{"title":"Extensions","url":"/fundamentals/extensions-overview","href":"/sdk/flutter/extensions-overview"},{"title":"AI","url":"/fundamentals/ai-user-copilot/overview","href":"/sdk/flutter/ai-user-copilot-overview"},{"title":"Bots","url":"https://assets.cometchat.io/legacy-docs/ai-chatbots/ai-bots/overview.html","href":"/sdk/flutter/ai-chatbots-overview"},{"title":"Webhooks","url":"/fundamentals/webhooks","href":"/sdk/flutter/webhooks-overview"},{"title":"Flutter Chat UI Kit","url":"/ui-kit/flutter/overview","href":"/sdk/flutter/flutter-overview"},{"title":"Changelog","url":"https://github.com/cometchat/chat-sdk-flutter/releases","href":"/sdk/flutter/changelog"}]}]},{"version":"v4","pages":[{"title":"v4","href":"/sdk/flutter/v4/overview"}]},{"version":"v3","pages":[{"title":"v3","href":"/sdk/flutter/3.0/overview"}]}]},{"dropdown":"Unreal Engine","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/unreal.svg","pages":[{"title":"Overview","href":"/sdk/unreal/overview"},{"title":"Setup","href":"/sdk/unreal/setup"},{"title":"Key Concepts","href":"/sdk/unreal/key-concepts"},{"group":"Authentication","pages":[{"title":"Overview","href":"/sdk/unreal/authentication"}]},{"group":"Messaging","pages":[{"title":"Send a Message","href":"/sdk/unreal/send-message"},{"title":"Receive Messages","href":"/sdk/unreal/receive-messages"},{"title":"Real-Time Events","href":"/sdk/unreal/real-time-events"},{"title":"Typing Indicators","href":"/sdk/unreal/typing-indicators"},{"title":"Delivery \u0026 Read Receipts","href":"/sdk/unreal/delivery-read-receipts"},{"title":"Connection Status","href":"/sdk/unreal/connection-status"}]},{"group":"Users \u0026 Groups","pages":[{"title":"Users","href":"/sdk/unreal/users"},{"title":"Groups","href":"/sdk/unreal/groups"}]},{"group":"Reference","pages":[{"title":"API Reference","href":"/sdk/unreal/reference"}]}]},{"dropdown":"Ionic (Legacy)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cometchat-22654f5b/images/icons/ionic.svg","pages":[{"title":"Ionic SDK (Legacy)","href":"/sdk/ionic-legacy/overview"}]}]},{"tab":"APIs","pages":[{"title":"APIs","href":"/rest-api/chat-apis"}]}]},{"product":"Voice \u0026 Video Calling","pages":[{"title":"Voice \u0026 Video Calling","href":"/calls"}]},{"product":"AI Agents","pages":[{"title":"AI Agents","href":"/ai-agents"}]},{"product":"AI Moderation","pages":[{"title":"AI Moderation","href":"/moderation/overview"}]},{"product":"Notifications","pages":[{"title":"Notifications","href":"/notifications"}]},{"product":"Campaigns","pages":[{"title":"Campaigns","href":"/campaigns"}]},{"product":"Insights","pages":[{"title":"Insights","href":"/insights"}]}]},"title":"ViewModel \u0026 Data - CometChat Docs","buildId":"dpl_EARnBX9sYeZdmtDtdMETnj8cZgAL","deploymentId":"dpl_EARnBX9sYeZdmtDtdMETnj8cZgAL","dynamics":[],"chunks":[]}