Cloud page: no raw machine id in a machine's Overview; Loading… only once the first read lasts

Merged
TE
2d ago
+93-138

Leo, 2026-11-05: "We don't need to have so much ceremony. ... it doesn't just work if you're displaying BS UI." His list of what that means includes internal ids shown to people (the vm_… id) and progress for work that takes under about a second.

1. No raw machine id on the Cloud page. A machine's Overview opened with a row labelled ID showing its vm_… id in monospace. The row is gone; Copy Machine ID (the command palette and the machine's menu) still copies it for anyone who needs it. The unused field.id string goes with it.

2. Loading… only once the first read lasts. The page drew "Loading…" for the moment its first account and machine read took, which on a normal open is well under a second: a flash of text before the list. It now stays blank until the read has lasted 1 s (useLoadingShown in ui/lasting.ts, beside the page's existing useLasting grace for a lost link). A failure still shows its card and Retry at once, as before. The gallery's zero grace shows the loading variant at once, so the stage is unchanged.

Test: CloudPage.loading.test.tsx: a read that never answers shows no .cloud-loading at 900 ms and "Loading…" at 1100 ms. The existing CloudPage.retry.test.tsx still passes (its assertions are that no loading line shows on failure and after recovery).

Part of the NEXT UI ceremony audit (leo-workspace research/next-ui-ceremony-audit-2026-11-05.md).

Agent session: agent session

🤖 Generated with Claude Code


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Removes the raw machine ID from a machine's Overview on the Cloud page, and delays the "Loading…" line so it no longer flashes on quick opens.

  • A machine's Overview no longer shows a row labelled ID with its vm_… id; Copy Machine ID in the palette and the machine's menu still works, and the unused field.id string is removed.
  • The page stays blank until the first read has lasted 1 s (useLoadingShown in ui/lasting.ts). A failed read still shows its card and Retry at once, and the gallery's zero grace shows the loading variant as before.
  • New CloudPage.loading.test.tsx checks that a never-answering read shows no loading line at 900 ms and "Loading…" at 1100 ms; the existing retry test still passes.