All posts

Hanging up should feel instant — and now it is

Most of a calling app's quality lives in the seconds nobody screenshots: the moment you hang up, the moment the other side gives up, the moment a missed call becomes a missed call. We spent a week on exactly those seconds.

The ghost ring

The worst bug in any calling app: the caller hangs up, and the callee's phone keeps ringing at a dead call. Answer it and you get silence — or worse, a connection to nothing. We rebuilt the cancel path so one authoritative signal retracts the ring everywhere: banner, lock screen, in-app. When the caller stops, the ringing stops. Everywhere. Immediately.

Rings with a heartbeat

A ring now carries a liveness check — if the call it belongs to is no longer real, the ring ends itself instead of trusting the network to say so. Restarts, dead sockets, dropped pushes: none of them can leave a phone ringing at nothing anymore.

One authority for every ring

Under the hood this was the deeper fix: exactly one part of the app is allowed to ring a phone. Every path — a push, a socket event, a foreground signal — funnels into it. Double channels once produced four different bugs, including two rings for one call. One authority, zero arguments.

None of this makes a screenshot. All of it makes the difference between an app that has calls and an app you'd actually call your mother on.

Share this post