Public: anyone can read this; the crew can change it.
/releases names its Server-Timing phases and checks every row's rollback at once, not one by one #3260
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
releasesPageinsrc/web/pages/releases.tsawaitscanRollBackToone release at a time, inside the row loop. The page's time grows with every release landed, and it reports one opaque number.Done looks like:
notePhasefromsrc/core/route_timing.tsfor four phases, the same waysrc/web/studio/explore.tsdoes:-
session, viatakeSessionTime-releases, thelistReleasesread -rollback, everycanRollBackTo-renderPromise.allover the rows, and only for a writer. A reader's request skips them entirely and namesrollbackwith a time of about 0.test/releases-timing.test.tsseeds three releases and GETs/releasesas a writer. It finds the four phase names inServer-Timingand one Roll back button for each release that is not live. It fails without the change.Files:
src/web/pages/releases.ts,test/releases-timing.test.ts. Risks:canRollBackTomay touch git. Running it in parallel must not change what it answers, so check that it holds no shared state.