Skip to content
ALL PROJECTS

...OPEN SOURCE CONTRIBUTION... / 07

postal

Merged upstream

WhatsApp without the browser engine — and without the twenty-gigabyte history.

ROLE
Contributor · UI, notifications, correctness
YEAR
2026
UPSTREAM
emiliano-go
LANGUAGE
Svelte / Rust
Svelte 5TauriRustTypeScriptSQLite

...OVERVIEW...

What it is

Most WhatsApp desktop clients wrap WhatsApp Web in a browser. That works, but it inherits the web app's appetite: the entire account history gets synced, kept in memory and kept alive. Postal takes the harder path and implements the multi-device protocol directly in Rust. The result is a client that idles under 1% CPU instead of hundreds.

The protocol core was already strong when I joined. I worked on the layer you actually touch: the sidebar, previews, notifications, keyboard behavior, and a few database and migration bugs that only appear on real accounts.

...MY CONTRIBUTION...

What I worked on

Nine merged pull requests, mostly UI and correctness work. The best compliment for this kind of change is that you stop noticing it.

15
COMMITS
9
MERGED PULL REQUESTS
2026
YEAR
01

Mute @all mentions

Added a setting to mute @all mentions globally, plus per-chat mute behavior for mentions. A group chat should not be able to page you just because someone typed @all.

02

Chat hover previews

Added a configurable hover delay — 600 ms by default — before a chat preview opens, and fixed the preview popping open on muted chats. Long enough that passing over the sidebar does not trigger it, short enough to feel immediate.

03

Sidebar and accessibility

Collapsible chat tags and Spaces, visible focus outlines, and keyboard accessibility fixes. The sidebar is the part of a chat app you use most; it should not require a mouse.

04

Frontend structure

Moved application state out of the route component and modularized the frontend. This was refactoring rather than a feature, but it made the next UI change cheaper and the state easier to reason about.

05

Correctness on real accounts

Fixed message statuses that did not update, added clearing chats from the right-click menu, set the Wayland window title, fixed Hyprland tiling, and healed skipped album/sticker columns on version-stamped databases so existing profiles survive an upgrade.

Postal is maintained by Emiliano Gandini and its contributors. My work is merged upstream; the protocol and storage design are the maintainers'.