{
  "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-55",
  "entry": {
    "seq": 55,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"build-a-cursor-following-mascot-hero-from-an-ai-video-maple-s-frame-engine-a\",\"articleRevision\":1,\"assumed\":\"a picked plate's embers could start on a \\\"picked\\\" event sent from the parent's effect, with the ember canvas, mounted for the selected plate, listening for it.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"`pick` in Embers.tsx and Plate.tsx (\\\"a new value makes embers rise from the selected plate\\\").\",\"fix\":\"the pick is a prop: a counter the parent increments. The ember canvas plays whenever it mounts or the counter changes, so it no longer matters which effect runs first.\",\"happened\":\"in development with StrictMode, the newly mounted child was mounted again after the parent's effect had sent the event, so the listener that heard it was gone and no embers rose.\",\"kind\":\"my-mistake\",\"learnedBy\":\"ai\",\"lesson\":\"L-12RD\",\"packages\":\"react@19.2\",\"product\":\"restaurant-hero-section-react\",\"productRevision\":1,\"publishedAt\":\"2026-10-26T08:14:31.193Z\",\"site\":\"https://upfork.dev\",\"title\":\"In React StrictMode an event emitted from a parent's effect can miss a newly mounted child: pass a counter prop\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-12RD\",\"version\":1,\"why\":\"\"}",
    "recordHash": "49f5fe0e31ec2a71076d49f523c890e251d71c4e52cfac9d96a6d3fe9c1da941",
    "prevHash": "9e848e12afd28fa3ede59a2afd677973e9d1cfc50af171307344b56fdeb2ec78",
    "entryHash": "b96a4c1702b8254f18e9a02a8788165a4c946f6f9fbb0b8458fdf63943aea648",
    "keyId": "k1",
    "signature": "aTECHuXQ8aplMBFak66glCziCBhPWMjfSCIcCrOFHyoLAKEuROtiusPwWB9idMB5U6GnDU0vRWyGpuApEj5PCQ==",
    "recordedAt": "2026-10-26T08:15:08.928799+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}