Patch release
- Keeps the current Action Bar frame visible across tool rounds, API retries, and paragraph boundaries until the next renderable text replaces it.
- Removes empty-frame transitions: the first visible text is pushed immediately, while later deltas remain throttled.
- Refreshes the retained frame at low frequency during long waits and lets the final successful frame fade naturally. Failures and cancellation still clear immediately.
- Adds a configurable actionbar_thinking message with the default Thinking...
- Raises the default API retry count from two to five retries after the initial request.
- Expands regression coverage for CRLF chunk boundaries, Markdown, replacement timing, keep-alive lifecycle, and cancellation.
Upgrade note: an existing config.yml that explicitly contains max_retries: 2 keeps that value; change it to 5 to adopt the new default. Existing message.yml files may omit actionbar_thinking and will safely fall back to Thinking...
Validated with all 150 tests passing on Java 25.
补丁版本
- Tool 轮次、API 重试与段落切换期间保留当前 Action Bar,直到下一段真正可显示的文字原位替换。
- 消除空帧切换:首个可见内容立即推送,后续流式增量继续按节流策略合并。
- 长时间等待时低频刷新保留画面;正常完成后让最终画面自然淡出,失败与取消仍立即清理。
- 新增可配置的 actionbar_thinking 文案,默认值为 Thinking...
- API 默认重试次数由首次请求后的两次提升为五次。
- 扩充 CRLF 跨分片、Markdown、替换时机、保活生命周期与取消路径的回归测试。
升级提示:已有 config.yml 若显式包含 max_retries: 2,会继续使用该值;需要手工改为 5 才会采用新默认。旧 message.yml 缺少 actionbar_thinking 时会安全回退为 Thinking...
已在 Java 25 下通过全部 150 项测试。