AFAIK, even today you can fetch the WhatsApp Android apk, extract the zip and do a `strings classes*.dex | grep signal` to find class and package names matching the sources in the signal-protocol-java repository in the Signal GitHub.
8 karma · joined August 25, 2026
AFAIK, even today you can fetch the WhatsApp Android apk, extract the zip and do a `strings classes*.dex | grep signal` to find class and package names matching the sources in the signal-protocol-java repository in the Signal GitHub.
XMPP uses a persistent connection. These are kept alive using TCP keepalive (both from server and on the client, but client side will be handled by the MPU and thus doesn't need CPU wake-up) and client initiated application protocol pings at intervals of 5 minutes or even less. Client initiated pings are much better on the application protocol, because they can be synced with other operating system tasks and thus don't need any active wake-up.
This protocol is XMPP in 99% of the time, both Apple and Google use XMPP to connect the phones to their push notification service.
On Android, some Matrix clients offer the option to use non-Google push notification channel via UnifiedPush. UnifiedPush needs a distributor, a service that runs on the phone and manages the delivery of push notifications. Conversations, a popular Android XMPP messenger, can be used as such distributor.
So if you want digital independence with Matrix and thus do not want to use Apple/Google push, you might end up installing an XMPP messenger, so that your Matrix messenger actually can show notifications. Matrix alone just doesn't provide what is needed for digital independence.