{"record":{"id":"48dcb2d2cb363544","repo":"facebook/react","slug":"552","errorCode":"552","errorMessage":"Cannot use a startGestureTransition() on a detached root.","messagePattern":"Cannot use a startGestureTransition\\(\\) on a detached root\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/react-dom-bindings/src/client/ReactFiberConfigDOM.js","lineNumber":1861,"sourceCode":"    containerInstance = (rootContainer as any).body;\n  } else if (rootContainer.nodeName === 'HTML') {\n    containerInstance = rootContainer.ownerDocument.body as any;\n  } else if (\n    !disableCommentsAsDOMContainers &&\n    rootContainer.nodeType === COMMENT_NODE\n  ) {\n    throw new Error(\n      'Cannot use a startGestureTransition() with a comment node root.',\n    );\n  } else {\n    // If the container is not the whole document, then we ideally should probably\n    // clone the whole document outside of the React too.\n    containerInstance = rootContainer as any;\n  }\n\n  const containerParent = containerInstance.parentNode;\n  if (containerParent === null) {\n    throw new Error(\n      'Cannot use a startGestureTransition() on a detached root.',\n    );\n  }\n\n  const clone: HTMLElement = containerInstance.cloneNode(false);\n\n  const computedStyle = getComputedStyle(containerInstance);\n\n  if (\n    computedStyle.position === 'absolute' ||\n    computedStyle.position === 'fixed'\n  ) {\n    // If the style is already absolute, we don't have to do anything because it'll appear\n    // in the same place.\n  } else {\n    // Otherwise we need to absolutely position the clone in the same location as the original.\n    let positionedAncestor: HTMLElement = containerParent;\n    while (","sourceCodeStart":1843,"sourceCodeEnd":1879,"githubUrl":"https://github.com/facebook/react/blob/eafeac097ba51e1eab809c07102126bd5f8e5425/packages/react-dom-bindings/src/client/ReactFiberConfigDOM.js#L1843-L1879","documentation":"Error \"Cannot use a startGestureTransition() on a detached root.\" thrown in facebook/react.","triggerScenarios":"Thrown at packages/react-dom-bindings/src/client/ReactFiberConfigDOM.js:1861 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"}