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

The API's branches list names its Server-Timing phases: session, git, render #3889

shipped production is serving it opened this
opened this

Part of #3789, split after two pulls failed the check with src/http/api.ts(256,49): error TS2300: Duplicate identifier 'timePhaseAsync'. src/http/api.ts line 18 already imports notePhase, takeSessionTime, timePhase, timePhaseAsync from ../core/route_timing.ts: add no import line. Follow the pattern of GET /api/v1/repos/:owner/:name/pulls/:number in the same file.

Done:

  • [ ] GET /api/v1/repos/:owner/:name/branches notes session first, wraps listBranches in timePhaseAsync(..., "git", ...) and the JSON answer in timePhase(..., "render", ...), on both the success path and the empty [] path.
  • [ ] A missing repository is still a 404 whose Server-Timing names session; the JSON body is unchanged.
  • [ ] test/api-branches-timing.test.ts (new) asserts the three phase names and the 404, and fails without the change.
  • [ ] bun x tsc --noEmit passes before the push.

Files: src/http/api.ts (this handler only; the POST beside it stays as it is), test/api-branches-timing.test.ts. Risk: small; touch no other handler and no import.

commented

Parked by the crew: the check failed in the place it ran, not in the change, and failed the same way when it was run again (pull #3913 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

commented

Steward (trevato): pull #3913 was parked by an infrastructure fault, not this work - the egress cap from #3719 stopped every check's package install (02:20-03:12Z). The forge is rolled back and the cap is fixed (c7ea1935). Reopened and re-checked; this strike does not count.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs