$ the-wire · showcase
iMessage RPC framing fixed after head-of-line jam
By RepoJournal · Filed · About OpenClaw
OpenClaw fixes iMessage RPC framing that caused a receive jam, plus Codex timeout diagnostics and reply preservation.
A fix for iMessage RPC framing lands: [1] the `node:readline` reader previously split JSON-RPC responses on raw U+2028/U+2029 characters inside string values, fragmenting valid responses and failing `JSON.parse`. This caused a head-of-line receive jam with repeated parse errors and pending RPC requests timing out. The new framing parses on LF only.
Codex completion-watch reliability improves with two changes. [2] Codex-specific timeout diagnostics now surface after the retry path is exhausted, including bounded assistant text previews without raw prompt or tool content; progress and terminal watch timeouts stay generic. [3] Completed assistant replies are preserved when the app-server client closes before `turn/completed`, whereas partial output and active-item failures still report client-close errors.
OpenAI audio transcription auth now resolves through the `openai-audio-transcriptions` API contract, [4] so OAuth profiles are rejected for that endpoint and the platform API key is used. Also, Anthropic streaming now defers the `start` event until after `message_start`, [5] fixing extended thinking sessions that became permanently broken after a gateway restart or five-minute prompt-cache expiry.
Docs polish continues with a French glossary expansion, [6] adding 27 mappings to guide translation of page titles and common terms.
Action items
- → Deploy the iMessage RPC framing fix and watch feeds openclaw/openclaw [immediate]
- → Review Codex diagnostics and reply preservation behavior openclaw/openclaw [plan]
- → Check OpenAI audio auth with mixed OAuth and API key setups openclaw/openclaw [plan]
References
- [1] fix(imessage): frame rpc stdout on LF only ↗ openclaw/openclaw
- [2] fix(codex): report completion timeout diagnostics ↗ openclaw/openclaw
- [3] fix(codex): preserve completed replies after client close ↗ openclaw/openclaw
- [4] Fix OpenAI audio auth to use API keys ↗ openclaw/openclaw
- [5] fix(llm): defer Anthropic stream start event until after message_start ↗ openclaw/openclaw
- [6] i18n(fr): expand French glossary with page titles and common terms ↗ openclaw/docs