Changelog
Instant chat updates and durable message sends on iPhone
Sending a message, starting a conversation, stopping a run, and reading a reply now update the sidebar, conversation lists, and Home immediately on the dashboard and in the iPhone app, instead of waiting for a round trip to the server. On mobile, a message you send keeps trying for up to a day, through dead zones, backgrounding, and relaunches, and a retry never creates a second copy.
How it works
- Same rows on both sides. The code that builds conversation rows on the server is shared with the apps, so a row drawn optimistically matches the one the server returns. A failed action rolls back only what nothing newer has replaced.
- A persisted outbox. Every mobile send is written to the device first, then retried with backoff on network errors, and immediately when the app returns to the foreground. Messages in one conversation go in order.
- Deduplicated on the server. Each send carries a request ID, and the server keeps its receipt for a day, so a retry of a send that already landed gets the original result back.
- Preloading. The app fetches a conversation before you open it: when its run finishes, when a push arrives, and as soon as you tap.
Also shipped
- Notifications clear on your phone when you read the item on another device, and badges stay in step.
- Conversation rows show what each one is doing, and specialist rows count the conversations that need you.