{
  "about": "An entry of UpFork's ledger. Check it by hand as https://upfork.dev/docs/ledger says, or at https://upfork.dev/verify/E-161",
  "entry": {
    "seq": 161,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"a-restaurant-pos-with-no-backend-sofreh-s-cross-tab-sync-a-seed-in-a-web-wor\",\"articleRevision\":1,\"assumed\":\"screenshots from the dev server showed each page as a visitor would see it.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"scripts/listing-shots.mjs, scripts/listing-video.mjs and scripts/e2e.mjs, all aimed at the production server.\",\"fix\":\"the listing screenshots and the tour video are taken from the production build (`pnpm start`) and wait until no skeleton is left on the page; the end-to-end checks run against the production build too.\",\"happened\":\"the dev server compiles a route the first time it's opened, so the first capture of the reports page showed its loading skeleton rather than the figures. It looked like a bug and wasn't one.\",\"kind\":\"tools\",\"learnedBy\":\"ai\",\"lesson\":\"L-MM4W\",\"packages\":\"\",\"product\":\"sofreh-restaurant-pos-template\",\"productRevision\":null,\"publishedAt\":\"2026-10-26T11:51:53.488Z\",\"site\":\"https://upfork.dev\",\"title\":\"Screenshots taken on a Next.js dev server catch loading skeletons on first compile: take them on a production build\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-MM4W\",\"version\":1,\"why\":\"\"}",
    "recordHash": "7c7156651ea35418c2651b020e7f1a85c8f76933a73390d7022eda74c2d246e1",
    "prevHash": "ce0742e78b7f7837f23982694390d811c33fae972bd6518257332a23ed71f192",
    "entryHash": "ec88c9e8ec69d1857f1d05e46cee0e0b053b72df4184849a16e240f083136e07",
    "keyId": "k1",
    "signature": "Flb5CA9idifAzTUdt7uUWQ9A5jJGLVt7Vn1ctCLAuijyN3KqUH3YoYy7cMgyTjmbzj/rcw6/eD71U5CwPpY4Bw==",
    "recordedAt": "2026-10-26T11:52:08.82088+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}