← Back to all sparks
T

Tinode

COMMS
Velocity0.0

Open-source instant messaging platform — backend in Go, native iOS/Android clients, federation, and scriptable chatbots.

Self-hosted chat platform shipping steady catch-up features and ops cleanup.

messagingopen-sourceself-hostedux-catch-upops-hardeningreactions
Current state
Tinode is an open-source, self-hosted messaging server with maintained Web, Android (Tindroid), and iOS (Tinodios) clients. The release cadence is regular (multiple tags per month), and the recent body of work is split between small bug fixes, infrastructure tuning (CORS, MySQL/Postgres DSN handling, Docker image fixes, healthchecks), and feature catch-up that brings the UX nearer to commercial chat apps — pinned chats, dark mode, subscriber counts, send-on-Enter, in-call messaging. An alpha for message reactions is in flight.
Where it's heading
The project is in steady-state maintenance with one visible directional push: catching up on the UX features that mainstream chat apps have had for years. Reactions are the next concrete step. Bug fixes and ops touchups dominate the in-between releases, which is healthy for an open-source server that runs in self-hosted production deployments.
Prediction
v0.26.0 will ship reactions as the headline feature. Threads, richer notifications, or moderation tooling are the natural next catch-ups — anything that further closes the gap with Slack/Matrix/Element on the UX surface without expanding the protocol surface too aggressively.

Recent moves

  1. 2mo ago

    Some optimizations and tuning

    Push-notification dispatch perf, tn-cli refactor into modules, larger intra-cluster buffers, and contact-storage tweaks. Quiet plumbing work that makes the server easier to operate at scale.

    View source ↗
  2. 4mo ago

    Alpha cut folds in message reactions (v0.26.0-alpha2)

    Pre-release cut of v0.26.0 folding the reactions feature branch into devel. Signals that message reactions are the headline feature for the next minor — a long-overdue UX catch-up.

    View source ↗
  3. 4mo ago

    Bug fixes

    Housekeeping: missing wallpaper assets in the release bundle, broken UserUpdate, Docker healthchecks, and dead-code removal. Routine post-release patching.

    View source ↗
  4. 4mo ago

    Pinning chats, subscriber count

    The most feature-dense release in the window: pinned chats, subscriber counts on groups/channels, dark/light/system UI mode, font-size control, send-on-Enter, and messaging continuity during calls. Each feature individually is a chat-UX table stake — collectively they pull Tinode noticeably closer to commercial peers.

    View source ↗
  5. 6mo ago

    CORS wildcards, bug fixes

    Wildcard support in CORS config, a fix for the media server ignoring CORS, and corrected unread-counter handling for deleted messages. Useful for self-hosters embedding Tinode behind their own front ends.

    View source ↗
  6. 7mo ago

    Bug fixes

    Three small fixes: incorrect error clearing on user deletion, MySQL DSN parsing with explicit port, and a test goroutine misuse. Pure maintenance.

    View source ↗