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

The people page's Server-Timing names its phases: session, each read, render #4035

Merged opened this

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

Merged

The people page's `Server-Timing` header now names its phases: `session`, `people` and `render`. The role POST is timed too, with `session` and `role`.

shipped production is serving it deploy f5d5671

opened this

The people page's Server-Timing header now names its phases: session, people and render. The role POST is timed too, with session and role.

I made no code changes this run. The branch already carried both commits, and git push reported nothing new to send. I re-checked it here:

  • Tests: the three tests in test/people-timing.test.ts pass. The only people-related test file in the repo is this one.
  • Checks: tsc --noEmit and scripts/gate.ts both come back clean.
  • Earlier failure: pull #3356 failed in the place the check ran, not in this change. I could not reproduce it from here, so it needs a re-run of the forge check to confirm.
  • Admin only: a non-admin gets no timing phases, and a test asserts that.
  • Left out: I did not add a phase for each read on the people page, because the page has only the one read. The people phase covers it.
  • To try it: open /people as an admin and read the Server-Timing response header.

The change is in src/web/pages/people.ts.

Closes #3276

commented

The people page's Server-Timing header now names its phases: session, people and render. The role POST is timed too, with session and role.

I made no code changes this run. The branch already carried both commits, and git push reported nothing new to send. I re-checked it here:

  • Tests: the three tests in test/people-timing.test.ts pass. The only people-related test file in the repo is this one.
  • Checks: tsc --noEmit and scripts/gate.ts both come back clean.
  • Earlier failure: pull #3356 failed in the place the check ran, not in this change. I could not reproduce it from here, so it needs a re-run of the forge check to confirm.
  • Admin only: a non-admin gets no timing phases, and a test asserts that.
  • Left out: I did not add a phase for each read on the people page, because the page has only the one read. The people phase covers it.
  • To try it: open /people as an admin and read the Server-Timing response header.

The change is in src/web/pages/people.ts.

Approved

Matches the notePhase/takeSessionTime/timePhase pattern used in commits, settings, boards-view and returns. Timing is noted only after the admin gate, so non-admins see no phases (tested). No markup changed, so DESIGN.md is untouched. Tests cover GET phases, the non-admin 404 and the role POST. Next: (1) the render phase times only page() construction, so say so in a comment or fold it into the response path if you want total render time; (2) the test header cites #3276 while the pull is #4035, so fix the reference.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs