github norsehorse-dev/CarrierPonyAndroid v3.3.3
CarrierPony 3.3.3

one hour ago

Fixes notifications that arrived well before the message could be seen, sometimes by a minute or more. Both the F-Droid / GitHub build and the Play build were affected.

What was broken

The app fetched your sealed inbox last. Each time it opened or was woken, it first re-registered every receive address it holds (about 130 per contact, plus more per group member) and made several signed round trips to the relay. Only after all of that did it fetch the sealed inbox, which is where 1:1 and group messages wait. With a few contacts and groups that was thousands of addresses, sent again every 30 seconds.

A backgrounded app did not fetch at all on a push. It posted the notification and waited for you to tap it, so the slow path above ran only after the tap.

A message that kept failing to open stayed at the front of the queue. It was retried and downloaded again on every poll, and could keep newer messages behind it.

What's fixed

The sealed inbox is fetched first. The receive addresses are worked out on the phone with no network call, so the fetch no longer waits on anything. Address registration runs after it and only sends addresses the relay does not have yet, with a full refresh every few hours.

A push to a backgrounded app fetches first, then notifies. The message is already in the conversation when you tap the notification. If the fetch takes longer than 8 seconds the notification is posted anyway.

Refreshes no longer overlap. A push that lands during a poll queues one follow-up pass instead of starting a second one.

Stuck messages no longer block new ones. A message that fails to open three times is skipped on most polls and retried now and then.

No more blank band above the top bar. The Messages and Files tabs padded for the status bar twice, once in the screen and once in the tab container.

Also fixed on the relay

The default relay ran out of disk space, which made large videos fail to send and stalled requests for up to a minute. That was fixed on the server and needs no update. The relay also now caps how much one inbox poll returns, so a pile of large attachments can't turn every poll into a download that never finishes.

About this build

The attached APK is the FOSS build. It carries the SMS transport and contains no Google or Firebase code, so it is the build for F-Droid and direct install.

Verify

The APK is signed with the CarrierPony release key. It also ships a detached GPG signature made with the CarrierPony key:

A0CB C8F6 5AAC E56F 1C5B  7677 53F9 798E 4919 DE62
gpg --verify carrierpony-3.3.3.apk.asc carrierpony-3.3.3.apk

Don't miss a new CarrierPonyAndroid release

NewReleases is sending notifications on new releases.