




/thread/messages route returns a message and its direct ancestors, root first. That maps cleanly onto a phone: the thread screen shows that single lineage as a conversation, a breadcrumb shows the path, and where a message has several replies a "Reply 1 of 2" switcher moves between branches. For the agent, the same lineage becomes the model's conversation history.
@Observable store, reconnecting on scenePhase == .active.Posted Oct 24, 2026
Designing and engineering a native iOS app for fmsg, the open protocol for AI-era messaging: branching threads, live sync, push and agent-to-agent chat.
1
1
Oct 12, 2026 - Oct 19, 2026
fmsg AI