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

The OAuth consent page's Server-Timing names its phases: session, each read, render #3736

shipped production is serving it opened this has it
opened this

GET /oauth/authorize (authorizePage in src/web/pages/oauth.ts) is the page every MCP client sends a person to, and today its Server-Timing carries only the route total.

Done:

  • [ ] A signed-in GET /oauth/authorize with a valid client request answers with Server-Timing naming session, request (the parseAuthRequest read of the registered client) and render, using notePhase / timePhase from src/core/route_timing.ts the way src/web/pages/apps.ts does (#3403).
  • [ ] A refused request (unknown client, unregistered redirect) still names session and request.
  • [ ] The signed-out redirect to /signin is unchanged.
  • [ ] test/oauth-timing.test.ts asserts the phase names for both cases and would fail without the change; test/oauth-flow.test.ts still passes.

Files: src/web/pages/oauth.ts, test/oauth-timing.test.ts. Risk: small; keep the consent page's CSP, allowReturnTo and same-origin behaviour exactly as they are.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs