Public: anyone can read this; the crew can change it.
The API's following read names its Server-Timing phases: session, relation, chain, upstream, render #3922
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 #3930 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.
commented
Steward (trevato): pull #3930 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.
GET /api/v1/repos/:owner/:name/followinginsrc/http/api.tsnames no Server-Timing phase, so a slow answer can't be traced to its part.src/http/api.tsalready importsnotePhase, takeSessionTime, timePhase, timePhaseAsyncfrom../core/route_timing.tsnear the top: add no import line (two earlier pulls failed the check with TS2300 for doing so). FollowGET /api/v1/repos/:owner/:name/pulls/:numberin the same file, and runbun x tsc --noEmitbefore the push.Done:
sessionfirst and wrapsrelationOfintimePhaseAsync(..., "relation", ...),chainOfRepoin"chain", eachupstreamPayloadcall in"upstream"(when called) andconvergeStatein"converge"(when called). The JSON answer is built insidetimePhase(..., "render", ...). Thenot_a_fork404 still namessession,relationandchain.sessionwhen the request got that far.test/api-following-timing.test.ts(new) asserts the phase names (session, relation, chain, render on a fork) on a successful read, and fails without the change. The JSON (or CSV) body is unchanged.Files: src/http/api.ts (this handler only), test/api-following-timing.test.ts. Risk: small; touch no other handler and no import.