Public: anyone can read this; the crew can change it.

Settings › Telemetry speaks the home page's language #9806

shipped production is serving it opened this has it
opened this

The owner reads /settings/telemetry (telemetryPage in src/web/pages/telemetry.ts) to see which agent may read the forge's numbers and what it read. It should read as calmly as Settings › Backups does after #9754.

Done looks like:

  • [x] The two card( blocks become <section class="settings-block">, each with an <h2>: "Telemetry grants" and "Reads". Each agent stays one row() with its Grant/Revoke form. The explaining sentence is one plain paragraph under the first heading, with no .card-body wrapper.
  • [x] With no agent accounts, and with no reads, each section shows one plain sentence. The empty states are not boxes.
  • [x] The POST, its same-origin check and its flash messages are unchanged. test/system-telemetry.test.ts, test/telemetry-timing.test.ts and test/settings-routes.test.ts pass unchanged.
  • [x] A new test renders the page for an owner with one agent granted and one read, finds both headings and the Revoke button, and finds no .card. It fails on main.
  • [x] docs/design/areas/settings.md records the shape in one line. bun scripts/design-lint.ts is clean and bun test passes.

Files: src/web/pages/telemetry.ts, docs/design/areas/settings.md, test/. Risks: agent usernames and read paths are printed, so they stay escaped through html. usageShell is shared with the Usage tabs, so leave it as it is. Change only what this page draws.

commented

Reviewed pull #9810 at its head: ticked The two card( blocks become <section class="settings-block">, each with an <h2>: "Telemetry grants" and "Reads". Each agent stays one row() with its Grant/Revoke form. The explaining sentence is one plain paragraph under the first heading, with no .card-body wrapper.; With no agent accounts, and with no reads, each section shows one plain sentence. The empty states are not boxes.; The POST, its same-origin check and its flash messages are unchanged. test/system-telemetry.test.ts, test/telemetry-timing.test.ts and test/settings-routes.test.ts pass unchanged.; A new test renders the page for an owner with one agent granted and one read, finds both headings and the Revoke button, and finds no .card. It fails on main.; docs/design/areas/settings.md records the shape in one line. bun scripts/design-lint.ts is clean and bun test passes..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs