Engineering

Mercurygram: Push Notifications Without Google (And Then I Got Hooked)

Crane Hall

14:0040 mins14/11/2026

In 2023, I was using Telegram-FOSS on a Pixel running GrapheneOS without Google (at least on the main user account), and notifications meant an MTProto connection that was always on and battery drain like crazy.

This led to the creation of [Mercurygram](https://mercurygram.org/), a fork of Telegram for Android (and, more recently, for desktop secret chats).

Here’s the story:

– What UnifiedPush is and why Telegram can’t support it natively.
– Telegram’s WebPush, which is stuck at the draft stage and places decryption parameters in HTTP headers—exactly where ISPs discard them.
– The inelegant workaround of an “empty” PUT request to wake up the app.
– the demise of Telegram-FOSS following Durov’s arrest, with the “de-Googling” process having to start from scratch.
– all the way to the current gateway that converts the draft into standard WebPush.

And then the shift in focus: once the fork exists, we might as well push for privacy and security—the things I care about most alongside free software—with:
– Built-in Tor
– On-device translation and transcription
– Disableable AI features
– Secret chats on desktop
– Miscellaneous (okay, this isn’t a homeowners’ association meeting)

The story of how a notification issue turned into a privacy project.

And thanks to the beauty of free software, my implementation of UnifiedPush was later included in Forkgram and other Telegram clients!