[VERSION]
FIX
[DATE]
5 changes · daemon + apps
Timeouts, clocks and offline
Held calls now expire on the host clock, not the clock of the device.
- Countdown rings read the daemon deadline, not the device clock.
- Approve and Deny are disabled while a device is offline.
- The offline screen states how stale the view is, in minutes.
- Extending a held call by +5m clears the DENYING SOON state.
- Failed sessions keep their exit code across a daemon reconnect.
[VERSION]
FEATURE
[DATE]
4 changes · policy engine
Spans, budgets and breakers
Subagent work nests inside its session, and policies can carry a budget.
- The inbox shows a span chain per session, not a row per tool call.
- Policies take a per-window budget, counted per host and per agent.
- A breaker opens after three denials in ten minutes and holds later calls.
- Rate-limit meters for claude-code, codex and opencode, with reset times.
[VERSION]
SECURITY
[DATE]
4 changes · pairing + relay
Pairing and revocation
Pairing codes are single use; revoking a device ends access everywhere.
- Pairing confirms a six-word fingerprint on the host and on the device.
- Revoking a device drops its keys on every host and ends its sessions.
- The relay discards routing metadata for a device once it is revoked.
- The daemon refuses to start if its key file is readable by other users.
[VERSION]
FEATURE
[DATE]
3 changes · hosts
Many hosts, one inbox
One device can supervise several hosts, sorted by attention then recency.
- The hosts pane shows latency and marks a host degraded above 200 ms.
- Session IDs stay stable across daemon restarts, so links keep working.
- Search covers sessions, hosts and held commands on every paired host.