Everything fixed on iOS on 2026-09-01 exists only on the developer's simulator:
ordinary text messages being discarded between two iOS devices (fnc prefix check)
key-transparency check passing fnid: nil, making contacts unreachable and accusing
them of tampering
foreground notification banners for the app's own protocol traffic
EXIF/GPS stripping on the legacy photo upload and story videos
the story lifetime setting, and the two sign-out doors
Android shipped as 0.8. iPhone users get none of it until an archive is uploaded.
⚠️ The iOS→iOS message bug in particular means two iPhone testers currently cannot hold a
conversation on any shipped build.
Everything fixed on iOS on 2026-09-01 exists only on the developer's simulator:
- ordinary text messages being discarded between two iOS devices (`fnc` prefix check)
- key-transparency check passing `fnid: nil`, making contacts unreachable and accusing
them of tampering
- foreground notification banners for the app's own protocol traffic
- EXIF/GPS stripping on the legacy photo upload and story videos
- the story lifetime setting, and the two sign-out doors
Android shipped as 0.8. **iPhone users get none of it** until an archive is uploaded.
⚠️ The iOS→iOS message bug in particular means two iPhone testers currently cannot hold a
conversation on any shipped build.
Verified 2026-09-06: all five fixes are on main. This is a release gap, not a code gap.
Checked each item against main rather than against memory:
fnc prefix check (iOS→iOS text discarded)
present — isUnknownControl
key-transparency passing fnid: nil
present — KeyLog.logSubject
foreground banners for protocol traffic
present
EXIF/GPS on legacy upload and story video
present — both route through ImagePrep
story lifetime, two sign-out doors
present
So the payload is ready and has been for some time. What is missing is an archive upload, which is not something that can be done from the repository.
⚠️The public pages are honest about it, which is the part that would have been worth fixing first if it were not already true — the homepage reads "Android is ready to install today. The iPhone version is still being reviewed."
Two things worth doing in the same sitting as the upload, both already written down elsewhere:
🔴FN_APNS_ENV=production on the relay, or no iPhone receives any push. relay!71 now makes a wrong setting diagnose itself instead of failing as BadDeviceToken, but the setting still has to be flipped.
ios#7's device pass — one call, one message, one voice note, one backgrounded notification, between two physical iPhones. None of those three can be exercised on a simulator, and all three produced real bugs on 09-01.
## Verified 2026-09-06: all five fixes are on `main`. This is a release gap, not a code gap.
Checked each item against `main` rather than against memory:
| | |
|---|---|
| `fnc` prefix check (iOS→iOS text discarded) | present — `isUnknownControl` |
| key-transparency passing `fnid: nil` | present — `KeyLog.logSubject` |
| foreground banners for protocol traffic | present |
| EXIF/GPS on legacy upload and story video | present — both route through `ImagePrep` |
| story lifetime, two sign-out doors | present |
So the payload is ready and has been for some time. What is missing is an archive upload, which is not something that can be done from the repository.
⚠️ **The public pages are honest about it**, which is the part that would have been worth fixing first if it were not already true — the homepage reads "Android is ready to install today. The iPhone version is still being reviewed."
Two things worth doing in the same sitting as the upload, both already written down elsewhere:
- 🔴 **`FN_APNS_ENV=production`** on the relay, or no iPhone receives any push. relay!71 now makes a wrong setting diagnose itself instead of failing as `BadDeviceToken`, but the setting still has to be flipped.
- **ios#7's device pass** — one call, one message, one voice note, one backgrounded notification, between two physical iPhones. None of those three can be exercised on a simulator, and all three produced real bugs on 09-01.
Checked against production rather than from memory:
The TestFlight invite https://testflight.apple.com/join/SZF8uKU6 returns 200.
/get describes the iPhone build as a TestFlight beta and says plainly it is not the App Store.
The premise of this issue — that the 2026-09-01 fixes exist only on a developer's simulator — no longer holds: they are installable. Leaving it open rather than closing it, since whether "shipped" means TestFlight or App Store is the reporter's call.
Checked against production rather than from memory:
- The TestFlight invite `https://testflight.apple.com/join/SZF8uKU6` returns **200**.
- `/get` describes the iPhone build as a TestFlight beta and says plainly it is not the App Store.
The premise of this issue — that the 2026-09-01 fixes exist only on a developer's simulator — no longer holds: they are installable. Leaving it open rather than closing it, since whether "shipped" means TestFlight or App Store is the reporter's call.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Everything fixed on iOS on 2026-09-01 exists only on the developer's simulator:
fncprefix check)fnid: nil, making contacts unreachable and accusingthem of tampering
Android shipped as 0.8. iPhone users get none of it until an archive is uploaded.
⚠️ The iOS→iOS message bug in particular means two iPhone testers currently cannot hold a
conversation on any shipped build.
Verified 2026-09-06: all five fixes are on
main. This is a release gap, not a code gap.Checked each item against
mainrather than against memory:fncprefix check (iOS→iOS text discarded)isUnknownControlfnid: nilKeyLog.logSubjectImagePrepSo the payload is ready and has been for some time. What is missing is an archive upload, which is not something that can be done from the repository.
⚠️ The public pages are honest about it, which is the part that would have been worth fixing first if it were not already true — the homepage reads "Android is ready to install today. The iPhone version is still being reviewed."
Two things worth doing in the same sitting as the upload, both already written down elsewhere:
FN_APNS_ENV=productionon the relay, or no iPhone receives any push. relay!71 now makes a wrong setting diagnose itself instead of failing asBadDeviceToken, but the setting still has to be flipped.Checked against production rather than from memory:
https://testflight.apple.com/join/SZF8uKU6returns 200./getdescribes the iPhone build as a TestFlight beta and says plainly it is not the App Store.The premise of this issue — that the 2026-09-01 fixes exist only on a developer's simulator — no longer holds: they are installable. Leaving it open rather than closing it, since whether "shipped" means TestFlight or App Store is the reporter's call.