Skip to content

v3.1.3 — Mio Island

Latest

Choose a tag to compare

@carey314 carey314 released this 13 Aug 13:58
· 2 commits to main since this release

Mio Island v3.1.3

社区反馈驱动的 bug 修复版本 —— 特别感谢 @george-wyy(#95 / #96 / PR #97)和 @JiaqiLe(#99)两份教科书级的问题报告。

🐛 修复

手机 → 终端消息注入(#96,PR #97 by @george-wyy)

  • 多行消息不再被拆成多条:旧逻辑把每个换行替换成 \r(即回车键),一条多行消息会被拆成 N 条分别提交
  • 长消息不再卡在输入框:超过 ~128 字节的消息此前会静默搁浅在 composer 里不提交,而手机端还显示"已送达"
  • 修法:整条 cmux 注入路径改用真实 Enter 按键事件(send + send-key enter),对任意长度、任意 agent(Claude / Codex / Gemini / opencode)都正确

中文/非 ASCII 工作目录下对话正文只显示「...」(#99 by @JiaqiLe)

  • MioIsland 的项目目录编码与 Claude Code 不一致,中文路径下找不到会话 JSONL
  • 修法:新增 UUID 全局兜底搜索 —— session/agent ID 全局唯一,编码路径 miss 后直接按文件名扫描 ~/.claude/projects/,不依赖任何编码规则,覆盖 6 个点位(会话解析 / agent 工具 / 文件监听 / 中断监听)

cmux 桥接四连修(#95 by @george-wyy)

  1. 诊断页识别 socket ACL:「测试发送」失败时检测 cmux 的 socketControlMode,是 cmuxOnly 时直接给出可操作提示(改 automation + 完全重启 cmux),不再让用户在 TCC 权限里白折腾
  2. 中继僵尸连接自愈:连续 3 次上行 ack 超时 → 强制重建连接(60s 冷却),半开连接不再需要重启 App 才恢复手机推送
  3. resume 会话复活:cmux 重启后被 --resume 拉起的会话不再永久卡在 phase=ended,前进型 hook 自动重新激活,手机推送恢复
  4. 日志不再无限膨胀:10MB 自动轮转(保留一份 .log.1 备份)+ 连续重复行折叠为 repeated N× 摘要。实测一台 165MB 日志的机器升级后即刻收敛

📦 安装

  • 首次安装:下载 DMG,右键 → 打开(或 xattr -dr com.apple.quarantine "/Applications/Mio Island.app")
  • 已装用户:Sparkle 自动更新会在数小时内推送,也可手动检查更新

✅ 验证说明

  • #99 有独立回归测试(scripts/test-nonascii-session-scan.swift,真实文件系统 4/4 通过)
  • #95-4 日志轮转在 165MB 真实日志上验证通过
  • #95-2 重连阈值(3 次 / 60s)为首版经验值,欢迎带日志反馈调参
  • #96 修法与报告者的 cmux CLI 实测结论一致(PR #97)