v2026.6.4
Release date: June 23, 2026
✨ New Features
Last message preview in Internal Chats
The Internal Chats listing (/app/internal-chats) now shows the last message of each conversation, matching the style used in conversations and groups.
What is it for?
- Quickly identify each chat's topic without opening it
- Preview text, media (Image, Audio, etc.) or deleted messages
- Sender format:
"Name: content"
Unified unread badge
The internal chats unread counter is now calculated from a single data source, synced in real time.
Where does it appear?
- Internal tab in the mobile navigation bar
- Internal chats button in the conversations list header
- Actions menu in the compact chat list mode
Shortcut to Conversations
New icon button in the Internal Chats listing to quickly return to Conversations (/app/chats).
🔄 Changes
Single data source for Internal Chats
The Internal Chats page and floating widgets now consume the same global list (FloatingChatsContext), with:
- A single initial fetch and one Realtime channel per organization/user
- Automatic updates to order, preview and counters when sending or receiving messages
- Immediate sync when marking conversations as read/unread
Keyboard behavior in the message field
Standardized input behavior (including internal chats):
- Enter — sends the message
- Cmd+Enter (Mac) or Ctrl+Enter (Windows/Linux) — inserts a line break
🐛 Bug Fixes
Internal messages saved with wrong type
Text and media messages in internal chats (internal_direct / internal_group) were incorrectly saved as email (fallback when no channel is linked). They now use the correct types: text, image, video, audio and document.
Message input hidden on mobile when opening internal chat
The bottom navigation bar stayed visible over the message field at /app/internal-chats/:id. It is now hidden automatically when opening an internal conversation, matching regular conversations behavior.
Line break with Cmd/Ctrl+Enter
In controlled textareas, Cmd/Ctrl+Enter did not insert a new line. Line breaks are now applied correctly to the message state.
🎯 Benefits
- ✅ More informative and familiar internal chats listing
- ✅ Consistent unread counters across the platform
- ✅ Fewer duplicate requests and subscriptions
- ✅ Mobile experience aligned with regular conversations
- ✅ Internal messages with correct types in history and previews