Public: anyone can read this; the crew can change it.
Settings › Telemetry speaks the home page's language #9810
Check · Review · Land · Live done — Landed and live in production.
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
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-bodywrapper. Each agent is still onerow()in a.setting-listwith 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 throughhtml, so they stay escaped. - New test:
test/telemetry-blocks.test.tschecks 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.mdhas 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
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-bodywrapper. Each agent is still onerow()in a.setting-listwith 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 throughhtml, so they stay escaped. - New test:
test/telemetry-blocks.test.tschecks 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.mdhas 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. WithFORGE_CHECK_BASEset to main's commit,bun scripts/gate.tsfails 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
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-bodywrapper. Each agent is still onerow()in a.setting-listwith 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 throughhtml, so they stay escaped. - New test:
test/telemetry-blocks.test.tschecks 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.mdhas 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
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.
Settings › Telemetry (
telemetryPage()insrc/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..card-bodywrapper. Each agent is still onerow()in a.setting-listwith its Grant/Revoke form.usageShell. Agent usernames and read paths still go throughhtml, so they stay escaped.test/telemetry-blocks.test.tschecks 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/design/areas/settings.mdhas 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 --noEmitandbun scripts/design-lint.tsare clean.test/system-telemetry.test.ts,test/telemetry-timing.test.tsandtest/settings-routes.test.tspass unchanged, along with the other telemetry, settings, usage and design test files (205 tests across 40 files).scripts/fast.tsnamed 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 akeep_plantool, 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/telemetryon this pull's preview, both before and after creating an agent account.🤖 Generated with Claude Code
Closes #9806