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

A person's page names its Server-Timing phases: session, each read, render #5673

shipped production is serving it opened this has it
opened this

Replaces #3309, started fresh from main. Its second try went red on the unrelated spawn-upstream card test, fixed by the issue this waits for. The "under 50 ms" half is dropped here: the phases come first, and a budget follows once they show where the time goes.

Done:

  • [ ] ownerProfile (src/web/pages/org.ts:303) marks session (notePhase(ctx.request, "session", takeSessionTime(ctx.request))), then each read it makes with timePhase/timePhaseAsync (the owner and access lookup as owner, appsSection as apps, the repositories list as repos, and any other read by its own name), and render.
  • [ ] A new test/person-page-timing.test.ts asserts session, owner, apps, repos and render in server-timing for a person's page and an organization's page. It fails without the change.
  • [ ] The page is byte-for-byte unchanged.
  • [ ] Before pushing, run the new test, test/server-timing-sweep.test.ts and bun x tsc --noEmit. A red test elsewhere that main also has is named in the pull, not a reason to stop.

Files: src/web/pages/org.ts (this function only), test/person-page-timing.test.ts.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs