{"record":{"id":"b2d579e5dde95e83","repo":"facebook/react","slug":"cannot-record-touch-end-without-a-touch-start-tou","errorCode":null,"errorMessage":"Cannot record touch end without a touch start.\nTouch End: %s\nTouch Bank: %s","messagePattern":"Cannot record touch end without a touch start\\.\nTouch End: (.+?)\nTouch Bank: (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/react-native-renderer/src/legacy-events/ResponderTouchHistoryStore.js","lineNumber":160,"sourceCode":"      );\n    }\n  }\n}\n\nfunction recordTouchEnd(touch: Touch): void {\n  const touchRecord = touchBank[getTouchIdentifier(touch)];\n  if (touchRecord) {\n    touchRecord.touchActive = false;\n    touchRecord.previousPageX = touchRecord.currentPageX;\n    touchRecord.previousPageY = touchRecord.currentPageY;\n    touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n    touchRecord.currentPageX = touch.pageX;\n    touchRecord.currentPageY = touch.pageY;\n    touchRecord.currentTimeStamp = timestampForTouch(touch);\n    touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n  } else {\n    if (__DEV__) {\n      console.warn(\n        'Cannot record touch end without a touch start.\\n' +\n          'Touch End: %s\\n' +\n          'Touch Bank: %s',\n        printTouch(touch),\n        printTouchBank(),\n      );\n    }\n  }\n}\n\nfunction printTouch(touch: Touch): string {\n  return JSON.stringify({\n    identifier: touch.identifier,\n    pageX: touch.pageX,\n    pageY: touch.pageY,\n    timestamp: timestampForTouch(touch),\n  });\n}","sourceCodeStart":142,"sourceCodeEnd":178,"githubUrl":"https://github.com/facebook/react/blob/eafeac097ba51e1eab809c07102126bd5f8e5425/packages/react-native-renderer/src/legacy-events/ResponderTouchHistoryStore.js#L142-L178","documentation":"Error \"Cannot record touch end without a touch start.\nTouch End: %s\nTouch Bank: %s\" thrown in facebook/react.","triggerScenarios":"Thrown at packages/react-native-renderer/src/legacy-events/ResponderTouchHistoryStore.js:160 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"eafeac097ba51e1eab809c07102126bd5f8e5425","analyzedAt":"2026-08-21T22:01:08.818Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}