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

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

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

Settings › Telemetry (`telemetryPage()` in `src/web/pages/telemetry.ts`) now has no cards. Its two cards are now two `<section class="settings-block">` blocks headed "Telemetry grants" and "Reads", the same layout Settings › Backups got in #9754.

shipped production is serving it deploy a5a2512

opened this

Settings › Telemetry (telemetryPage() in src/web/pages/telemetry.ts) now has no cards. Its two cards are now two <section class="settings-block"> blocks headed "Telemetry grants" and "Reads", the same layout Settings › Backups got in #9754.

  • Telemetry grants: the explaining sentence is a plain paragraph with no .card-body wrapper. Each agent is still one row() in a .setting-list with its Grant/Revoke form.
  • Reads: the read rows are unchanged.
  • Empty states: with no agent accounts, or no reads, the section shows one plain sentence, not a box.
  • Unchanged: the POST handler, its same-origin check, the flash messages, the Server-Timing phases and usageShell. Agent usernames and read paths still go through html, so they stay escaped.
  • New test: test/telemetry-blocks.test.ts checks the empty page (both headings, the two plain sentences, no card classes). It also checks an owner with one granted agent and one read: both headed sections, the Revoke form inside the grants section, the read path escaped inside Reads, and no .card. Both tests fail on main.
  • Docs: docs/design/areas/settings.md has one line recording the layout. No new class.

I chose not to touch usageShell, the Usage tabs, or the icons the old card heads carried. The new sections use plain <h2>s like Backups.

Checks: bun scripts/gate.ts, bun x tsc --noEmit and bun scripts/design-lint.ts are clean. test/system-telemetry.test.ts, test/telemetry-timing.test.ts and test/settings-routes.test.ts pass unchanged, along with the other telemetry, settings, usage and design test files (205 tests across 40 files). scripts/fast.ts named 1,222 test files for this change, far over its own time budget, so I picked those files by hand rather than run its whole list. The issue asked me to keep a plan with a keep_plan tool, but that tool isn't available in this run, so the issue has no plan.

To try it, sign in as the owner and open /settings/telemetry on this pull's preview, both before and after creating an agent account.

🤖 Generated with Claude Code

Closes #9806

commented

Settings › Telemetry (telemetryPage() in src/web/pages/telemetry.ts) now has no cards. Its two cards are now two <section class="settings-block"> blocks headed "Telemetry grants" and "Reads", the same layout Settings › Backups got in #9754.

  • Telemetry grants: the explaining sentence is a plain paragraph with no .card-body wrapper. Each agent is still one row() in a .setting-list with its Grant/Revoke form.
  • Reads: the read rows are unchanged.
  • Empty states: with no agent accounts, or no reads, the section shows one plain sentence, not a box.
  • Unchanged: the POST handler, its same-origin check, the flash messages, the Server-Timing phases and usageShell. Agent usernames and read paths still go through html, so they stay escaped.
  • New test: test/telemetry-blocks.test.ts checks the empty page (both headings, the two plain sentences, no card classes). It also checks an owner with one granted agent and one read: both headed sections, the Revoke form inside the grants section, the read path escaped inside Reads, and no .card. Both tests fail on main.
  • Docs: docs/design/areas/settings.md has one line recording the layout. No new class.

I chose not to touch usageShell, the Usage tabs, or the icons the old card heads carried. The new sections use plain <h2>s like Backups.

Checks: bun scripts/gate.ts, bun x tsc --noEmit and bun scripts/design-lint.ts are clean. test/system-telemetry.test.ts, test/telemetry-timing.test.ts and test/settings-routes.test.ts pass unchanged, along with the other telemetry, settings, usage and design test files (205 tests across 40 files). scripts/fast.ts named 1,222 test files for this change, far over its own time budget, so I picked those files by hand rather than run its whole list. The issue asked me to keep a plan with a keep_plan tool, but that tool isn't available in this run, so the issue has no plan.

To try it, sign in as the owner and open /settings/telemetry on this pull's preview, both before and after creating an agent account.

🤖 Generated with Claude Code

commented

Settings › Telemetry (telemetryPage() in src/web/pages/telemetry.ts) now has no cards. Its two cards are now two <section class="settings-block"> blocks headed "Telemetry grants" and "Reads", the same layout Settings › Backups got in #9754.

  • Telemetry grants: the explaining sentence is a plain paragraph with no .card-body wrapper. Each agent is still one row() in a .setting-list with its Grant/Revoke form.
  • Reads: the read rows are unchanged.
  • Empty states: with no agent accounts, or no reads, the section shows one plain sentence, not a box.
  • Unchanged: the POST handler, its same-origin check, the flash messages, the Server-Timing phases and usageShell. Agent usernames and read paths still go through html, so they stay escaped.
  • New test: test/telemetry-blocks.test.ts checks the empty page (both headings, the two plain sentences, no card classes). It also checks an owner with one granted agent and one read: both headed sections, the Revoke form inside the grants section, the read path escaped inside Reads, and no .card. Both tests fail on main.
  • Docs: docs/design/areas/settings.md has one line recording the layout. No new class.
  • Gate fix: the first push had no Try: line in any commit message, so the "say how to try it on the preview" rule failed. A second, empty commit adds that line. With FORGE_CHECK_BASE set to main's commit, bun scripts/gate.ts fails on the first commit alone and passes with the second.

I chose not to touch usageShell, the Usage tabs, or the icons the old card heads carried. The new sections use plain <h2>s like Backups.

Checks: bun scripts/gate.ts, bun x tsc --noEmit and bun scripts/design-lint.ts are clean. test/system-telemetry.test.ts, test/telemetry-timing.test.ts and test/settings-routes.test.ts pass unchanged, along with the other telemetry, settings, usage and design test files (205 tests across 40 files). scripts/fast.ts named 1,222 test files for this change, far over its own time budget, so I picked those files by hand rather than run its whole list. The issue asked me to keep a plan with a keep_plan tool, but that tool isn't available in this run, so the issue has no plan.

Try: sign in as the owner and open /settings/telemetry on the preview. Create an agent under Settings › Crew to see its Grant row.

🤖 Generated with Claude Code

commented

Settings › Telemetry (telemetryPage() in src/web/pages/telemetry.ts) now has no cards. Its two cards are now two <section class="settings-block"> blocks headed "Telemetry grants" and "Reads", the same layout Settings › Backups got in #9754.

  • Telemetry grants: the explaining sentence is a plain paragraph with no .card-body wrapper. Each agent is still one row() in a .setting-list with its Grant/Revoke form.
  • Reads: the read rows are unchanged.
  • Empty states: with no agent accounts, or no reads, the section shows one plain sentence, not a box.
  • Unchanged: the POST handler, its same-origin check, the flash messages, the Server-Timing phases and usageShell. Agent usernames and read paths still go through html, so they stay escaped.
  • New test: test/telemetry-blocks.test.ts checks the empty page (both headings, the two plain sentences, no card classes). It also checks an owner with one granted agent and one read: both headed sections, the Revoke form inside the grants section, the read path escaped inside Reads, and no .card. Both tests fail on main.
  • Docs: docs/design/areas/settings.md has one line recording the layout. No new class.
  • Gate fix: an empty commit carries the Try: line that the "say how to try it on the preview" rule asks for.
  • Merge with main: the only conflict was in docs/design/areas/settings.md. This branch and main's Settings › Trusted change (#9792) each added a paragraph at the end of the file, so both paragraphs are kept, Telemetry first.

I chose not to touch usageShell, the Usage tabs, or the icons the old card heads carried. The new sections use plain <h2>s like Backups.

Checks after the merge: bun scripts/gate.ts, bun x tsc --noEmit and bun scripts/design-lint.ts are clean. The three telemetry and settings test files the issue names, the new test and test/trusted-sources.test.ts pass (51 tests), and so do the design and docs test files (110 tests). Before the merge, the other telemetry, settings and usage test files also passed (205 tests across 40 files). scripts/fast.ts named 1,222 test files for this change, far over its own time budget, so I picked those files by hand rather than run its whole list. The issue asked me to keep a plan with a keep_plan tool, but that tool isn't available in this run, so the issue has no plan.

Try: sign in as the owner and open /settings/telemetry on the preview. Create an agent under Settings › Crew to see its Grant row.

🤖 Generated with Claude Code

Approved

Clean. The two cards are now settings-block sections with h2s. Each agent stays one row() with its Grant/Revoke form. Empty states are one plain sentence. The POST, same-origin check and flash messages are untouched. Output stays escaped, and the new test pins that. The terminal screen already exists. No new class, no dependency, and the README is untouched. I could not view the signed-in page on the preview (it answers 303 to sign-in without a session), so the layout is judged from the diff and the test.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs