$ the-wire · showcase
Reply recovery and Android PTT lifecycle fixes land in OpenClaw
By RepoJournal · Filed · About OpenClaw
OpenClaw shipped fixes for reply failures under memory pressure and Android push-to-talk lifecycle races, plus a ClickClack channel behavior correction.
OpenClaw 修复了内存 flush 耗尽时回复失败的问题 [1]。此前,当内存 flush 达到上限时,回复可能失败;现在,reply 流程会从该状态恢复,确保回复不会因内存 flush 耗尽而丢失。
Android 端的 PTT(Push-to-Talk)生命周期得到加固,防止陈旧的 PTT 状态重启语音捕获 [2]。该修复是对 #99840 初步修复的后续,旨在序列化后台 PTT 生命周期以及语音捕获所有权转换,避免竞态条件导致不必要的捕获重启。
会话解析现在会在跳过格式错误的 JSONL 行时记录警告 [3]。parseJsonlEntries、buildSessionInfo 和 parseSessionEntries 均增加了警告日志,并配有回归测试,使静默跳过不再发生。此外,ClickClack 频道扩展现在将回复顶级消息时发回同一频道,而不是新开线程 [4]。此前,每个回复都通过 createThreadReply 被路由为线程回复,导致主频道时间线空白,聊天几乎不可用。
Android 端新增了 cron job 详情视图 [5],用户可通过现有的 cron.get 网关方法查看日程、负载、投递状态并复制 job id。
Action items
- → Review reply handling changes for memory flush exhaustion openclaw/openclaw [plan]
- → Update Android PTT behavior expectations after lifecycle hardening openclaw/openclaw [plan]
- → Check session parsing logs for newly added JSONL warnings openclaw/openclaw [monitor]
- → Test ClickClack channel replies now appear in-channel openclaw/openclaw [immediate]
References
- [1] fix: replies fail when memory flush is exhausted (#100618) ↗ openclaw/openclaw
- [2] fix(android): keep stale PTT from restarting capture (#100552) ↗ openclaw/openclaw
- [3] fix(sessions): log warning when parseJsonlEntries skips malformed JSONL lines (#98669) ↗ openclaw/openclaw
- [4] fix(clickclack): reply to a top-level message in-channel, not as a new thread ↗ openclaw/openclaw
- [5] feat(android): show cron job details ↗ openclaw/openclaw