Vommet

Commet, but with added slop™.

An unofficial, LLM-assisted fork of the Commet Matrix client, with one job: removing the papercuts that keep people on Discord instead of Matrix.

Get a test buildSource code

Wish it were more like Discord? Complain, and it gets fixed.

Try our obnoxious Discord Nitro themes!

Every gradient from Nitro, free, in dark and light. Pick one and the screenshots on this page follow.

This is a fork. It is not Commet, and the Commet maintainers are not responsible for it.

Most of Vommet's code is written with the help of an LLM. Commet doesn't accept LLM contributions, and we respect that: nothing from this fork is ever sent upstream. Please report Vommet bugs on our tracker or in #vommet:nether.im, never on Commet's.

A promise from the maintainer

Miss something from Discord? Complain. I'll fix it.

The whole point of Vommet is to get people off Discord and onto Matrix. That only works if nothing keeps nagging you back. So if you hit a wart, a bug, a missing feature, a UI papercut, anything that makes you wish Vommet were more like Discord or Telegram, come and say so in #vommet:nether.im, and I will personally fix it for you.

That includes the small stuff. "The emoji picker feels wrong" is a perfectly good complaint. You don't need to know what the fix is, or file a ticket, or dress it up. Just tell me what you expected to happen, and what happened instead.

Every change Vommet makes on top of Commet is listed in VOMMET_CHANGES.md.

Widgets: Activities you can actually change

A widget is a small app that lives in a room, like a Discord Activity: a game-night planner, a raid roster, a "who's on the Minecraft server right now" board, a countdown to the next event, a soundboard, a watch-together player. On Discord you get the Activities Discord ships. Here, your community gets the widgets it asks for.

Not a programmer? No worries.

Say what you want in #vommet:nether.im: "a signup sheet for raid night with a cap of eight", "a board that shows who's online on our game server". We'll vibe-code it with you, and it's yours. Change your mind next week? Say so.

Already a programmer?

A widget is a web page. Build it, put it in a room with the widget API, and it runs for everyone in the room on every platform. Vommet carries the Matrix widget API, so widgets built for Element work too.

Why this is the point.

Discord decides what an Activity can be. A small community on Matrix decides for itself, and a client with a maintainer who answers can turn a request into a feature in days. That's the whole bet.

A widget pinned to a roomRender pending on the stage
A widget pinned to a room Opens beside the chat on desktop, as a sheet on a phone. The first renders land once the new widget pane is in a testing build.

Coming from Discord?

Most of it is the same thing under a different name. The rest is the point.

On DiscordIn VommetWhat's different
ServerSpaceA space can live on any homeserver, and it can hold other spaces.
ChannelRoomA room can be in several spaces, or none. Voice rooms are rooms too.
Your account@you:yourserverYour name includes the server that holds it, like email. Nether's is nether.im.
ActivitiesWidgetsLittle apps that live in a room. Yours can be changed, or made from scratch, by asking.
NitroNothingThemes, bigger uploads and stickers aren't paid features. There is nobody to pay.
Discord Inc.Whoever runs your homeserverHere, a few people you can talk to. Don't like them? Move servers and keep your friends.
Trust & SafetyYour admins and modsBans, rules and appeals happen with people, not a form.
Do my friends have to use Vommet too?

No. Matrix is a network, so a friend on Element, Commet, FluffyChat or anything else is in the same rooms and calls. Vommet is just the app that makes it feel like Discord.

Where do I get an account?

Any Matrix server. Nether's own server is invite-only while it's in beta; ask on the wiki or get vouched in by a member. matrix.org and many public servers take sign-ups today, and Vommet can sign in to all of them.

What about my Discord server?

Make a space, invite people, and run a voice bridge while they trickle over. Text bridges exist too, with the usual bridge caveats.

Is it harder to use?

The one honest difference: encryption is yours to keep. Vommet sets it up in two minutes at sign-in and explains the recovery key in plain words. Everything else should feel familiar. If it doesn't, that's a bug you can complain about.

Opens fast. No Electron.

Vommet is a native Flutter app, not a web browser in a trench coat. With sliding sync on, it loads the rooms you're looking at first and the rest in the background.

Sliding syncNative, not ElectronRoom list in under a second on 300 rooms

Sliding sync is under Settings › Experiments while we test it, and falls back quietly on servers without it. Built on our fork of Commet's SDK.

startup recording: real hardware, coming

Bring your stickers with you

Moving from Telegram or Signal shouldn't mean leaving your sticker collection behind. Paste a pack link and it's yours, in six steps you can swipe through.

Open Settings › Emoticons › Import pack One box takes Telegram (t.me/addstickers) and Signal (signal.art) links. Requests go through our proxy, so your client never talks to Telegram or Signal directly.
Paste the link, see the pack The whole pack previews before anything happens. Animated Telegram stickers arrive as animated WebP, so they play in every Matrix client.
Pick where it lives Your personal pack, or a new sticker room: a private room that only holds packs, stays out of your room list, and shares its packs with anyone you invite.
Imported Night Shift Critters, in its own sticker room, next to the packs Ewan already had. They work as custom emoji too.
Pick one Packs sit in the picker next to emoji and GIFs, in every room. Ewan's current pack is called Skill Issue. The others are Touch Grass, Copium Reserve, Git Gud and the Mald Archive. He is a menace, but a polite one.
Sent Ordinary Matrix stickers at full resolution, so friends on Element see them too and they stay sharp on a phone.

A chat you can actually read

The things that stop a busy room from turning into soup.

Pictures in one piece Post several pictures at once and they arrive as one Telegram-style mosaic, not a tall column. Works through bridges too.
Threads, bans and renames, all in one afternoon PokeLover69 answered a simple question in a way nobody asked for. The replies went to a thread (9 of them), the mod did the mod thing, and the room is called pokemon-lovers-sfw now. All of it is right there in the timeline.
Threads beside the room A side conversation opens next to the room with its own composer, so the patch-note argument never buries the game-night plan.
Polls, replies, edits, reactions Game night, settled democratically. Votes show who picked what. Nix is never allowed to pick again.
Say it how you mean it Bold, italics, spoilers (lynx finished Outer Wilds; spacecadet has not), strikethrough, inline code and colour, with reply quotes and a typing indicator.
Custom emoji, as reactions Ewan plugged the voice bridge in This Week in Matrix. Someone asked if it was LLM-assisted. He said yes. The room has a [SLOP] emoji for exactly this. This actually happened.
A picture viewer that keeps going Open one picture and arrow (or swipe) through every picture in the room.

Voice channels, the way you're used to

Always-on voice rooms you can see into before joining, mute and deafen where your hand expects them, screen share with sound, and a bridge for the friends who haven't moved yet.

See who's there first Voice channels show who is in them, in the sidebar and in the room, before you join.
Voice Connected A Voice Connected card, speaking rings on whoever is talking, and mute and deafen right next to your name. doomslayer88 is in the call from Discord, through the bridge.
Devices and volume, one click away The arrow by the mic picks your input device and level without leaving the call.
Screen share, with sound Pick what goes with your screen: no audio, every app except voice chat apps, or one app. Windows shares all system audio. Nobody has to ask "can you hear the game?"
Voice messages Hold the mic to record, let go to send, slide left to cancel. Waveforms in the chat, and they work with Element both ways.

Spaces with a front door

A space has a home page now, menus in its banner, and a sidebar that shows who's talking. Matrix is full of public communities, and Explore helps you find them.

A front door Open a space and you land on its home: banner, icon, a welcome line, and every room and subspace with its latest message.
Communities on other servers Pokémon Lovers lives on tchncs.de. Ewan's account lives on nether.im. Nobody had to make a second account.
Who's around The member list splits into online and offline, with statuses and each person's homeserver.
Explore Browse public rooms and spaces on any server. Peek inside before you join: its rooms, how many people, and whether you can read along.

Private by default, explained like a person

Block who you need to block. Encrypted calls out of the box, and a setup that explains itself in four short pages. The long version: Secure messaging in Vommet. Diagnostics are opt-in and never include message content; see the privacy page.

Some conversations end ODST_Dan prefers the Halo remaster to the original. Ewan checked that he was not joking. He was not joking.
Block, from the profile card Blocked people's messages, invites and calls are hidden on every device. Dan will never know what he did. Dan knows what he did.
Keep your messages safe After you sign in, Vommet explains what encryption buys you and sets it up in about two minutes.
Only you hold the keys Plain words and a picture, not a lecture.
Two different keys Your password signs you in. Your recovery key unlocks your messages.
When do you lose messages? Only one way, and it says which.

Make it yours

Themes are up top. The rest is about you, and about knowing what changed.

What changed, after every update A short list in plain words, dated, once per update. Settings › About › What's New keeps the whole history.
Your look Dark, light, AMOLED, every Nitro gradient, and your own theme files with the + button.

Nicknames only you see

Call Kyle "Kyle (good mic)" if that's who Kyle is to you.

Status in two clicks

Your card, status and presence from your name.

Your profile, your banner

A banner, a status, and the homeserver you call home, on every profile card.

The small stuff

Papercuts that got fixed because someone complained. Every change on top of Commet is listed in VOMMET_CHANGES.md.

  • One big sign-in button. If your server uses single sign-on, you get that; the password form is a tap away.
  • DMs look like DMs. Not "Group with Juniper". Any room can be filed as a DM.
  • Nicknames only you see. Call Rook "Rook 🎤". Rook never knows.
  • Links just open. matrix: and matrix.to links open the room in Vommet, on desktop and Android.
  • Right-click any picture. Save it, copy it, open the banner full size, hold a sticker to preview it.
  • Android notifications without Google. UnifiedPush out of the box.
  • Mic cleanup. Noise suppression, as an experiment, for the keyboard people.
  • Spaces you can tidy. Reorder rooms, move them between subspaces, remove them, with drag handles.
  • Try things before they're default. Settings › Experiments: forwarding, drafts, sending while offline, timestamps in everyone's own time zone.

Coming next

Everything planned is on the issue tracker, where you can argue for it or against it.

  • Soundboards in calls, from sound packs that live in rooms. #95
  • Voice isolation on par with Discord. #3
  • A friends list: who's online and who's in a call. #93
  • Store listings and in-app updates: Flathub, F-Droid, Google Play. #98
Show everything planned
  • Voice: screen-share audio on Windows and SteamOS Game Mode (#4, #65), voice activity on spaces (#94), several screen shares (#91), transcribed voice messages (#70).
  • Chat: per-space nicknames (#69), saved messages (#97), data saver (#75), notification sounds (#74).
  • Community: moderation tools (#59), plugins (#66), profile badges (#87), admin tools (#89).
  • Installs: tray icon (#17), iPhone once we have a Mac (#43), small machines like a Pinebook Pro (#63).

Get started

Three steps. Builds are early pre-releases: expect rough edges, and tell us what breaks in #vommet:nether.im.

  1. Get a Matrix account on any server (where?). You'll sign in as @you:thatserver.
  2. Install Vommet below, then sign in: homeserver, name, password.
  3. Let it set up secure messaging. Two minutes, once. Write the recovery key down somewhere boring.

Linux

Flatpak bundle for x86_64. Installs beside Commet.

Flatpak

Android

Signed APK for 64-bit ARM phones, about 51 MB.

APK

Windows

Portable zip: unzip and run vommet.exe. Not signed yet, so SmartScreen warns: More info, then Run anyway.

Windows zip

Checksums sit next to every file on the releases page. No macOS or iPhone builds yet, from Vommet or from Commet.

A modified xkcd comic. Someone says: You should try this new Matrix client, Vommet! The person at the laptop: Sounds gross, what is it? Not Discord! What's it like? Discord! The person at the laptop sits for a moment, then: Oh, what the hell. I guess that's all I really wanted. Click.
With apologies to xkcd 918, CC BY-NC 2.5. The original was about a different "not Facebook".

Support Commet

Vommet is a small patch stack on top of Commet; the overwhelming majority of the code is theirs. If you like it, consider donating to Commet.