It’s been about a month since we wrote up the move to MLS for voice. That post was deep on one topic. This one is the opposite — a quick tour of what we shipped between then and now, written for the people who’ll actually use Voidcom.
Quite a lot, as it turns out. Let’s go.
One password instead of two
If you used Voidcom before this month, you had two passwords. One to log in. A second one to unlock your private messages. We had reasons for that — the technical short version is “the server is not allowed to see the one that unlocks your messages, so it has to be separate” — but in practice it confused everyone, ourselves included.
So we collapsed it into one.
Now a single password does both jobs. The server still never sees the one that unlocks your messages — that’s the whole point of end-to-end encryption — but you no longer have to remember which password does what. If you forget it, a recovery phrase (twelve words, the same kind crypto wallets use) restores your account. We can’t do it for you — that would mean we held a copy, which we don’t — but the phrase gives you a way back in that doesn’t require trusting us.
For people who want extra paranoia, there’s also an optional second password you can layer on top of your login — a separate gate that has to be entered before any of your encrypted messages decrypt, even if someone has your login credentials. Most people won’t need it. The people who do, really do.
Existing users will see a one-time prompt the next time they log in that walks them through generating their recovery phrase. Write it down somewhere safe.
Voidcom on your phone and your Mac
When we wrote the MLS post a month ago, Voidcom ran on Windows and Linux. macOS technically built but didn’t really work. iOS didn’t exist. That’s no longer true.
- macOS now runs properly — past the splash screen (yes, that was a real bug for a while), with native Apple Silicon and Intel support and full screen sharing. If you’re on an M-series Mac, the new hardware-accelerated video means screen sharing is essentially free on your CPU.
- iOS is built and running. The interface is genuinely native — proper iOS layouts, not a desktop UI shrunk down — and incoming voice calls ring through the system call screen the same way a real phone call would.
- Android is close behind. We had the foundations from before; this month was about polishing the mobile experience.
These aren’t in the public beta channel yet. Apple’s TestFlight loop and Google’s Play Store review take time, and we’d rather take a couple of weeks getting those right than ship something half-broken. They’re imminent, not shipped.
Push notifications
A messaging app where messages don’t reach your phone isn’t really a messaging app. We knew. We hadn’t solved it. We have now.
Push notifications now work on iPhone, iPad, Android, and Mac. Incoming voice calls ring through your phone’s normal call screen — you can answer them from the lock screen, decline them like any other call, and they show up in your recent calls list.
Because your messages are end-to-end encrypted, we can’t put the actual message text into the notification we send to Apple or Google. The notification just says “you got something” — your phone decrypts the content locally when you open the app. That’s why notification previews look intentionally sparse on the lock screen. It’s not a bug; it’s the privacy property doing its job.
Chat got a lot better
This is the broad surface where most people will notice the difference.
Threads. Reply to a message and optionally branch into a thread. Long side-conversations stop drowning the main channel. Works the way you’d expect from any other modern chat app.
Pinned messages. Pin the important stuff to a channel and jump straight to it from a popover. The server pins by ID — it never sees the content — so this works even in your end-to-end encrypted DMs.
Server folders and favorites. Group your servers into folders in the sidebar. Star the ones you actually use every day. Drag servers between folders.
Real send status. Messages now show whether they’re sending, sent, or delivered, and the retry path won’t accidentally double-send if your network blips at the wrong moment.
Paste-to-attach. Copy an image or a file, paste it directly into the message box. It just works now.
Reactions that stick. Reactions used to briefly disappear and pop back in when you opened a conversation. They no longer do.
Outgoing friend requests. You can finally see — and cancel — the friend requests you sent. This was an embarrassing omission and it’s fixed.
Bios. A short personal description on your profile, showing up under your name. Simple, and people had been asking.
There’s also a long tail of small fixes — channel collapse, thread send, the dialog box that used to grow as you typed, the message toolbar that wouldn’t light up when you hovered. None individually deserves a paragraph. Collectively they’re why the app feels noticeably tighter than it did four weeks ago.
Voice got better too
Last month’s headline was end-to-end encrypted voice. This month we built on top of it.
Multi-stream pop-out. In a voice call, you can grab a specific person’s screen share or video and pop it out into its own window. Useful if you want their share on a second monitor while the call UI stays on the first.
Stage channels. Large voice rooms (above 99 participants) are a different type of channel called “Stage” — we’d built the backend for them last month but they weren’t yet creatable from the app. Now they are, clearly marked as a different security tier than normal voice channels — exactly as we described in the MLS post.
Unmuting actually unmutes. If you’d muted yourself and then muted the whole room, hitting unmute on the room used to silently leave your mic muted. It now does what you’d expect.
Calls survive idle home Wi-Fi. Long voice channels on residential connections used to silently disconnect after a few minutes when the network thought the connection had gone idle. They don’t anymore.
Settings, theming, and small joys
The settings menu had grown organically and looked it. We rebuilt it. Categories make sense now. Transitions are unified. And the appearance section gained custom accent-color sliders so you can pick a color that isn’t one of our six presets — slide hue, saturation, and lightness until it’s the exact shade you want.
We also added “trust this device” for two-factor authentication — if you’ve already done 2FA on this device recently, we won’t ask you again for 30 days. Industry-standard, somehow we’d missed it.
What we’re not pretending
A few honest caveats:
- iOS, macOS, and Android aren’t in the public beta yet. They build, they run, they look right. The store distribution is the last step. If you’re on Apple platforms or Android, hang on a bit longer.
- Push notifications need real-world battle-testing. They work in our testing. “Our testing” is a much smaller sample than thousands of people using them in airports with bad LTE. We’ll find edge cases.
- The single-password change touches everyone. We’ve tested the migration heavily, but a change that touches every existing user’s keys is the kind of thing where you discover the rare edge cases by shipping it. Keep your recovery phrase somewhere safe.
What’s next
Roughly in the order we expect them to land:
- Public beta for mobile clients — iOS via TestFlight, Android via Play Store closed testing.
- More server regions. Right now everything runs from a single primary region in Europe. A second region is on the roadmap to bring latency down for people who aren’t near the first one.
- Voice fingerprint UX. Now that voice has per-person identity built in (the bit we explained in the MLS post), we want to expose a way for you to verify it’s really your friend on the other end — the same way Signal lets you verify a contact.
- A bot and app SDK. People keep asking. It’s coming, just not next.
If you’ve been waiting for the iOS or Mac build, sign up for the beta — that’s the channel where they’ll appear first. If you’ve been waiting for the bot SDK, sit tight a little longer.
Thanks to everyone in the closed beta giving us feedback. The “this thing crashes when I do X” reports are what turn a working prototype into something people will actually use every day. Keep them coming.
— Max