Skip to content

[FEATURE] Chat Conversation Screen #7

@celestix

Description

@celestix

This issue tracks the implementation of the Chat Conversation Screen in the WhatsApp Linux desktop client.
The conversation screen is shown when a user selects a chat from the chat list and is used for viewing and sending messages within a specific chat.

The screen should closely resemble the behavior and structure of WhatsApp Web/Desktop while remaining consistent with desktop UI patterns.


📋 Requirements

  • Display messages for the selected chat
  • Support both individual and group chats
  • Show for each message:
    • Message content
    • Sender name (for group chats)
    • Timestamp
    • Message direction (sent / received)
    • Message status (sending, sent, delivered, read)
  • Clearly separate sent and received messages
  • Maintain correct chronological order
  • Auto-scroll to the latest message when the chat is opened
  • Update the conversation view in real time when new messages arrive

🧩 Supported Message Types

The conversation screen should support rendering the following WhatsApp message types:

  • Text messages
  • Images
  • Videos
  • Audio / voice notes
  • Documents (PDF, ZIP, etc.)
  • Stickers
  • GIFs
  • Location messages
    • Live location
    • Static location
  • Contact cards
  • Reply messages (quoted messages)
  • Forwarded messages
  • Reactions (emoji reactions)
  • Message edits
  • Message deletions
    • Delete for me
    • Delete for everyone
  • System messages
    • Group creation
    • Member join/leave
    • Admin changes
  • Call-related messages
    • Missed call
    • Voice call
    • Video call

✅ Acceptance Criteria

  • Conversation screen opens immediately after selecting a chat
  • All supported message types render correctly
  • Messages are displayed in correct chronological order
  • Message status indicators update correctly
  • New messages appear in real time without reload
  • Works consistently for both personal and group chats

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions