LEFTEROS / PERSONAL NOTES
Patches for nema, Thanos Apollo's XMPP app for Android
13 October 2026 / Lefteris Iliadis / SomniusX

nema is an XMPP messenger for Android, written by my friend Thanos Apollo. It's young and still in alpha, and since August I've been sending it patches. Here's what it is and what I've added so far.
What nema is
A native Android app in Kotlin with Jetpack Compose, for Android 8 or newer, under the GPL-3.0. It already does direct and group chats, fetches older messages from the server, syncs with your other devices (Carbons), and has replies, drafts, bookmarks, blocking, profiles and file uploads. Since 0.3.0 it also has named threads inside a conversation and can connect over Tor through Orbot. One thing to be clear about: it has no end-to-end encryption yet. OMEMO is planned, but today's builds aren't an encrypted messenger, and the project says so itself. More on the nema page.
Patches by email
nema doesn't take pull requests. Like the Linux kernel, it takes patches by email: you make your commits, git format-patch turns them into emails, and git send-email sends them to the project's patch address. They're reviewed and, if all is well, applied with your name as the author. The details are in the project's CONTRIBUTING.org.
It's a clean way to work: every change is one email you can read on its own, and the review comes back as a reply.
What I've added
- Group chats show their name instead of the long generated room address.
- A double-tap on a message opens its actions.
- A conversation shows when it's inside a thread.
- Day separators, “Wed 7 Oct”, “Thu 8 Oct”, between the messages, so you can tell when things were said.
- A test fix for the older SQLite that Android's test runner uses.
The first three came with 0.2.0, the last two went in on 10 October. Two more are waiting for review: the time of the last message on each conversation row, and Copy in the message menu.
If you use XMPP on Android, give nema a try and report what you find on its issue tracker. Thanks to Thanos for nema.