[F/OS] ChatKaroUI Extension - Advance Chat with text, images and messages support

Update available v3.1 on github :fire:

ChatKaroUI is a customizable advanced chat component extension with text, images, reply quotes, star/bookmark, HTML/Markdown rendering, swipe-to-reply, link previews, export/import, and more — built on RecyclerView, LinearLayout, and FrameLayout.

Update available v3.2 on github :fire:

Now you can hide time header like - today etc and many more features.

Update available v3.3 on github :fire:

introduce some new blocks of reply and some changes in code. :innocent:

Sometimes messages are arranged randomly, I will provide my code when am on my desk

Thank you very much Can you add Glide caching

What do this, can you explain

1 Like

Hey, Great extension. Can you help me how to remove the timestamp in RED (01:35), like it should show today, yesterday or past date but not the time since its already under the messages. I used showTimeStamp to false but it hides the timestamp under the message and not the RED one.

To replace timestamp in red, you need to use :backhand_index_pointing_right: .Format Time from Clock component.

3 Likes

Thanks a lot for suggestion. I also got in touch with the developer and he informed to uncheck “ShowDateHeaders” option from the Design which fixed it.

2 Likes

Nice, Can you share your project block of this extension :grinning_face:

Well it’s great :smiley: to hear. But I did try and I’m quite sure that setting show date headers to false or unchecked will remove the date header from the UI completely.

Ofcourse why not… I’ll be glad. Give me a bit.
I’ll upload it here itself :backhand_index_pointing_right:

Edit:
Unfortunately before heading to bed, deleted the project in my sleepy eyes and now had to redo everything. This screenshot is just the main thing i used to recreate the above conversation.

Give it a shot by right click > do it, changing the blocks of timestamp = with others.

Singh, your question was to show today, yesterday etc. As I said earlier the dateheader will not be shown in the UI, this screenshot is the result. Just curious to know, how did it got fixed miraculously.

2 Likes

Thanks :sparkling_heart:

Singh also use showDateHeader to false for not show.

I want to see how you person handle today, tomorrow etc.

@Vega_Star mentioned he used GetCurrentDate instead of GetCurrentTime to show today, yesterday. I’ll try that but maybe later as I’m working on different thing. Meanwhile, he can show his blocks for the same.

Can you mention when did

Here you have it… :backhand_index_pointing_down:

PS: Don’t set date header to false.

Hello everyone,

I am building a group chat application using ChatKaroUI and CloudDB.

My main problem is displaying messages on the correct side. I want my own messages to appear on the right side and messages from other users to appear on the left side, similar to WhatsApp or Telegram.

I am using SendWithAvatar and ReceiveWithAvatar, and I store the following data in CloudDB:

[username, avatarUrl, message, timestamp]

When a message is received, I compare the username in the message with the current user’s username. However, the messages are not being displayed correctly on the left and right sides.

My goal is:

  • Show my messages on the right side.
  • Show other users’ messages on the left side.
  • Display avatar, username, and timestamp correctly.
  • Use CloudDB for real-time group chat.

Has anyone successfully implemented this with ChatKaroUI? Could you please share the correct blocks or an example project?

Thank you for your help.

If you’re using ChatKaroUI or a similar chat interface, the usual approach is to compare the message sender ID with the current logged-in user’s ID. Messages sent by the current user are aligned to the right, while messages from other users are aligned to the left.

For example, check whether message.senderId == currentUserId. If true, apply a right-aligned chat bubble style; otherwise, use a left-aligned style. Most chat frameworks handle this through conditional UI rendering.

If you’re facing issues, verify that the sender IDs are being passed correctly and that the alignment logic is applied consistently when rendering the message list. This is the standard method used in most messaging applications.

1 Like

blocks(16)

Used Json

{
  "chat": [
    {
      "user_id": "user_001",
      "avatar_url": "https://example.com/avatars/user1.jpg",
      "message": "Hey, how are you?",
      "timestamp": "2026-06-06T12:30:00Z"
    },
    {
      "user_id": "user_002",
      "avatar_url": "https://example.com/avatars/user2.jpg",
      "message": "I'm good, thanks! How about you?",
      "timestamp": "2026-06-06T12:31:15Z"
    },
    {
      "user_id": "user_001",
      "avatar_url": "https://example.com/avatars/user1.jpg",
      "message": "Doing great. Working on a new project.",
      "timestamp": "2026-06-06T12:32:05Z"
    },
    {
      "user_id": "user_002",
      "avatar_url": "https://example.com/avatars/user2.jpg",
      "message": "Sounds interesting. Good luck!",
      "timestamp": "2026-06-06T12:33:20Z"
    }
  ]
}


All this may depend on your database structure,

1 Like

How to with CloudDB?

Could you please elaborate?:smiling_face_with_three_hearts::hugs::joy:

What exactly do you prefer to?

Excuse me, can I send you the aia file?