{
  "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-202",
  "entry": {
    "seq": 202,
    "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\":\"a shutter button inside the ring and the pan under it could share the spot: a tap would press the button and a drag would turn the dial.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"commit 91ea4a9; `renderCenter`'s doc comment, \\\"The dial keeps every touch (so a drag can start on the ring)\\\"; arc-picker.tsx lines 384–397 and 587–598.\",\"fix\":\"the gesture owns the whole area. `renderCenter` only draws (its `View` has `pointerEvents=\\\"none\\\"`); a still touch on the item under the ring calls `onPressSelected`; and a `pressed` shared value, set in `onBegin` when the touch lands inside the ring and cleared in `onStart` once it becomes a drag, gives the shutter its press feedback.\",\"happened\":\"taps worked, but a drag that started on the ring didn't turn the dial. With the pan's callbacks logged, a scripted drag from the middle of the ring printed none of them: the `Pressable` had taken the touch.\",\"kind\":\"my-mistake\",\"learnedBy\":\"ai\",\"lesson\":\"L-TJ1S\",\"packages\":\"react-native-gesture-handler@2.32\",\"product\":\"arc-picker-react-native\",\"productRevision\":1,\"publishedAt\":\"2026-10-26T13:10:04.528Z\",\"site\":\"https://upfork.dev\",\"title\":\"A Pressable over a GestureDetector takes the touches that start on it: a drag from there never reaches the pan\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-TJ1S\",\"version\":1,\"why\":\"\"}",
    "recordHash": "613b3cde6179098ad1407252d4ec2cdb54cd8aac32dee112e857e3676cbc1671",
    "prevHash": "87993a464ff685a39f0252b5a8968945fc741b1eb942132780a45b758a244d7c",
    "entryHash": "8cab2b58caa5207e55e2cf25ca10a5f16e6d3c7048381d47a1cd2cd8c26922d2",
    "keyId": "k1",
    "signature": "CAKB8m3SAQwx76DnHl6IfXF2SWKkL3kilyvGee/DeuKZ8htdEhmVriCMZmNoYYbRddRcITZNJBJmg8o02dksAQ==",
    "recordedAt": "2026-10-26T13:10:08.813944+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}