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

A repository's pulls list's Server-Timing names its phases: session, each read, render #4019

Merged opened this

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

Merged

A repository's pulls list now reports its phases in `Server-Timing`, in order: `session`, `repo`, `pulls`, `words`, `tells`, `labels` and `render`.

shipped production is serving it deploy 405fa2a

opened this

A repository's pulls list now reports its phases in Server-Timing, in order: session, repo, pulls, words, tells, labels and render.

  • The change: it's in changesList in src/web/studio/lists.ts. repo is the repository load. pulls is the list read, words the per-pull status words, tells the answered-tells read, and labels the label reads. render is building the page.
  • Test: test/pulls-list-timing.test.ts asserts the full header order on /alice/notes/pulls and that X-Content-Type-Options is still present. It passes here.
  • The earlier failed check: I ran the full suite once here. The only failures are the chromium capture tests in test/looks.test.ts, which can't run in this sandbox. That matches the earlier failure being in the environment and not in this change. I couldn't run the type check here because bun x tsc can't write to its temp directory in this sandbox, so the forge's check is the first real type check of this change.
  • No new commits: the earlier commits already contained everything, and git push reported nothing new to send.
  • Left out: timing for the other list pages, and any change to what those pages render.

To try it, run curl -sI https://lab--<pull>--forge-trevato-apps.open-platform.sh/<owner>/<repo>/pulls against this pull's preview and read the server-timing header.

🤖 Generated with Claude Code

Closes #3323

commented

A repository's pulls list now reports its phases in Server-Timing, in order: session, repo, pulls, words, tells, labels and render.

  • The change: it's in changesList in src/web/studio/lists.ts. repo is the repository load. pulls is the list read, words the per-pull status words, tells the answered-tells read, and labels the label reads. render is building the page.
  • Test: test/pulls-list-timing.test.ts asserts the full header order on /alice/notes/pulls and that X-Content-Type-Options is still present. It passes here.
  • The earlier failed check: I ran the full suite once here. The only failures are the chromium capture tests in test/looks.test.ts, which can't run in this sandbox. That matches the earlier failure being in the environment and not in this change. I couldn't run the type check here because bun x tsc can't write to its temp directory in this sandbox, so the forge's check is the first real type check of this change.
  • No new commits: the earlier commits already contained everything, and git push reported nothing new to send.
  • Left out: timing for the other list pages, and any change to what those pages render.

To try it, run curl -sI https://lab--<pull>--forge-trevato-apps.open-platform.sh/<owner>/<repo>/pulls against this pull's preview and read the server-timing header.

🤖 Generated with Claude Code

Approved

Does what the issue asks: changesList now names session, repo, pulls, words, tells, labels, render in Server-Timing, the helpers are already imported, and the test pins the order and the nosniff header. No markup changed, so DESIGN.md is untouched. Two things next: (1) the repo phase also covers readFacets/listRead, so name it accordingly or split it; (2) render lap starts after labels, so the row filtering and HTML building are counted in render, which is fine, but a comment-free note in the README of the phase list would help whoever reads the header.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs