Loading...
Chat

Chat

Real-time direct messages and group chats with @mentions, presence, and search.

MangoApps

Category
Productivity & Utility
Version
1.0.0
Installs
0
Published
Apr 2026
Type
App

Overview

Pusher-powered real-time chat with one-to-one DMs, group rooms, @mentions feeding the existing Notification system, per-room presence, and PostgreSQL full-text search. Built on the same business-scoping and authentication patterns as the rest of the platform — every message is searchable, auditable, and tenant-isolated.

Highlights

Real-time direct messages and group conversations powered by Pusher Channels.
Built on PostgreSQL — every message is searchable, auditable, and tenant-isolated.
Per-room presence shows who is online without flooding a global presence channel.
@mentions feed the existing Notification system for cross-app continuity.
Configurable per-business retention, attachment size limits, and feature toggles.
Mobile clients reuse the same authenticated WebSocket flow — no separate transport.

Capabilities

Conversations
  • One-to-one direct messages
  • Group rooms with role-based admin/member
  • Public business channels Phase 2
  • Threaded replies Phase 3
  • Message edit and delete
Real-time Delivery
  • Sub-second message fan-out via Pusher Channels
  • Per-room presence (Pusher presence channels) Phase 2
  • Typing indicators Phase 3
  • Global online status (cache-based heartbeat) Phase 3
Notifications & Discovery
  • Unread message counts per room Phase 2
  • Read receipts Phase 2
  • @mention notifications via Notification Phase 2
  • PostgreSQL full-text search Phase 2
  • Semantic search via pgvector Phase 3
Files & Reactions
  • File attachments via Active Storage Phase 3
  • Emoji reactions on messages Phase 3
Admin Controls
  • Toggle direct messages globally
  • Toggle group chats globally
  • Configurable retention policy
  • Configurable max attachment size
  • Per-business feature flags
Limits & Specs
  • Real-time transport: Pusher Channels (Premium / Growth tier)
  • Message storage: PostgreSQL (single non-partitioned table — partitioned at ~100M rows)
  • Default retention: Forever (admin-configurable in days)
  • Default max attachment size: 25 MB (admin-configurable)
  • Mobile support: iOS & Android via the same Pusher endpoint
  • Pricing: Included with MangoApps Workforce

Use cases

Quick coordination
Send a direct message to a teammate without leaving the workforce platform.
Project group chat
Spin up a group room scoped to a specific project with persistent searchable history.
Mention-driven follow-up
@mention a teammate to pull them into a conversation; the existing Notification system carries the alert through email and mobile push.
Compliance recordkeeping
All messages live in PostgreSQL alongside the rest of the platform, so exports, GDPR deletion, and audit trails reuse existing infrastructure.

FAQ

Pusher Channels handles fan-out. The browser subscribes to a per-room private channel; Rails authorizes the subscription against business and room membership before signing the auth response.

Messages still persist to PostgreSQL via the standard HTTP request/response. Real-time delivery resumes when Pusher recovers; a refresh shows the missed messages.

Yes. Pusher's Premium and Growth tiers handle 10k+ concurrent connections per cluster. The Rails layer only handles auth at subscription time, not the WebSocket itself, so it scales independently.

Three layers: channel-name regex, business membership check, and room membership check — all run inside the Pusher auth endpoint before signing. Pusher itself never touches business data.

Ask AI Product Advisor

Hi! I'm the MangoApps Product Advisor. I can help you with:

  • Understanding our 40+ workplace apps
  • Finding the right solution for your needs
  • Answering questions about pricing and features
  • Pointing you to free tools you can try right now

What would you like to know?