Problem
While a turn streams in, the composer (mobile/src/components/Composer.tsx) only exposes a Send button. There is no way to stop/interrupt a running generation or a runaway autopilot loop from the phone.
Why it matters
"Stop generating" is table stakes in every comparable product (ChatGPT shows a red ■ Stop, Claude shows "Stop generating", VS Code Copilot Chat turns Send into a Stop/Send dropdown). For a coding agent companion it is also a safety control — the phone is exactly where you want a kill switch when you can't reach the keyboard.
Suggested fix
- Send a cancel/interrupt control message over the relay and have the extension call the SDK's interrupt path.
- While
status === 'live' and a turn is active, render the Send button as a Stop button.
References
Filed from a UI research sweep of the Helm mobile app (landing + live demo session) using Playwright + full source review, cross-referenced against Claude, ChatGPT, GitHub Copilot Chat, and Codex/Claude Code UIs.
Problem
While a turn streams in, the composer (
mobile/src/components/Composer.tsx) only exposes a Send button. There is no way to stop/interrupt a running generation or a runaway autopilot loop from the phone.Why it matters
"Stop generating" is table stakes in every comparable product (ChatGPT shows a red ■ Stop, Claude shows "Stop generating", VS Code Copilot Chat turns Send into a Stop/Send dropdown). For a coding agent companion it is also a safety control — the phone is exactly where you want a kill switch when you can't reach the keyboard.
Suggested fix
status === 'live'and a turn is active, render the Send button as a Stop button.References
Filed from a UI research sweep of the Helm mobile app (landing + live demo session) using Playwright + full source review, cross-referenced against Claude, ChatGPT, GitHub Copilot Chat, and Codex/Claude Code UIs.