π Encrypted remote control (TLS)
The remote control server now speaks TLS end-to-end, with self-signed certificates and trust-on-first-use (TOFU) pinning:
- Dual-stack server β HTTP and TLS share a single port (detected by peeking at the ClientHello)
- TLS enabled by default for fresh installs; existing installs stay on HTTP until upgraded
- Auto-detect and auto-upgrade to TLS on connect (TLS-first, HTTP fallback)
- Verify the certificate fingerprint before trusting a pin β shown in the pairing dialog, CLI, and headless mode
- Sidebar warning + one-click "Upgrade to TLS" for existing non-TLS connections
- Loud warning when binding to a non-loopback address without encryption
- End-to-end handshake + pinning test (desktop β desktop)
π€ Agent-friendly CLI
- New command surface built on clap
run --waitplus a self-installing agent skill- Control settings, theme, and the command palette from the CLI
- Window model in remote state + per-window action targeting
π Usage panel
- Per-hour / per-day grid with current-segment highlighting and an over-pace warning
- Grid anchored to each user's actual reset time
ποΈ Sidebar & projects
- Activity-sorted project view with pinning
- Toggle focus off and pin the header in focused view
- Project visibility toggle now reflects hidden state correctly
π§Ή Terminal soft-close
- Grace-period soft close with undo
- Two-line close toast showing the running command + cwd, plus terminal and project
β‘ Performance & memory
- Lower RSS via jemalloc (Unix), mimalloc, and a gix repo cache
- Smaller cmd-bus worker pools (4/4/2)
- Bounded per-turn parse work in the terminal; reuse the reqwest client across remote events
πΎ Crash-safe persistence
- Atomic, fsync-backed writes for settings, named sessions, and export
- No longer latches saves off on an empty save
β¨ Other improvements
- Markdown: render YAML frontmatter as a metadata card (migrated to
serde_yaml_ng) - Git: keyboard navigation in the branch switcher
- Paste clipboard images into remote terminals
- Discoverability tips on the empty terminal screen
- Layout fixes (active-tab clamping, double-decrement on close)
π± Mobile client β in development, not yet released
Note: The mobile client is still under active development and is not part of this release. The items below are work-in-progress.
- Rebased the iOS work onto
main+ scaffolded the Flutter β React Native migration - TLS + cert pinning plumbed through the connection manager
- Fixed an unbounded connection leak on reconnect/re-pair