cometchat-android-v6-compose-placement
Ground truth: catalog
android-v6.json+contracts.android-v6.json(core-chat-surface,chat-experience) + the docs recipes (conversation-message-view,tab-based-chat,one-to-one-chat— Compose tab). Param shapes verified against the INSTALLED 6.0.5 Compose source.⚠️ Jetpack Compose cohort. Screens are composables on a
NavHost. The Views cohort (Activities + XML) is a separate skill.
Companion skills (read first)
cometchat-android-v6-core— install, credentials,initFromSettings → login → render, andreferences/layout.md(the ONE sizing standard). Sizing rules live THERE.cometchat-android-v6-compose-components— the param conventions (onX/hideX/@Composableslots).
Use this skill when
"add a chat route to my NavHost", "build the full chat app in Compose", "open a chat screen for this user", "embed the conversation list in an existing composable", "the composer is under the keyboard".
Prerequisites & install
⚠️ Required on Compose too:
configurations.all { exclude(group = "org.jetbrains", module = "annotations-java5") }plusandroid.useAndroidX=true+android.enableJetifier=trueingradle.properties. The collision arrives viachatuikit-core-android, which BOTH cohorts pull, so a Compose-only app fails its FIRST build without them (~40Duplicate classerrors). Full block:cometchat-android-v6-core§Prerequisites & install. Same kit +initFromSettings → logingate ascore— no chat route is shown before login resolves; gate the NavHost (or the start destination) on it. Compose cohort artifact only.
The rule that governs every layout: one screen per route
Compose composes by navigation, not side-by-side panes. List, message, thread and search are separate NavHost destinations with a real back stack. Never build a web-style two-pane split on a phone.