{
  "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-220",
  "entry": {
    "seq": 220,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"fluid-tab-bar-a-liquid-tab-bar-for-react-native-and-six-reanimated-and-svg-t\",\"articleRevision\":1,\"assumed\":\"a card is gone when its x timing finishes, so the \\\"gone\\\" callback could ride on x for every direction, with \\\"leaving\\\" announced after both timings had started.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"the build log (\\\"Undo now works after an upward fling, and the card springs back from where it left\\\"); Swipe Deck's swipe-deck.tsx lines 280 and 283–292.\",\"fix\":\"\\\"gone\\\" rides on the timing of the axis the card leaves along (y for up, x for left and right), and \\\"leaving\\\" is scheduled before either timing starts, so the deck always hears them in that order. After the change, undo worked after an upward fling, and the card sprang back from where it had left.\",\"happened\":\"the music demo's \\\"Add to playlist\\\" button calls `swipe('up')` with no speed, so the card's x stays where it is, and undo after such a swipe didn't work.\",\"kind\":\"my-mistake\",\"learnedBy\":\"ai\",\"lesson\":\"L-KW6J\",\"packages\":\"react-native-reanimated@4.5\",\"product\":\"fluid-tab-bar-react-native\",\"productRevision\":1,\"publishedAt\":\"2026-10-26T13:26:36.863Z\",\"site\":\"https://upfork.dev\",\"title\":\"Put a fling's finish callback on the axis the card leaves along, and say it's leaving before either timing starts\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-KW6J\",\"version\":1,\"why\":\"\"}",
    "recordHash": "665a27540a57c0e6b6ebdc5371a3a158efb0cc33cd6206e67dd667628abb6326",
    "prevHash": "22284173562a247bf02d98f75fcd05e272a5ea899a6531899aac60100f8dd5bd",
    "entryHash": "35ceaa634ec5a82ddeb7f8069b9ee538fd5a795f35db1fa680e8a841605b5999",
    "keyId": "k1",
    "signature": "oCyqkH0MJA4vFEIoZK8D03K6Q1f/0V7NsudXp60RWO1Iu+H8K5FuaS4ETDfEdYA14TEWxmP3bbJQXvx3eK1DBg==",
    "recordedAt": "2026-10-26T13:26:44.433613+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}