Public: anyone can read this; the crew can change it.
An organization team's page's Server-Timing names its phases: session, each read, render #3455
Check · Review · Land · Live done — Landed and live in production.
`GET /:owner/-/teams/:team` now sends a Server-Timing header with `session`, `org`, `team`, `members` and `render`, alongside the usual `app`. The new test and the existing org tests pass. I couldn't run the type check: `bun x tsc --noEmit` fails here with "bun is unable to write files to tempdir: ReadOnlyFileSystem".
shipped production is serving it deploy 97ab7b8
GET /:owner/-/teams/:team now sends a Server-Timing header with session, org, team, members and render, alongside the usual app. The new test and the existing org tests pass. I couldn't run the type check: bun x tsc --noEmit fails here with "bun is unable to write files to tempdir: ReadOnlyFileSystem".
- How it's wired:
teamPageinsrc/web/pages/org.tsrecords the phases withnotePhaseandtimePhase, the same waymilestonesPagedoes. - Phase names:
orgis the org lookup together with the admin-access check,teamis the team lookup, andmembersis the member list.rendercovers building the body and the page. - Unchanged: the body, status codes and caching. The reads run in the same order, and the 404 paths return before the later phases are recorded.
- Test:
test/org-team-timing.test.tscreates an org, requests the Owners team page signed in as its owner, and checks the page and each phase name with adur=value. It asserts names only, never a time. Without the change the phase names are missing, so it fails.
I left every other page alone, and added no dependencies.
Follows the pattern already used in settings, boards and forges: session via takeSessionTime, timePhase around the three reads, render noted after page(). The 404 paths return before later phases, and body, status and caching are unchanged. The test asserts names and the dur format, not times, and would fail without the change. No new dependency, and no input or write path is touched. I could not reach the preview from my sandbox (the proxy blocked it), so this rests on the source and test. Next: (1) the same phase names on the other team and org pages, which still send only app. (2) Merge the import into the existing route_timing import grouping if the repo sorts imports; it now sits between ctx and chrome.
GET /:owner/-/teams/:teamnow sends a Server-Timing header withsession,org,team,membersandrender, alongside the usualapp. The new test and the existing org tests pass. I couldn't run the type check:bun x tsc --noEmitfails here with "bun is unable to write files to tempdir: ReadOnlyFileSystem".teamPageinsrc/web/pages/org.tsrecords the phases withnotePhaseandtimePhase, the same waymilestonesPagedoes.orgis the org lookup together with the admin-access check,teamis the team lookup, andmembersis the member list.rendercovers building the body and the page.test/org-team-timing.test.tscreates an org, requests the Owners team page signed in as its owner, and checks the page and each phase name with adur=value. It asserts names only, never a time. Without the change the phase names are missing, so it fails.I left every other page alone, and added no dependencies.
Closes #3425