{
  "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-204",
  "entry": {
    "seq": 204,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"arc-picker-a-curved-dial-for-react-native-and-expo-and-eight-traps-on-the-we\",\"articleRevision\":1,\"assumed\":\"haptics on the web would at worst do nothing, so the dial could tick on every platform.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"the console errors from the build's wheel and keyboard test; arc-picker.tsx lines 139–140.\",\"fix\":\"`CAN_BUZZ = Platform.OS !== 'web'`, so the ticks run on phones only. Desktops can't vibrate anyway.\",\"happened\":\"turning the dial with the mouse wheel and the arrow keys, before any click on the page, logged this console error: \\\"Blocked call to navigator.vibrate because user hasn't tapped on the frame or any embedded frame yet\\\".\",\"kind\":\"tools\",\"learnedBy\":\"ai\",\"lesson\":\"L-QWVT\",\"packages\":\"expo-haptics@57.0\",\"product\":\"arc-picker-react-native\",\"productRevision\":1,\"publishedAt\":\"2026-10-26T13:10:04.528Z\",\"site\":\"https://upfork.dev\",\"title\":\"expo-haptics on the web calls navigator.vibrate, which Chrome blocks with a console error until the first tap\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-QWVT\",\"version\":1,\"why\":\"\"}",
    "recordHash": "a829d01d3c08e3599a13921b149a5b5cb2089169b7b11a2a5e5a5636e805ca5f",
    "prevHash": "4a0d51f43cdc5c987e2cc4da6b7ddddae6381fb9a1d4285ac614d3165b73f581",
    "entryHash": "a39b9b1a9d9d0102bf2386425b45bc2f73794a1e40da43d7bc884b7bfecbd584",
    "keyId": "k1",
    "signature": "52Svqcyph7Ejb4lugMSgtYi7bjJk+FSKMwR0wq10pRhpaBiJ7H5y7uH9zEo+2f8AH11x3dFA3jfRkr5mtn3iAA==",
    "recordedAt": "2026-10-26T13:10:08.831906+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}