This continues the series after a run's page (#3249). GET /:owner/:name/runs (runsListPage in src/web/studio/lists.ts) reports one opaque time today.
Done looks like:
[ ] runsListPage calls notePhase from src/core/route_timing.ts for three phases, the same way src/web/studio/explore.ts does:
- session, via takeSessionTime
- runs, reading the run rows
- render
[ ] A test in test/runs-list-timing.test.ts seeds two runs and GETs the list. It finds the three names in Server-Timing and fails without the change.
[ ] Nothing on the page changes.
Files: src/web/studio/lists.ts, test/runs-list-timing.test.ts.
Risks: none beyond the header. The security headers set in src/server.ts stay on every response.
This continues the series after a run's page (#3249). GET
/:owner/:name/runs(runsListPageinsrc/web/studio/lists.ts) reports one opaque time today.Done looks like:
runsListPagecallsnotePhasefromsrc/core/route_timing.tsfor three phases, the same waysrc/web/studio/explore.tsdoes:-
session, viatakeSessionTime-runs, reading the run rows -rendertest/runs-list-timing.test.tsseeds two runs and GETs the list. It finds the three names inServer-Timingand fails without the change.Files:
src/web/studio/lists.ts,test/runs-list-timing.test.ts. Risks: none beyond the header. The security headers set insrc/server.tsstay on every response.