Gryt
About Gryt

Roadmap

What's shipped, what's in progress, and what's coming next

This page tracks every major feature across Gryt. Use it to see what's already available, what's actively being worked on, and what's planned for the future. It was last checked against the changelog on 23 October 2026.

EmojiMeaning
βœ…Shipped β€” available now
πŸ”¨In progress β€” actively being worked on
πŸ“‹Planned β€” on the radar, not yet started

Have a feature you'd like to see? Check the feature requests page.


Voice and audio

  • βœ… HD voice (WebRTC, Opus, 48 kHz, configurable bitrate)
  • βœ… Noise suppression (RNNoise AI)
  • βœ… Echo cancellation
  • βœ… Auto Gain Control
  • βœ… Dynamic range compressor
  • βœ… Noise gate
  • βœ… eSports mode (low-latency audio visualization)
  • βœ… Mute / deafen (server-synchronized)
  • βœ… Voice activity detection and speaking indicators
  • βœ… Voice state grace period (transient disconnects don't drop you from the channel)
  • βœ… Device hot-swapping
  • βœ… Loopback monitoring
  • βœ… Configurable hotkeys (push-to-talk, disconnect)
  • βœ… Audio visualization (spectrum, level meters)
  • βœ… Push-to-talk (configurable hotkeys, browser + Electron)
  • πŸ“‹ More hotkeys (mute, deafen, camera, screen share, etc.)
  • βœ… Per-user volume control (0–200%)
  • βœ… Audio cues for state changes (join, leave, connect, disconnect)
  • βœ… Connect / disconnect sounds (configurable, custom sound files)
  • βœ… Per-channel voice settings (required push-to-talk, bitrate presets, eSports mode, disable RNNoise)
  • πŸ“‹ Soundboard (play audio clips into voice)

Video and screen sharing

  • βœ… Camera support with device selection
  • βœ… Camera preview, mirroring, quality, FPS, and codec settings
  • βœ… Screen sharing (video + audio)
  • βœ… Screen share audio isolation (excludes Gryt voices on Windows/macOS desktop)
  • βœ… Per-application audio capture (capture only a specific app's audio on Windows)
  • βœ… Screen quality presets (native, 4K, 1440p, 1080p, 720p, 480p)
  • βœ… FPS settings (30, 60, 90, 120 β€” experimental: 144, 165, 240)
  • βœ… Focused video view and popout
  • βœ… Popout video with volume control
  • βœ… Drag-and-drop video grid
  • βœ… Gaming mode (cursor hiding, motion-optimized encoding, higher bitrate)
  • βœ… Hardware-accelerated codec selection (H.264, VP9, AV1)
  • βœ… Custom max bitrate control
  • βœ… Advanced screen share settings (codec, bitrate, degradation preference)
  • βœ… SVC temporal scalability (L1T1/L1T2/L1T3 with per-receiver layer-aware forwarding)
  • βœ… Native DXGI screen capture (bypasses Electron IPC, direct WebSocket transport)
  • βœ… Hardware video encoding (H.264 / HEVC via NVENC, AMF, QuickSync β€” zero-CPU-copy GPU pipeline)
  • βœ… Insertable streams (injects pre-encoded H.264 directly into WebRTC, skipping decodeβ†’re-encode)
  • πŸ“‹ Virtual backgrounds (blur / image replacement)
  • πŸ“‹ Go-live / stream to channel
  • πŸ“‹ Video layout options (gallery, spotlight, sidebar)
  • πŸ“‹ Clips (save and share screen-share moments)
  • βœ… Screen shares wait until you click Watch, so nobody downloads video they didn't ask for
  • βœ… Video sent at the size viewers actually draw it, and paused when nobody is watching
  • πŸ“‹ End-to-end encryption (SFrame / insertable streams)

Text chat

  • βœ… Rich text messages with Markdown
  • βœ… Message editing and deletion
  • βœ… Message replies
  • βœ… File attachments (multi-file, drag-and-drop, clipboard paste)
  • βœ… Picture and video viewer that steps through every picture in a message, with zoom and arrow keys
  • βœ… Media player for audio/video
  • βœ… Mentions (@username autocomplete)
  • βœ… Emoji reactions
  • βœ… Emoji autocomplete (:shortcode:)
  • βœ… Emoji picker
  • βœ… Custom server emojis (upload, batch, ZIP, animated GIF, BetterTTV and emoji.gg import)
  • βœ… Link embeds (YouTube, Twitch, Spotify, SoundCloud, TikTok, Instagram, X, Vimeo)
  • βœ… Profanity filter (off / flag / censor / block)
  • βœ… Message grouping and date separators
  • βœ… Unread message tracking
  • βœ… Code syntax highlighting in code blocks
  • βœ… Image skeleton previews (correctly-sized placeholders while images load)
  • βœ… Typing indicators
  • βœ… Threads (reply, edit and see unread inside a thread)
  • βœ… Pinned messages
  • βœ… Mentions for @everyone, @here, roles and #channels, with a per-server switch to suppress @everyone and @here
  • βœ… Jump to an old message from a pin or a reply, however far back it is
  • βœ… Message and file search with Ctrl+K, narrowed by who, where, when or what's in them
  • βœ… Drafts kept per channel and conversation
  • βœ… Several pictures in one message as a gallery, with a viewer you can swipe and zoom
  • πŸ“‹ GIF picker (Tenor / Giphy)
  • πŸ“‹ Stickers
  • βœ… Polls (one answer or several, anonymous or not, limited to some roles, with an end time)
  • βœ… Messages from a newer version of Gryt say so on older apps, instead of showing nothing
  • πŸ“‹ Message forwarding
  • πŸ“‹ Spoiler tags
  • πŸ“‹ Slow mode (per-channel rate limit)
  • πŸ“‹ Scheduled messages

Servers and channels

  • βœ… Multi-server support (connect to many at once)
  • βœ… Text and voice channels
  • βœ… Channel creation, editing, deletion
  • βœ… Voice channel text chat (optional)
  • βœ… Server settings (name, description, icon)
  • βœ… Invite system (single-use, multi-use, expiration, revocation, custom invite codes)
  • βœ… Invite link previews (server icon, name, and description on invite pages)
  • βœ… Roles with their own permissions, including roles members earn over time
  • βœ… User identity replacement (owner can migrate a user's data to a new Gryt ID)
  • βœ… Audit log
  • βœ… Kick, ban, server mute/deafen
  • βœ… Server reports
  • βœ… Channel reordering (drag-and-drop)
  • βœ… Server reordering (drag-and-drop)
  • βœ… Sidebar customization (spacers, separators with labels)
  • βœ… Welcome screen / onboarding flow
  • βœ… LAN server discovery (mDNS, desktop app only)
  • βœ… LAN open join (skip invite codes for LAN clients β€” ideal for LAN parties)
  • βœ… Embedded server (host a server directly from the desktop app β€” one-click create, auto-start, LAN party mode)
  • βœ… Webhooks
  • βœ… Folders in the sidebar, with their own permissions
  • βœ… Per-channel permissions by role, with templates
  • βœ… Forum channels
  • βœ… Plugins a server can run, listed for anyone before they join
  • βœ… Import a Discord server's history (from a DiscordChatExporter export)
  • πŸ”¨ A Gryt bot that imports a Discord server, and a bridge between the two
  • πŸ“‹ Announcement channels
  • πŸ“‹ Server templates
  • πŸ“‹ Server discovery / browser
  • βœ… Spam filter with a sensitivity setting
  • πŸ“‹ Auto-moderation rules
  • πŸ“‹ Slow mode
  • πŸ“‹ Events (scheduled events with name, description, date/time, and location)

Direct messages and social

  • βœ… Direct messages (1:1, per server)
  • βœ… Group direct messages, and calls in them
  • βœ… A Messages space with every conversation from every server in one list, and pins
  • βœ… Friends (requests, accept, decline, remove)
  • βœ… Blocking, which also stops their messages and calls
  • βœ… Who can message and call you, as a default and per server
  • βœ… End-to-end encrypted direct messages, using MLS so a key that leaks later can't open older messages
  • βœ… Link a new device from one you already use, by QR code or a short code
  • πŸ“‹ End-to-end encrypted private channels

A direct message belongs to the server you opened it on. Messaging the same person on another server starts a separate conversation with its own history, and neither server can tell the two are the same people. That is deliberate: carrying a conversation between servers would mean either storing everyone's private messages centrally or letting servers tell each other which servers you are on. Your messages sit on that server, so whoever runs it can read them, the same as any channel. Server owners can turn direct messages off entirely.

User profiles and presence

  • βœ… Avatars
  • βœ… Nicknames
  • βœ… AFK status
  • βœ… Online / in-voice / offline presence
  • πŸ“‹ Idle / don't disturb / invisible status
  • βœ… Owl avatars you can dress up, generated from your name until you pick an outfit
  • πŸ“‹ Custom nickname fonts (Google Fonts β€” server can enable or disable)
  • βœ… Member cards (colours, patterns, banner, bio, pronouns and a status line)
  • βœ… Game activity and Rich Presence (games that report to Discord report to Gryt too)
  • πŸ“‹ Linked social accounts on the card

Notifications

  • βœ… Toast notifications
  • βœ… Sound notifications
  • βœ… Unread badges
  • βœ… Push notifications on the phone, with message previews only your phone can read
  • βœ… Per-channel notification levels (all messages, mentions, nothing), with a default the server sets
  • πŸ“‹ Do-not-disturb mode

Accessibility

  • βœ… Atkinson Hyperlegible typeface
  • πŸ”¨ Full keyboard navigation
  • πŸ”¨ Screen reader support (ARIA)
  • πŸ”¨ Focus management
  • πŸ”¨ WCAG AA color contrast
  • βœ… Dark / light theme with system preference
  • βœ… Customizable appearance (whole themes, built on ui.gryt.chat and shared as a link, plus UI scale, chat font size and emoji size)
  • πŸ“‹ Accessibility settings panel (consolidated preferences)
  • πŸ“‹ Reduced motion mode
  • πŸ“‹ High contrast theme
  • πŸ“‹ ARIA live regions for chat
  • πŸ“‹ Real-time captioning / transcription
  • πŸ“‹ Full WCAG AAA contrast

Platform and apps

  • βœ… Web client
  • βœ… Desktop app (Electron β€” Linux, macOS, Windows)
  • βœ… Auto-updates (Electron, all platforms, with update availability indicator)
  • βœ… Persistent file-backed storage (settings, auth tokens, and theme survive across restarts)
  • βœ… Linux packaging (AppImage, deb, Snap Store, AUR)
  • πŸ”¨ Linux packaging (Flatpak / Flathub)
  • πŸ”¨ Code-signed Windows installer (.exe)
  • βœ… Code-signed and notarized macOS app
  • βœ… Mini mode (shrink the window and it shows one channel and nothing else)
  • πŸ”¨ Mobile-responsive web layout
  • πŸ”¨ iOS app (in testing on TestFlight)
  • πŸ”¨ Android app (in testing on Google Play)
  • βœ… Microsoft Store
  • πŸ”¨ Mac App Store

Authentication and security

  • βœ… Keycloak OIDC single sign-on
  • βœ… User registration with terms of service acceptance
  • βœ… Identity certificates (challenge-response join β€” community servers never see your auth token)
  • βœ… Passkey / passwordless login (WebAuthn, Electron + web)
  • βœ… Security settings panel
  • βœ… Two-factor authentication with an authenticator app, and recovery codes
  • πŸ”¨ Account deletion self-service

Self-hosting and infrastructure

  • βœ… Docker Compose deployment
  • βœ… Kubernetes / Helm charts
  • βœ… Windows self-hosted server (standalone .exe bundle, no Docker required)
  • βœ… Embedded server in desktop app (host from the client on Windows, macOS, and Linux β€” no separate install)
  • βœ… Cloudflare Tunnel support
  • βœ… Uploads kept as files beside the database, with no storage service to run
  • βœ… SQLite database
  • βœ… Identity service (certificate issuance for client identity verification)
  • βœ… Multi-network support (LAN + WAN)
  • βœ… Health check endpoints
  • βœ… Prometheus metrics + optional Grafana monitoring
  • βœ… Isolated image processing worker (sharp runs in a separate service, crashes don't affect the server)
  • βœ… Terminal manager (gryt) β€” creates, runs and configures servers from a keyboard-driven app
  • βœ… One-line install script (curl -fsSL https://get.gryt.chat | sh)
  • βœ… Local management API (change a running server's settings without being its owner)
  • πŸ“‹ Server-to-server proxying / federation
  • πŸ“‹ Admin dashboard (web UI for server management)

Developer and integrations

  • βœ… REST API
  • βœ… WebSocket API (Socket.IO)
  • βœ… Open source (AGPL-3.0)
  • βœ… Bot / integration API (@gryt/bot, with per-bot approval in Server Settings > Bots)
  • πŸ“‹ Slash commands
  • βœ… Plugin system (server plugins, and sandboxed add-ons in the app)
  • πŸ“‹ Rich Presence SDK, so games can talk to Gryt directly
  • πŸ“‹ Community browser (discover and install plugins, themes, and extensions from a public GitHub-backed registry)
  • πŸ“‹ OAuth2 applications

On this page