Repository navigation
Large-thread performance
- Replaced repeated durable full-history snapshots with one bootstrap/resync snapshot followed by incremental conversation, state, stats, queue, tool, compaction, and subagent events.
- Closed abandoned SSH channels when leaving a thread, preventing old snapshot streams from continuing to consume the phone's
pi-sshthreads. - Made historical tool-image hydration visible-only, deduplicated, and limited to two concurrent requests instead of fetching every image in lifetime history.
- Added fail-closed event-listener handling and fixed compaction resume, tool-call delta, Unicode trim, stale-state, and metadata/stat update edge cases.
Subagents
- Keep the composer available while parent or background agents work.
- Show an aggregate
1 agent at work/N agents at workstatus; tap it to open the session's Subagents screen. - Added direct, explicitly targeted steering for running subagents and guarded follow-up turns for idle durable subagents.
- Route completed background reports to their delegating run without steering an unrelated later user turn.
Transport diagnostics
- Added a dedicated Thread Info → Transport diagnostics screen with newest-first records and independent scrolling.
- Diagnostics are bounded to 128 entries / 48 KiB per watched session and discarded with the watch.
- Structural summaries expose record kinds, state transitions, counts, block/role shapes, sizes, and omission markers while excluding transcript text, image bytes, tool payloads, credentials, headers, paths, errors, and arbitrary identifiers.
Validation
- Full hosted tests, formatting, Clippy, packaging policy, native UI screen checks, and all platform package jobs passed.
- Durable runner: 46 tests; real durable fixture: 14 tests; Android library: 255 passed with 2 environment-dependent tests ignored.
Full changelog: v0.0.9...v0.0.10