Improved
- A pane no longer dials a machine that has no open connection on each poll. It waits for the reconnect backoff; press Connect or Try again to dial now (#1875).
- SSH sign-in and host-key refusals stop all retries, and the machine row says what to fix (#1875).
- Sync status and Activity reads have one capped deadline, so they no longer end in a 30-second IPC timeout (#1876).
- The Activity presence heartbeat backs off on a bad network instead of flooding errors (#1876).
- A private brain starts at once when an old brain holds the main socket (#1878).
- The relay Workers retry through short Cloudflare D1 and Durable Object outages, and answer 503 with
Retry-Afterinstead of 500 (#1873). - ADE reports fewer expected states as errors, so real crashes stay inside the Sentry allowance (#1874).
Fixed
- Quit and brain shutdown no longer report false crashes (#1878).
- A project open no longer fails with “database is locked” during the sync table conversion (#1878).
- With no project open, file checks allow only Downloads, Documents and temp. Before, a blank project root allowed any path (#1879).
- Personal chats show their images on every surface, on macOS and Windows (#1879).
- Personal panes no longer ask for project terminals, and keep-awake works without a project (#1879).
iOS
- The activity drawer, chat transcript, composer and database work no longer block the main thread, and Sentry reports show readable iOS frames, in a new TestFlight build (#1877).
