Skip to main content

Chat

Real-time messaging with typing indicators, attachments, replies, and message editing. Press Enter to send on desktop; on mobile pressing Enter inserts a new line (use the Send button to send).


Overview

The chat feature provides one-to-one real-time messaging between users. Messages support plain text, images, video, audio, and other files. Conversations are updated live using WebSockets and the UI shows typing indicators and online/offline presence.

Chat UI: composer, conversation list, and message actions.


Sending messages

  • Desktop: Press Enter to send a message. Use Shift+Enter to insert a newline while composing.
  • Mobile / Touch devices: Pressing Enter inserts a newline (this mirrors pressing Shift+Enter on desktop). Use the Send button (the paper-plane icon) to send the message.

Message send flow:

  1. Type your message in the input box.
  2. Attach files (optional) using the paperclip button.
  3. Press Send (or Enter on desktop) to send. Messages are queued and sent asynchronously.

Notes:

  • Messages can be edited within a short time window (a few minutes) after sending.
  • If you attach files, the client validates file size and limits the number of attachments.

Attachments

You can attach images, video, audio, and documents using the paperclip icon.

  • Maximum per-file size: 3MB (client-side enforced).
  • Maximum files per message: 10.
  • Supported types include common image/video/audio formats and documents (.pdf, .docx, .xlsx, .txt).

When attachments are selected, a preview area appears above the input showing thumbnails or file info. You can remove attachments before sending.


Replying & Editing

  • Reply to a message: click the reply icon on a message to attach a small preview above the composer. The reply will reference the original message.
  • Edit a message: If a message is editable (displayed with an edit icon), click Edit to load the text into the composer. Save the edit by pressing the confirmation icon.

Notes:

  • Edited messages are marked as "edited" in the chat.
  • Messages are only editable for a short period after sending.

Mobile behavior

To make typing on phones and tablets easier, the Enter key behaves differently on touch devices:

  • On mobile/touch devices pressing Enter inserts a newline so you can write multi-line messages without sending prematurely.
  • To send from mobile, tap the Send button (paper-plane icon) located next to the input.
  • Shift+Enter always inserts a newline on all platforms.

This behavior uses device heuristics (user agent, pointer and touch capabilities) to detect mobile/touch environments.


Permissions

ActionPermission
View conversationschat.conversation.viewAny
Start a conversationchat.conversation.create
Send messageschat.message.send
Edit messageschat.message.edit
Delete messageschat.message.delete

Best practices

  • Use the Send button on mobile to avoid accidental sends.
  • Keep messages concise. Use attachments for large content.
  • Preview images before sending.

Troubleshooting

IssueFix
Enter sends on mobileUse the Send button. If Enter still sends, check your device keyboard settings or report the issue to support.
Attachments not uploadingCheck file size (< 3MB) and type. Try a different browser.
Typing indicator not showingEnsure you are connected to the internet and WebSocket connection is active.

Last updated: 2025-12-28