Repository navigation
docs(android): v6.1.1 NotificationFeed setters name changed and setThreaded prop added - #556
Conversation
…9335, ENG-39321)
ENG-39335: CometChatNotificationFeed (Kotlin XML Views) callbacks are now
setters in UI Kit 6.1.1; the properties are private, so `feed.onX = { }`
no longer compiles. notification-feed.mdx and campaigns.mdx use
setOnItemClick / setOnActionClick / setOnError / setOnBackPress (7 lines).
Compose named arguments are unchanged.
ENG-39321: document setThreaded(true) / `threaded = true` on
CometChatMessageList: a thread view with a missing or invalid parent shows
the empty state instead of the whole conversation. Added to the
message-list Functionality table and to the threaded-messages guide's
thread screen (Views and Compose), where the parent arrives asynchronously.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
jitvarpatil
left a comment
There was a problem hiding this comment.
Approving — 6.1.1 is now published, so the release gate is cleared
When I first looked at this on Oct 12, 6.1.1 wasn't out yet. It now is — chatuikit-kotlin-android and chatuikit-compose-android 6.1.1 are both on Cloudsmith — so this can merge.
Please merge this with or before #568. #568 makes 6.1.1 the install version on every Android page, and this PR is what keeps the NotificationFeed snippets compiling against it. The two share no files, so nothing else will flag it if #568 lands first.
✅ ENG-39335 — a genuine source break, so the migration is required
| 6.1.0 | 6.1.1 | |
|---|---|---|
onItemClick / onActionClick / onError / onBackPress |
public var (CometChatNotificationFeed.kt:80-83) |
private var (:84-87) |
| Setters | — | setOnItemClick / setOnActionClick / setOnError / setOnBackPress (:521-536) |
feed.onX = { … } stops compiling on 6.1.1, so migrating the six Kotlin/Views snippets is required, not cosmetic.
The scope is right — verified rather than assumed. Conversations, Users, Groups, Search, CallLogs and IncomingCall all have private callbacks in 6.1.1, which looked alarming, but they were already private-with-setters in 6.1.0 and are unchanged. NotificationFeed is the only component that changed in this release, so notification-feed + campaigns is the complete set.
✅ ENG-39321 — verified, including the subtle part
setThreadedis new in 6.1.1 (CometChatMessageList.kt:1779,CometChatMessageListViewModel.kt:676); Compose takesthreaded: Boolean = false(:453). Absent in 6.1.0.- The auto-mark claim is the source's own doc comment: "Supplying a valid parent (via
setParentMessage/setParentMessageId) already marks the list as threaded automatically." - Adding it to the thread screen only, not the main conversation list, is the right call.
🔎 Adjacent, pre-existing — not this PR's doing
Three v6 pages still use the property form on components that have been setter-only since at least 6.1.0, so these snippets don't compile today: search.mdx:281 (cometchatSearch.onError = …, private since 6.1.0 at CometChatSearch.kt:142), and call-features.mdx:90 / calling-integration.mdx:108 (incomingCallView.onError = …, private since 6.1.0 at CometChatIncomingCall.kt:113). Out of scope here, but the same defect class — worth a follow-up ticket.
Description
Docs for Android UI Kit v6.1.1 (needed before tagging the 6.1.1 release).
ENG-39335: NotificationFeed callbacks are now setters
In 6.1.1, the callback properties of
CometChatNotificationFeed(Kotlin XML Views) are private and replaced by setters, sofeed.onX = { … }no longer compiles. Migrated every Kotlin (XML Views) usage to the setter form:ui-kit/android/notification-feed.mdxfeed.onItemClick = {→feed.setOnItemClick {; same foronActionClick,onError,onBackPressui-kit/android/campaigns.mdxfeed.onItemClick = {→feed.setOnItemClick {Compose named arguments (
CometChatNotificationFeed(onItemClick = { … })) are unchanged. Java already usedsetOnX(…).ENG-39321: document
setThreaded6.1.1 adds
setThreaded(true)(Views) /threaded = true(Compose) toCometChatMessageList. A thread view whose parent message is missing or invalid now shows the empty state instead of the whole conversation, and a validsetParentMessageId/setParentMessagemarks the list threaded automatically.ui-kit/android/message-list.mdx: new row in the Functionality table.ui-kit/android/guide-threaded-messages.mdx: added to the thread screen in both the Views (ThreadMessageActivity) and Compose (ThreadMessageScreen) snippets. In the Views flow the parent message arrives asynchronously, which is exactly when the list would otherwise show the full conversation. Not added to the main conversation's list, which isn't a thread view.Related Issue(s)
setThreadedfor thread viewsType of Change
Checklist
Additional Information
CometChatMessageList.setThreaded(threaded: Boolean)(Views),threaded: Boolean = false(Compose), and the private NotificationFeed callback properties.feed.onX = { … }form; the v4/v5 docs have no NotificationFeed or campaigns pages.Screenshots (if applicable)
N/A, text and code snippet changes only.