v1.8.5 — pipe heartbeat & flaky-link detection
Fleet reliability + observability release. All components → 1.8.5.0. No database schema change since 1.8.0.
Named-pipe agent heartbeat
- The Helper (updater) reads agent liveness over the agent's read-only status pipe (
RemoteAgent.status→LastHeartbeatUtc) instead of a heartbeat file — fixes a file-race that could report a bogus ~9.2e11-second "stale heartbeat" and force a needless agent restart. - A two-poll confirmation keeps a single transient blip from restarting a healthy agent. The legacy heartbeat file is still written for an older, file-based Helper during a rolling update and self-retires once the co-located Helper is the new pipe-aware build.
Flaky-link detection (observability only)
- The device list now tells "alive but on a poor network" (frequent C2 reconnects → amber
◐ flaky) apart from "offline / dead" (○ offline), with the reconnect count in the tooltip and a Link row in the telemetry panel. - Computed server-side from in-memory C2 connection churn (last hour). Pure observability — never triggers a restart. Backward/forward compatible (older clients ignore the new field; an older server leaves it dormant).
Database
- No schema change in 1.8.5. The only column added since 1.7.0 is
Users.KeylessOperator(1.8.0). The attachedupgrade.sqlapplies it idempotently (ADD COLUMN IF NOT EXISTS) when upgrading a 1.7.x database — a no-op where it already exists. Fresh installs get it fromschema.sql.
Assets
- Windows (self-contained, single-file):
RemoteAgent.exe,RemoteAgent.Updater.exe,RemoteClient.exe,RemoteClient.Lite.exe - Linux:
RemoteServer-linux-x64.tar.gz,remoteclient_1.8.5_amd64.deb upgrade.sql— optional, idempotent DB upgrade