d3e4b50e68
Close session rows left ended_at IS NULL when the in-process websocket orphan timer dies with the process (#65194). Dual-clock staleness (started_at AND newest message), desktop included, live in-memory sessions excluded, scheduled once from both entry.main and the WS sidecar so desktop/dashboard boots also run the sweep.