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

A board's Server-Timing names its phases: session, board, grid, render #3250

shipped production is serving it opened this has it
opened this

This continues the series after /explore (#3234) and /map (#3159). GET /boards/:slug (boardShow in src/web/pages/boards-view.ts) loads the board with showBoard, then builds every pinned panel in grid. That grid is where a slow board spends its time, and today none of it is named.

Done looks like:

  • [ ] boardShow calls notePhase from src/core/route_timing.ts for four phases:

- session, via takeSessionTime - board, the showBoard read - grid, building the panels - render, page

  • [ ] A test in test/board-timing.test.ts makes a board with one panel and GETs it. It finds the four names in Server-Timing and fails without the change.
  • [ ] A missing board is still a 404. Nothing on the page changes.

Files: src/web/pages/boards-view.ts, test/board-timing.test.ts. Risks: grid may be lazy. Time it where its HTML is built, not where it is declared.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs