{"ecosystem":"npm","package":"react-is","version":null,"bugs":[{"id":295,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:35336","title":"Bug: ViewTransition with enter/exit hard-crashes iOS Safari","description":"I'm experiencing an iOS-only crash (iOS 26.1) when there's `ViewTransition` with `enter` and another with `exit`:\n\n```js\nimport { Suspense, use } from \"react\";\nimport { ViewTransition } from \"react\";\nimport \"./App.css\";\n\nconst promise = new Promise((r) => setTimeout(() => r(\"Done\"), 3000));\n\nfunction Content() {\n  return <div>{use(promise)}</div>;\n}\n\nexport default function App() {\n  return (\n    <Suspense\n      fallback={\n        <ViewTransition exit=\"vt-reveal\">\n          <div>Loading...</div>\n        </ViewTransition>\n      }\n    >\n      <ViewTransition enter=\"vt-reveal\">\n        <Content />\n      </ViewTransition>\n    </Suspense>\n  );\n}\n```\n\n```css\n::view-transition-old(.vt-reveal) {\n  animation: 300ms ease-out both vt-out;\n}\n::view-transition-new(.vt-reveal) {\n  animation: 300ms ease-out both vt-in;\n}\n@keyframes vt-out {\n  to {\n    opacity: 0;\n  }\n}\n@keyframes vt-in {\n  from {\n    opacity: 0;\n  }\n}\n```\n\nThis is a hard crash, meaning the browser tab literally dies.\n\nSandbox: https://codesandbox.io/p/sandbox/gns365?file=%2Fsrc%2FApp.js","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35336","labels":["Type: Bug","Browser: Safari"],"created_at":"2026-04-19T04:30:58.243185+00:00","updated_at":"2026-04-19T04:30:58.243185+00:00"},{"id":294,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:35352","title":"[Compiler Bug]: Function hoisting ignored in eslint rule react-hooks/immutability","description":"### What kind of issue is this?\n\n- [ ] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [ ] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [x] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://playground.react.dev/#N4Igzg9grgTgxgUxALhAMygOzgFwJYSYAEAsgJ4DCEAtgA6EKY4AUtMEtYAlEcADrEiUMAgCiaNAlzNmPALwA+XgKKqiaCBFkBuFUQC+XXYID0J9VlwFiAEykAbAIYxH+QmCLOERBBKn4ANwR7Mk8cIhwAC28cDiIINAjoojA4DgQ9DGw3Yg0tHmADIj0YBBxYYkwoe3tjfQEQABoQNMw0PABzFBA8OggYcJwyWm9CgAV7KA68TAB5WhyPfXV2aiIAcgAjR03ggFpaSenMPdLHXD20ujx7BBgTGzwwHHXjAWZ+UxMr2hvXaxIEDsyGKIEcNT4IAEyzA-zA7QQHgmUxm80WRia4EiEAA7gBJJh3TDgsAoNAkhD6IA\n\n### Repro steps\n\neslint rule `react-hooks/immutability` ignores [function hoisting](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions#function_hoisting). This\n```\nfunction MyComponent(props) {\n  useEffect(() => {\n    foo();\n  });\n  // function declarations are effectively at the top of the scope\n  function foo() { } \n  return null;\n}\n```\nshould not cause error\n```\nError: Cannot access variable before it is declared\n\n`foo` is accessed before it is declared, which prevents the earlier access from updating when this value changes over time.\n```\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\n19.2\n\n### What version of React Compiler are you using?\n\n1.0","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35352","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.242634+00:00","updated_at":"2026-04-19T04:30:58.242634+00:00"},{"id":293,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:35355","title":"[Compiler Bug]:Compiler doesn't memoize if const is between hooks","description":"### What kind of issue is this?\n\n- [x] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [ ] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://playground.react.dev/#N4lgzg9grgTgxgUxALhAejQAgLIILYQCWAXggCaYBGAnpgEolCGc\n\n### Repro steps\n\n1. Open the React Compiler Playground link: https://playground.react.dev/#N4lgzg9grgTgxgUxALhAejQAgLIILYQCWAXggCaYBGAnpgEolCGc\n2. Observe the code that has a `const` declaration between React hooks\n3. Check the compiled output - you'll see that memoization is not working correctly\n4. The compiler should memoize values even when const is between hooks, but it currently doesn't\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\n Latest (React 19 or main branch)\n\n### What version of React Compiler are you using?\n\nLatest babel-plugin-react-compiler from main branch","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35355","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.242060+00:00","updated_at":"2026-04-19T04:30:58.242060+00:00"},{"id":292,"ecosystem":"npm","package_name":"react-is","affected_version":"24.6.0","fixed_version":null,"bug_id":"github:35360","title":"[DevTools Bug] Children cannot be added or removed during a reorder operation.","description":"### Website or app\n\nnpx react-devtools\n\n### Repro steps\n\nI just run `npx react-devtools`, it recognise my app because does not appear the first page about how to connect it, but I always receive this error even have already checked my FlatList components (I am running React Native Expo development build). And if I close the error, it never loads my components. I receive a \"Loading React Element Tree...\" in looping.\n\nI have already tried `NODE_OPTIONS=\"--max-old-space-size=4096\" react-devtools` but still the same error\n\n### How often does this bug happen?\n\nEvery time\n\n### DevTools package (automated)\n\nreact-devtools-core\n\n### DevTools version (automated)\n\n7.0.1-3cde211b0c\n\n### Error message (automated)\n\nChildren cannot be added or removed during a reorder operation.\n\n### Error call stack (automated)\n\n```text\nat /Users/mariaferreira/.nvm/versions/node/v24.6.0/lib/node_modules/react-devtools/node_modules/react-devtools-core/dist/standalone.js:1:1124896\n    at f.emit (/Users/mariaferreira/.nvm/versions/node/v24.6.0/lib/node_modules/react-devtools/node_modules/react-devtools-core/dist/standalone.js:1:1055367)\n    at /Users/mariaferreira/.nvm/versions/node/v24.6.0/lib/node_modules/react-devtools/node_modules/react-devtools-core/dist/standalone.js:1:1057098\n    at /Users/mariaferreira/.nvm/versions/node/v24.6.0/lib/node_modules/react-devtools/node_modules/react-devtools-core/dist/standalone.js:1:1539281\n    at Array.forEach (<anonymous>)\n    at KS.e.onmessage (/Users/mariaferreira/.nvm/versions/node/v24.6.0/lib/node_modules/react-devtools/node_modules/react-devtools-core/dist/standalone.js:1:1539264)\n    at T.s (/Users/mariaferreira/.nvm/versions/node/v24.6.0/lib/node_modules/react-devtools/node_modules/react-devtools-core/dist/standalone.js:1:454936)\n    at T.emit (node:events:513:28)\n    at e.exports.B (/Users/mariaferreira/.nvm/versions/node/v24.6.0/lib/node_modules/react-devtools/node_modules/react-devtools-core/dist/standalone.js:1:489080)\n    at e.exports.emit (node:events:513:28)\n```\n\n### Error component stack (automated)\n\n```text\n\n```\n\n### GitHub query string (automated)\n\n```text\nhttps://api.github.com/search/issues?q=Children cannot be added or removed during a reorder operation. in:title is:issue is:open is:public label:\"Component: Developer Tools\" repo:facebook/react\n```","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35360","labels":["Type: Bug","Status: Unconfirmed","Component: Developer Tools"],"created_at":"2026-04-19T04:30:58.241305+00:00","updated_at":"2026-04-19T04:30:58.241305+00:00"},{"id":291,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:35396","title":"[DevTools Bug]:","description":"### Website or app\n\nhttps://legacy.reactjs.org/versions/\n\n### Repro steps\n\n![Image](https://github.com/user-attachments/assets/a7e10b3c-cba9-4355-9b6e-99cc306a596a)\n\n### How often does this bug happen?\n\nEvery time\n\n### DevTools package (automated)\n\n_No response_\n\n### DevTools version (automated)\n\n_No response_\n\n### Error message (automated)\n\n_No response_\n\n### Error call stack (automated)\n\n```text\n\n```\n\n### Error component stack (automated)\n\n```text\n\n```\n\n### GitHub query string (automated)\n\n```text\n\n```","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35396","labels":["Type: Bug","Status: Unconfirmed","Component: Developer Tools"],"created_at":"2026-04-19T04:30:58.240756+00:00","updated_at":"2026-04-19T04:30:58.240756+00:00"},{"id":290,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:35452","title":"[DevTools Bug]:","description":"### Website or app\n\nhttp://localhost:3000/en/p2p/purchaseOrders/purchase-order\n\n### Repro steps\n\nhttp://localhost:3000/en/p2p/purchaseOrders/purchase-order\n\n### How often does this bug happen?\n\nEvery time\n\n### DevTools package (automated)\n\n_No response_\n\n### DevTools version (automated)\n\n_No response_\n\n### Error message (automated)\n\n_No response_\n\n### Error call stack (automated)\n\n```text\n\n```\n\n### Error component stack (automated)\n\n```text\n\n```\n\n### GitHub query string (automated)\n\n```text\n\n```","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35452","labels":["Type: Bug","Status: Unconfirmed","Component: Developer Tools"],"created_at":"2026-04-19T04:30:58.240243+00:00","updated_at":"2026-04-19T04:30:58.240243+00:00"},{"id":289,"ecosystem":"npm","package_name":"react-is","affected_version":"19.2.0","fixed_version":null,"bug_id":"github:35531","title":"[Compiler Bug]: npm run dev and npm run build produce different results","description":"### What kind of issue is this?\n\n- [x] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [ ] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://github.com/hnamekawa/movie-app\n\n### Repro steps\n\n1. Clone the repo\n\n2. Run `npm run dev`\n\nThe app works fine without any errors\n\n3. Run `npm run build`\n\nThe React compiler reports the errors shown below, and the app fails to load\n\nDescription\n`src/types/Todo.ts` defines a `Todo` interface, and `src/App.tsx` imports and uses that interface.\nIt seems that TypeScript interfaces are not being handled correctly during the build process.\n\nWhen `src/App.tsx` is transpiled, it makes sense that an error occurs because the Todo interface does not exist at runtime.\nHowever, `npm run dev` does not show any error, while `npm run build` does.\n\nThis inconsistency between dev and build is the issue I want to report.\n\n\n`npm run build` error log detail\n\n```\nsrc/App.tsx:2:1 - error TS6133: 'TodoItem' is declared but its value is never read.\n\n2 import { TodoItem }  from \"./types/Todo\";\n  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nsrc/App.tsx:9:38 - error TS2304: Cannot find name 'Todo'.\n\n9   const [todos, setTodos] = useState<Todo[]>([]);\n                                       ~~~~\n\nsrc/App.tsx:12:50 - error TS2304: Cannot find name 'Todo'.\n\n12   const [editingTodo, setEditingTodo] = useState<Todo | null>(null);\n                                                    ~~~~\n\nsrc/App.tsx:40:44 - error TS2304: Cannot find name 'Todo'.\n\n40   const handleCreateOrUpdate = (data: Omit<Todo, \"id\">) => {\n                                              ~~~~\n\nsrc/App.tsx:52:22 - error TS2304: Cannot find name 'Todo'.\n\n52       const newTodo: Todo = {\n                        ~~~~\n\nsrc/components/TodoForm.tsx:2:1 - error TS6133: 'TodoItem' is declared but its value is never read.\n\n2 import { TodoItem }  from \"../types/Todo\";\n  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nsrc/components/TodoForm.tsx:5:25 - error TS2304: Cannot find name 'Todo'.\n\n5   onSubmit: (todo: Omit<Todo, \"id\">) => void; // pass data to parent\n                          ~~~~\n\nsrc/components/TodoForm.tsx:6:17 - error TS2304: Cannot find name 'Todo'.\n\n6   editingTodo?: Todo | null;                  // editing ToDo\n                  ~~~~\n\nsrc/components/TodoForm.tsx:12:40 - error TS2304: Cannot find name 'Todo'.\n\n12   const [status, setStatus] = useState<Todo[\"status\"]>(\"Open\");\n                                          ~~~~\n\nsrc/components/TodoList.tsx:2:1 - error TS6133: 'TodoItem' is declared but its value is never read.\n\n2 import { TodoItem }  from \"../types/Todo\";\n  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nsrc/components/TodoList.tsx:5:10 - error TS2304: Cannot find name 'Todo'.\n\n5   todos: Todo[];               // ToDo list to display\n           ~~~~\n\nsrc/components/TodoList.tsx:6:18 - error TS2304: Cannot find name 'Todo'.\n\n6   onEdit: (todo: Todo) => void;// edit button clicked\n                   ~~~~\n\n\nFound 12 errors.\n\n```\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\n19.2.0\n\n### What version of React Compiler are you using?\n\n1.0","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35531","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.239631+00:00","updated_at":"2026-04-19T04:30:58.239631+00:00"},{"id":288,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:35545","title":"[Compiler Bug]:","description":"### What kind of issue is this?\n\n- [ ] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [ ] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nbbxbdx\n\n### Repro steps\n\nswwerwe\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\nrtah\n\n### What version of React Compiler are you using?\n\ntrh","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35545","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.238788+00:00","updated_at":"2026-04-19T04:30:58.238788+00:00"},{"id":287,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:35554","title":"[Compiler Bug]: allow `'use no memo'` inside callbacks","description":"### What kind of issue is this?\n\n- [ ] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [ ] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://playground.react.dev/#N4Igzg9grgTgxgUxALhAcimBACOAbASwQDsAXNAbgB1iaCBbABwhlO2GwEE8FWBhAvB4BJOBGIAabABkIAQwAmvAEzYAvtgBmMCPWxo8UOASUBaGAjlxy1Yg2at22TAgBK0UrykuAypfgAFgAKcjBy9GDqWjp6aMQIAB6kAPTEcgBuBADmcqQE4pR0TCxsHD6YjCRY3lg+pLk4Gtq6+hZWNkUOpdgA4hAQWTx8EHgsouJRzbEAAslixfFkYMkEYsTLWf2DCIV2xY4cwsQA1ggIjOPEkzH6s-PMi6TLq+LPJ2eMu-YlTty8pFI-qwACIIMBwGAERh5CZNG5oO66B4kJ7JKAEZJyHisL77boAISgpFIsOiLQRcyR4hRy3RyQARkSScRcV0nHxQgopByYAphmQUdzOaDwZDoflJNgeQoABKWJQwIW8gAqBFIPGu5MRCxpaIxcE5rJ+h2IjCJmpmlJ1Sz1K1NRKNBxkcnpCDwFtuVuRNrpeBdbsd3RcnCJAT4hBRHopa08SWWclDpnwRDIgacLiCEDApBlAyjiIFceSzGzAQGaY4LlcUDIDAQ-M02XzlMLqJgNby9AQSfEjayFewWQQpB8ck0bmHsGIAFUYHgpAQwAA1LEmVyTmAzufNwj0tF5PDxxMWBSCBDWXY0TQ16wSmQDAjEABiLHoAAoAJTsGjYXCvNg6ESvDYAAvM4WDuEBMCfrYv5rNm2BYKEcDBKE4SRGBvj+ChIRhBEME-n+6xsI+mT1DCxDCAooGIdhqF4WAAB0Q6kG+aCkWquQSmgH6wURCEWKQU6zu6YFIYEuHocxw5sYJwlzjxfHwWwCakGGEZkDRwahuGKasbxhHKU4QTTvi0jCHwAD6nDTsqMoAAyWcCADyACynDCAAclIJlmRZlk9M5zk9NIACill8OZoWecqlnCMCUSYRBHZ1g22QEVc-FsCWal5klCCZtmuZZBlhHJMkvTDtgak4Okq4KA01FyZu2DTq40haCw2A5aYoxZI+2Anme1jYG+LjUZoXUIPQcgEO6fWPh+hn-oOw7rqeFjWCJNGfsgiGkJCxBZKBAB836Zb+BCaKNHHkRKVFfsAhG-r+zVXAABpicCINCpi3Vx4jJAAJMA-0UVRajvXxv5qM9g0blcLGjuO65CZuIlvm9IlSGgySKYRai2GVFUvjA2DOSGalSAA7jg8QINRNVaFAeDum1HUkvDG3nmw9JWMc1UQNVAQ4NOwjE+TlMBNg9CYGwBqs3zcAC5zn3vaNZZdt1chDl+1MBKs0sBHIxAKDwkRM6p0v3DwFESwA6jgjByGAkRY3OdpkQDVwu9gACOUC8AAntrDGdWTPVW1zw2kMtxGraQT4s3gHKK-z7M7V+IFnU9F3YFdo2kEHlQQNd1OPgoEDU6BIFgRgpsII28QKDx8No1cuO7C9WXYHzWAZ2B5em1XjGjAaFGMSw2SPkTefldghJzdRCt4ErAsZ+XanYHIjCMDoe8EA0-uBzAIfOwxcNGef6E0fE1fs34yH0ehGXdwXb5g-dCiPXDv7XxEjEsCsXYsQL2FE0ALlAZxcG39oZRDdFgfO11MYI22gAMjQfnZc9VUbyTwCg9uIkPw-zzn-NCACgGyVQQpKQ7s8AGTzrDWgecjIB2DnUQ6x0wL-yYiSDhj4SoMO7m9Y+7CDoCOwAAfmwO9EGfcEDszUMkSRIM2Gn34UdSG2A9qyOAPIxRyQoYE1nnBFaABtRcshFACKkEA4QYArGniOgAXS0rUciCA3yaCxFgBhEs+Ai2VuHSWoZkg+B8M5bAvAdAwEiANDOPDRoIGYoxKQUxuo6EyAqaOm0nhLUykZWAeBQowBiTRcSOFyFMRYmxaJLB8YFJWkUkpMSRQQihBRcpdFJIAJqWgOpMBLJKFFB07iQie6PjVIfYppSuqYTnC0rq0jdHNNmTANpYpOkAB8tnOAWWsyGjELCMD9IgN8yRLLJCyDjfQX49rEGTiYnuZiBm2OHIsmArj8p1CPgAHn2pw7AuyHms2wGdD+dg8hYg+X4xp8czGTRgPQYEuQ5BvMTq+FF9QvngQQD8zwb5c7d2mrNPAe00AQLhs7V21MWAKHJZSzKahYWmPjsbU2PByj0noGqGiLsg7EDgEkva652iMVJvQUK6QURZxznDDAiDiBCy7PQCAaA4bJL3ggaVZBQTeJZvpOBdiHHyCcSVA6gdxm-iAR8t8IL6FPN-AdEORLu49wsGAA1fLqazRUjpDSpBAHZEosQRiJK5qEt-i9cNZLw7ItRWGmac0JBRrITSule1EXxvqIxalYBaW8hTaQ9QLK3XzwCeeAWBcwDBr+lcbxc0GZRvfh6g1kiw1rJIW6l6Nq1koM9XgQNAzGJdldjrHAOz9A+GDfnetpKGYNO7da4c9jHECK8T4hAVq3VvTgTDGgzbkGtsHe2hq9R20uBgF2pdhSsBkzAsewNZ65CMUvXul6OUyxZHbSYFEV0g5jTvYxEwUhXVLqiUm2Nl7E2kqLeB38aQux7Wg4hhAcGl3MvfUwqN891ox0FsLHAj5PAN2osMvIaQ7bFsAp4GAubMABDfCxPDuSMbELgRoceKEkmlOvd3XtMS3zRNndmE2iBS7YA+VIqJpSR1gjAOO7R+gpZ-vHneBtPAW7buXaQVdpr13eMPFujjxiD1woQuys2CBQpJF4GkPA06sghr5WAAVQq3xwy7Llel+hIDGCxGgIFvnICMrfkoWsjZeB7WzJw9Dv5DOr35h86L4ijqEVledfjK6TXWKOm+C1xm4YCZYHa5OpanWn0y26oyj7QKpplsOMs1Fa51z89M9Vxbu7SLkD63lVtdIoiDU5o4gCID+fwWB+De8IBZKi-ncLeRItk19mgTYAweChfg3BLEiXlbsz2ixJOrNU67eOOzT8cWMP5K23tHrvrt7+r0kNkNgDICRs6266bs2YBUT2r+iLRBFT1e7ivNe+2E5HZTjtsH7ULvA5LY6l689hBlxwJsNgIsLDYE3mWc0Q1ck2MQroRrEjaaaWpjoNLxaW1gjbR2mJfG3XFego++nLA5NjqHEC3ZCW14wvfTpvTuWSqGd8VhuGnHcjcaE7xqrIOVoDNcvJxTIF6vCcfKJwVCAJMfPh9I6JHOFNDnh3tIuJdrrCZa-oCA9IABWPNAsYJk2TAAhLXbA9r4e-mkTL5bkQTZBw-IbxTk7ffb398QQPbOyaTt50ltZXulNx+Vh8xHOnbWK+V7rd9xq115dF4VxhpnmGvQRqNOGvzTzpFwH6V2nlwgIFVyATQPAEhaFbz2d0PLiCmACKYUUZwrhqmmmAJMKJgK27lv+sfAoI4JFMAAFm6kHUwABGZQVAQAnSjb86UNeXZgHr12Jv1NTDXlBTNefp-6DUTAMbSup+lXxF7nS3gpgn84HpFkUwB0TZgHPpGP-lYN2CvgAMyb7b4faV4EDV74AH5H6N6b6MDz4ABsEB8OvyRwpw5wlwiEBAAAXo3sAAvgABwaDJCQHga-LJBV6UFLq76chyiKC8B0FUHSiqjqg4BwF14N5N6xikCmDKAJDuiTRkCmBdinhQB6C-7KwCI-7ZABBsD8Fn4sAIBZCASmzoEfbdyOx4DzAIAYHJDsFqg8CsH0HSgbKjLiAnRBA8Auw4A1pOazoEZBzQDLbfTQCaScwxiPiByMTUEWFgjtLijWH1YBGMHygsFhHSj8gkbyy16H68Gb5AGICmAr4ACsWhW2wAAy2ATuHm2hL0vyQIbAdUkIJspATe5G7Yt40qm+++PBx+m+9Ir+MApg1RRgeQ0qyQq+9k2ADUMAxwyALRvIb+IxCoWRW2RRJRAgQgCAuB3BiRTRIAfeS+p+C+9RFBiev4xR2IpAlhIRxAJ0ORBy1BJRBxFEZhVByQJRVxbqH42GhRvyWa2A4gXKPKlRwAlmnKUA3KaonGCRCBTeKRIBi+kxW20BsBgJSR4AzsqRK+G+W+2x2Avy0g-o7oih9AeApMTeMaEBoUkG1BaJroeAdxVBRwZoschR3aJguJkGm+yJTqxciBIAeJIAjJ3UpyCAZYeACoTerhUA0wiQ4QJyyS8wDJ1JbqdUhgRBWaWKL6MaTCUxbq4gASJsQ4IEwAQmGWQCEq8phK2AjERpcpqKUgMae0yS9QMALEjE0pgcJaSpypL0FgAcZ4CgHJp4Cm9Immmpli+mmiyJWxkp1BtBZmypkJDRSxLJIJaRgh4JUxqJ6J2AmJ2JLATeeaBa7pW+IQ6avIRJ6JZJ9BFJRIHJtJSBB+mZEpTpL0ZuLJGZdKVZ1ZnJwBPJfJm+gARASdldmdmNnVl2mymYoJr1m8iOnVmqnsoalalbqnS0QYpIr6kcBGmMQmn1BSDDk+aWmhA2n9kOkckunogngemLgug+mgw5ZmqjlOnd7SAkBZBqSalkGBmFndwhkwGQGJ6-KEjEgTC1nAm-EfH1GLFAmb6n7n54D1GeknkMy+nnkCJqDPlupnl57HQ+4cm-IIVUGOIqCRnAUgD0BtGqCrHY6L7bx7AND96MCPibEYVLqOZ2BHSzpLloVBnVl3Ll6SndxoB0WzodasWXnXFfnMgIXUFZrvmFFam+TmRWQ2R2SOQuTuReTc7YCSX+SBTBRhQRRRQxRxTAhfj5Efk0U7FV44UwkWB+hdEGFIkcVFHGVAUwkuiQCGCeAibDimB9Et6JD5yeARAz60bxnVm-JAFXB2XLGgXJwv6jFtGxwgDYAsVNmvnpCGU2UwEmXLFmVcTSrt6eWT7ZjT6ICz7YD+VOmBXOzBXQnLFf6mBrzqGeHUTIGCHVSJACGyyeAKAqEWA1U1gTTiDNXiBCzKEJCRBQC7y8AGhYBFXVnOQwAck7HJBBVJWzWhnWUJViUBW2XlXRlwmgngFWVNnsAqXSW2QORORuQeSeR5GYIFF7U7GCXiAzUvRlGHxkBN7qFyAr4eCEDxC9nXWqmEDKyamfgznfHWa2abhYh0VHBsSuxqo4xWz2QQL6BYEfB4FOEDQaYLoPH3W-iQXenQVIX+lZD8VNkhUslhWszfXVkLVuqYHvA4FrCxVU3dyxG+E4A47YBI3nD3XUG3VHEcmY3WW-jAAHUBRBQhThSRTCDRSxTxQXXsXXUok81Y3YCPUVEvVhDvVEifWWVK2-WrDHAA2ypK2-jA02a0b2YQ3EBQ1jbtY4xrbbAI1oB9DrYOEzpo3zpaZK1E3Vk42nl+nC5e1Okk0n5n7JwU1OmM1FFO3bDDCjA-b01xXy3M0PKs1qjSxR08Bc3JA81U380BU0FvkfkJ1Lq530FGGcixEoh3HhG8hmErXpa2CPGJBshKD6qDrMyCqdKyD9TEAhBDiA2uoiJXVFHlD-5VAGHFrJ763AARlB2b4eVt7d69794QiD5eUj6+UT5T6aAr75V+Vb7IVLkrWXlV1d2PgSoM0V5hIVBj10EMJMIgASAgBrB9goAgDfCOC1nGSGDd3OSHGRBwjkh8wkmmAnJQDd3mCWDWA9hMCNowD53ZiXiW2urlT3BzTeyuQQBKB7Sb47YSkaAKZ5BgCRaRC2FgOPi-0URgC8QP3gBljUxHBm0+IoAF5qBAA\n\n### Repro steps\n\nThere is no sense to throw an error about unsupported features inside callbacks\n\n```jsx\n./agents-manage-ui/src/app/login/page.tsx\nError evaluating Node.js code\nReactCompilerError: Found 1 error:\n\nTodo: Support value blocks (conditional, logical, optional chaining, etc) within a try/catch statement\n\n  78 |\n  79 |       // Check if sign-in failed\n> 80 |       if (result?.error) {\n     |           ^^^^^^ Support value blocks (conditional, logical, optional chaining, etc) within a try/catch statement\n  81 |         setError(result.error.message || 'Sign in failed');\n  82 |         setIsLoading(false);\n  83 |         return;\n```\n\n### Issue\n\nReact Compiler throws hard errors for unsupported features (e.g. optional chaining) inside `try/catch` **within callbacks**, even though the code is valid and runs correctly. This forces large mechanical refactors (100+ cases in our codebase) purely to satisfy compiler limitations.\n\n---\n\n### Proposal\n\nAllow opting out of compiler checks for callbacks via a directive:\n\n```ts\nconst handleExternalSignIn = async (...) => {\n  'use no memo'; // skip React Compiler checks for this callback\n```\n\n---\n\n### Why\n\nCallbacks aren’t render-critical, so hard compiler errors for valid JS inside them hurt DX without real benefit.\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\nlatest\n\n### What version of React Compiler are you using?\n\nlatest","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35554","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.238094+00:00","updated_at":"2026-04-19T04:30:58.238094+00:00"},{"id":286,"ecosystem":"npm","package_name":"react-is","affected_version":"19.2.3","fixed_version":null,"bug_id":"github:35561","title":"[Compiler Bug]: Value returned from `useEffectEvent` is mistakenly treated as a dependency","description":"### What kind of issue is this?\n\n- [x] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [ ] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://playground.react.dev/#N4Igzg9grgTgxgUxALhASwLYAcIwC4AEwBUYCAogGaUJx4A0JZVNd5AbggHYNMIDKeAIZ4EBAL4FKMCBgIByGAiF15AbgA6XTDnxECAFQQAPQpOmyFSlXgC0XEWk7qtWnbkLEAwrIBGaLgQAEwBxGCEsAAsARQAZchgZGDBGPABPLDEEpNi0AGsxcxk5eQABCIgAG0qIAHo4SrRuPBdtbA8CQLwASS5KCClihVLrOntHTls4WQwobXTaroD+1q10zIJs3AARESECAF4iLQICBETcZE2LmFyCzS5TpRo8OEirgAoASkOAPgIAArFNBkAA8czyXAgAHcuL8HuIHloTLpCNMuGBCKQEAA5BB4aG4PIAJWUbyEvkqFGotEIRw+cCE1V8Kjynx+B3+7AgaCCHP+wBOfBYtI+QtO3z+4tOnXxvX6ADohEEghxmrlMdxzh8PsQQb1RDAuqSVJEKVSJPzjo8Zba0JQCB99TxzsayWbKWIDt6CHgYFAED9BTbbbbGczWd8HqGZeJpadxF96NKANrhyosuB5AC6yZtXwRSMCxlRBHRmII0QDMDSW2SQIg7F550OjqtwdO5cIKfOSRSBDIeDrYGzrexghECFBdd2whT2d+H3nBdcNtqtQICq3q87EAxhDNXCCVLxBKJJvJnrHzBpbE4PB17el-Rgjq7+l7uEYz3xbwkBAgB1P2SIN4wIe1HQAQh8DB-ECUJwiiOJhwVEEPmAr5QJDUNuV5Agf1eSIozAuNsNIhMVxtbFT0JGASXdc1qVYPBHz+a1bUPY9cXxWj6NNRjiJtRMiyefFYEeUEjFMX4AAkEGqAZaMqIJQVqKS8HhLRES0EB6BAdFKDQABzFB0HaPR1jEYgAUqKAjICAB5LA8DQPcwH-CwShZXx5NsLBbPsrhbFGOxpmwNAqRgWoghBFoi11IV1zCrAIscPcAFkICCBArg0EAmUqPKtIHRwwEMhB3JsuzHOc1yMQLXTwEiGEDVdJkwBQSh2oQcQgA\n\n### Repro steps\n\nSee the repro link above. Here I'm using an effect event function for its intended purpose, to prevent `useEffect` from re-registering the listener when a change to the `errors` object occurs.\n\nAccording to the docs: https://react.dev/reference/react/useEffectEvent, effect events should not be added to dependency arrays. However, React Compiler treats the effect event function as a dependency and therefore breaks the intended logic.\n\nWithout React Compiler, this example would be written like this:\n\n```ts\n  const handleNetworkReachable = useEffectEvent(() => {\n    for (const { error, refetch } of errors) {\n      if (!CombinedGraphQLErrors.is(error)) {\n        void refetch();\n      }\n    }\n  });\n  useNetworkReachableEffect(useCallback(() => {\n    handleNetworkReachable();\n  }, [])); // <- notice that `handleNetworkReachable` is not in the dependency list\n```\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\n19.2.3\n\n### What version of React Compiler are you using?\n\n1.0.0","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35561","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.237024+00:00","updated_at":"2026-04-19T04:30:58.237024+00:00"},{"id":285,"ecosystem":"npm","package_name":"react-is","affected_version":"19.2.3","fixed_version":null,"bug_id":"github:35569","title":"[Compiler Bug]: React Compiler conditionally memoize a function depending on the order of statements before it","description":"### What kind of issue is this?\n\n- [x] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [ ] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://playground.react.dev/#N4Igzg9grgTgxgUxALhAgHgBwjALgAgDMoA7OXASwhPyjAQDEFc4ALBGAZVxwQAp6uSiQDmYfAF58wAL4BKaQB0a+ONTAFgRZmw4AafADpjhHey7NhY-DMn5BVsAG5ly-KvUEEJAG4UY1AC23rhMLOZ2dIxmHHxyLiRu+DDMsDTEZHym4fraORZCFKJgBt5+ASTBJKExMPHKMiB6IGokhBQiKCAUgdh4+LgAnpgI0vgACgA2UCJFAPKYlOo2RAGB+ADkAEYAhlsIkwC0mNOzJIcpO+SHar0UkxwA9AAmFBobCcp8wEmPj7eYe47JYkACyEGeCGQ+EUIB2k0msIa9mBb3aCHEUxm80WVBIYHiTXArAgAHcAJLVDgkeFgFCEWkIGRAA\n\n### Repro steps\n\n1. See the playground link, where the func call at line 6 isn't memoized.\n2. Swap line 2 and line 4, and see that func call becomes memoized now.\n\nWhy does the different order of statements before the func call affect whether the func call is memoized? I'm expecting the func call to be memoized in both cases.\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\nBoth 19.2.3, and whatever the playground is using\n\n### What version of React Compiler are you using?\n\nBoth babel-plugin-react-compiler@1.0.0, and whatever the playground is using","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35569","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.236475+00:00","updated_at":"2026-04-19T04:30:58.236475+00:00"},{"id":284,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:35570","title":"[Compiler Bug]: React Compiler throws hard errors for valid JS inside callbacks (non-render paths)","description":"### What kind of issue is this?\n\n- [ ] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [x] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://playground.react.dev/#N4Igzg9grgTgxgUxALhAcimBACOAbASwQDsAXNAbgB1iaCBbABwhlOwCpsBDMbAJQRc4bAGYwI9bGhiDhlGjQQAPZq2wATBCK5Q8oqMWEEIxbAEFGjABQBKbMBrZcJsGwDaCGOJgAabFlIAUS8WAF1sAF5+WVIAOkwEAGVSLlIEAB5XGAJiAHNsAB9sYl08AD4rErw8G2paU2diV2wACy5idTwEAGFCOABrSO4wAE9DbFtIsvtHJ2xSGBGZhrnG5pkwXTYorgB3LgJRLn6EAQBHKARXWzrZ1YB6e+xAGXJooTZuiUYCLph5lvEu14LU8CDuc0e2CoIAAKhB1BBkNhElBLCw2AA3Lh4S7YABGeAgA14VjgJnUh2MxGxfkJuQIcBp2AgjFIVOxuDaORyuT8CFIcBs4KckN2hxaOW480W90ZApa-hSaXoJFI0OF2AIIgmGy2AH5Yp5vHYHCtVv5+cFvFZdXpDSEYLEVWAwFxcghahqnDJSLBiHVzdgAL4KM1OAJWliVUqes1B3CpOAKqwe5aBiMOqxoRISfkSvLYXaqwviPJoWOrEMNIO3Bo+v0TcHpCkYxUjLoRYDAbCMLjqCl5JEAJgADMGg2UNek8VBSKQTMziL0Gf1O20Ol1lwMJ1v+ul7jO5yZJ2H7EaWNgAGSX7DpRhlYDnmBB-f3qurfctk9OWNVmg8MY4GwEQDCMBdtBOc5LmuGwkQABXEegCCwdJZiKbt1FSLgkSyHlgzQ+xsCfJFu2dV13RwhY8PjKtplNb1+QbbtiMIsi3QQJE0AAMQOLp1DQYNgzqKsQB8EAyWIEQCFyFAQAYVQ2FIEZGBwbs4JxeliAAeVZKleHjMQJCkPEuDxBA8AAWkYDScgsmR3gsskmB+Tx7gpVx5HqKx6OwR4nO+PBUipABZeEOKhEBsTwdViHjV02TAKSrmwdSoE0nS2RcWpRPAFoIF2ABJMhPGpPAwBQbQyoQIMgA\n\n### Repro steps\n\nI was implementing a normal login flow in a client component using the React Compiler.\nThe issue occurred inside an event handler callback (handleSubmit) that runs in response to a form submit.\n\nInside this callback, I wrapped an async authentication call in a try/catch block and performed basic result checking using optional chaining (e.g. if (result?.error)), which is valid JavaScript and works correctly at runtime.\n\nAs soon as this code was analyzed by the React Compiler, it threw a hard compilation error saying that value blocks (optional chaining, conditionals, etc.) are not supported inside try/catch. This happens even though the code is not render logic, not memoized, and not part of React’s reactive graph.\n\nI wasn’t doing anything unusual or advanced — just standard error handling inside an async callback. Removing the optional chaining or restructuring the logic avoids the error, but that requires large mechanical refactors across the codebase.\n\nThe issue reproduces consistently whenever optional chaining (or similar expressions) is used inside a try/catch within a callback function.\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\nlatest\n\n### What version of React Compiler are you using?\n\nlatest","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35570","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.235882+00:00","updated_at":"2026-04-19T04:30:58.235882+00:00"},{"id":283,"ecosystem":"npm","package_name":"react-is","affected_version":"1.25.1","fixed_version":null,"bug_id":"github:35583","title":"[DevTools Bug]:","description":"### Website or app\n\nGitHubRepo/Code Sanbox\n\n### Repro steps\n\n\n\n\n![Image](https://github.com/user-attachments/assets/2e1c23ff-8a27-49dc-b0a7-cf59ffe7e823)\n\n[capstone-LICENSE.txt](https://github.com/user-attachments/files/24765831/capstone-LICENSE.txt)\n[LICENSE.txt](https://github.com/user-attachments/files/24765832/LICENSE.txt)\n\n[yarapython-LICENSE.txt](https://github.com/user-attachments/files/24765838/yarapython-LICENSE.txt)\n\n[SourceCode.zip](https://github.com/user-attachments/files/24765843/SourceCode.zip)\n\n//github.com/user-attachments/files/24765783/pgbouncer-1.25.1.tar.gz)\n\n### How often does this bug happen?\n\nEvery time\n\n### DevTools package (automated)\n\n_No response_\n\n### DevTools version (automated)\n\n_No response_\n\n### Error message (automated)\n\n_No response_\n\n### Error call stack (automated)\n\n```text\n\n```\n\n### Error component stack (automated)\n\n```text\n\n```\n\n### GitHub query string (automated)\n\n```text\n\n```","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35583","labels":["Type: Bug","Status: Unconfirmed","Component: Developer Tools"],"created_at":"2026-04-19T04:30:58.234763+00:00","updated_at":"2026-04-19T04:30:58.234763+00:00"},{"id":282,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:35604","title":"[Compiler Bug]: Optional chaining not working with async try/catch function inside useEffect","description":"### What kind of issue is this?\n\n- [x] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [x] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://playground.react.dev/#N4Igzg9grgTgxgUxALhAHQHacwgHgBwhgBcACAEwQDMBDKAGzKqgzmIEsINSAVGgIwAUASlLBs3UlDAIAolSoI2gkaQC8APjETSu0jTABPVqWasOXUwmJwAFgBEaxGqvGS9pYjEPb3H0nBcYGTkTjTqpADaALoA3Jj+eoEYwRRhAEwRoc4A-AB0VESyNHaC7MQIALbqWsmQ9Ah59BAA5sLxfroAvgFOdqSCCDAwRKJuibp1EA15QyMwggDkssNEVja27BgtpI7OyIsANKRzox2JXQl6l1i3Hoobey7tV13HMS+3VzDWsNyCV10AB4NIDSECAPSgu6kT43ECHEDJKjsFooEDsSqEEieQz4BBiUgABXoUBaWwA8vgLClSD0qCNqot+AIEPQALT4UnkjDsn4lYjswJY9gNGAQ8jsYKLDqYQTjUgQiHC-CipycDAAWQglGQpDQIBo9HoBswPTA6rAKIQYGJ3Mp1I1YHaCPAtggAHcAJIYCowDBGsAoWj0GRdIA\n\n### Repro steps\n\nUsing the next code reproduce the issue: \n\n```ts\n\n\n\nexport default function Tab() {\n\n  useEffect(() => {\n\n    async function fetchData() {\n      try {\n        const data = [];\n        const data2 = data?.forEach(item => console.log);\n      } catch (error) {\n        console.error('Error fetching Data:', error);\n      }\n    }\n\n\n    fetchData();\n  }, []);\n\n\n  return (\n    <>\n    </>\n\n  );\n}\n\n```\n\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\nLatest version\n\n### What version of React Compiler are you using?\n\nLatest version","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35604","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.234249+00:00","updated_at":"2026-04-19T04:30:58.234249+00:00"},{"id":281,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:35605","title":"[Compiler Bug]: (BuildHIR::lowerStatement) Support ThrowStatement inside of try/catch","description":"### What kind of issue is this?\n\n- [ ] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [x] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://playground.react.dev/#N4Igzg9grgTgxgUxALhAgHgBwjALgAgBMEAzAQygBsCSoA7OXASwjvwBUyAjACgEp8wADpt8cVmAKEyuMvgC8+ANoBdEfnxkwATwb5aDZq3wBzBLgAKMCCSaUE-Qeo35cMbU9EuXTEvh4IMNYwAsJe3i64ABbWAO74gcEA3M4R+AC+qRliMnBR-ok4oVka4nSQ9gB0lBAmAUFFWZmizSLOMOawbDxZADwAfCXsCJJ9APSDonwpdM0gADQgZbYmKCBMALbYeK7amAiC+BaUUCZMdADymEbl2STWG-gA5FzcCJQAtJgnZ3QfHWRGB9xFs7IExoQmJInjMRDwwhoxmMQZg7DIWHQALIQYjIfBCEBkSiUAkidL4MDosC2EZHH7nK43MDTBbgKIQWIASTouECdCJYBQ5EoYAQ6SAA\n\n### Repro steps\n\n1. go to the playground\n2. use the next code:\n```ts\nexport default function Tab() {\n  const data = []\n  async function getProfile() {\n    try {\n        if (error) {\n          throw error;\n        }\n    } catch (error) {\n      console.log(error)\n    }\n  }\n\n\n  return (\n    <>\n     Test\n    </>\n  );\n}\n\n```\n\nyou will see the error \n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\nlatest\n\n### What version of React Compiler are you using?\n\nlatest","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35605","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.233742+00:00","updated_at":"2026-04-19T04:30:58.233742+00:00"},{"id":280,"ecosystem":"npm","package_name":"react-is","affected_version":"19.2.3","fixed_version":null,"bug_id":"github:35613","title":"[Compiler Bug]: Expected memoization doesn't happen if multiple factors come into play","description":"### What kind of issue is this?\n\n- [x] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [ ] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://github.com/JonasDoe/FailingReactCompiler\n\n### Repro steps\n\nWhen I combine optional chaining with a `try/catch` pattern, `doSomething ` isn't stable anymore and the `useEffect`  callback (hence: the logging) is invoked multiple times.\n\n```tsx\nexport const MinimalFailingCase: React.FC = () => {\n  const [count, setCount] = useState(0);\n  const { doSomething } = useMinimalFailing();\n\n  useEffect(() => {\n    console.log('[MinimalFailing] Effect ran - doSomething changed'); // this is logged on every button click\n  }, [doSomething]);\n\n  return (\n      <p>Count: {count}</p>\n      <button onClick={() => setCount(c => c + 1)}>Increment</button>\n  );\n};\n\nconst useClient= ()=> {\n    const [client] = useState({ doThing: async () => 'result' });\n    return client;\n}\n\nconst useMinimalFailing =()=> {\n    const client = useClient();\n    const doSomething = async () => {\n        try {\n            // ❌ Optional chaining - compiler doesn't memoize\n            const result = await client?.doThing();\n            return { type: 'ok' as const, result };\n        } catch {\n            return { type: 'err' as const };\n        }\n    };\n    return { doSomething };\n}\n```\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\n19.2.3\n\n### What version of React Compiler are you using?\n\nbabel-plugin-react-compiler@1.0.0, if you mean that","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35613","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.233033+00:00","updated_at":"2026-04-19T04:30:58.233033+00:00"},{"id":279,"ecosystem":"npm","package_name":"react-is","affected_version":"19.2.3","fixed_version":null,"bug_id":"github:35622","title":"[Compiler Bug]: useRef<HTMLFormElement | null> - Error: This value cannot be modified","description":"### What kind of issue is this?\n\n- [ ] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [ ] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://playground.react.dev/#N4Igzg9grgTgxgUxALhASwLYAcIwC4AEwBUYCAYrhgMoIwBudASgmFADaEC+BAZjBAwEAOiAB0AelIIAtLyoyyDOjJisOeUQG5hAOz0IAHjnwE8ATywICAVTKUYGAPJY8aCLrAEAvET0ECNV4AUXYHDGQCFgBDODwxFl4nACMAKwQ4gB4ACQAVAFkAGXDQhAwEXUIAHwJdDnYAPh1dLmaDY1xCXihdOPddEnsqAApgf0CEELCqABo9Lki7CioXNw8wTNyALQgAE2o4AAsy6IaASj8Bgjh1wgBtJUYYFjZOGYIyPFplZ-VOAF0fINlo5vk8XhphmdmgFxjdPIQIE8AO4wNB4EEYABq0XYUFYQOG8kcOLxrAu3galwCATQvAIwwAhEFQuExHBYGpKhc1HhYLoYTT4WBCAhpo4gSzxRh2ZyKng2lcAsSGcLCABrBDmAhoAbE7G4-FgC5jJU0ukMzXa3UEMXhE3jGk0u1UO5W-5ieiG6y+fWko1urX-QVOriOghhq6tPQxq68-nUmmPZh-PBzM2fMEp15p8NIuio9GY-2sdMBaMtEAzEDw3hoADmKHQ2E6Zks1mIAAU8fXdat+l4ePxBAQAOTJaLJMUyLA93WqBCxPAyG7YNDsOgSXZoEWjxWjcYSCSrrDr6JrXT5PYISKiXHsUTzD7nnd1gndqC93T99bQqvgQ4IGRABJSo6F0XEwBQPAYHxLggA\n\n### Repro steps\n\nLook the playground\n\n\n**NOTE**: even if the error is triggered for line `18` (body of the `overrideFormValues`) , removing line `10` make the compiler happy. It's weird for me.\n\n---\n\nCode\n```ts\nimport { useFormServerResult } from \"./use-form-server-result\";\n\nexport type UseFormOptions = {\n  refElForm: React.RefObject<HTMLFormElement | null>;\n};\n\nexport function useForm({\n  refElForm,\n}: UseFormOptions<TZodSchema>) {\n  const [serverResult, setServerResult] = useFormServerResult();\n  \n  const overwriteFormValues = (formValues) => {\n    if (!refElForm.current) return;\n    const elForm = refElForm.current;\n\n    for (const key in formValues) {\n      if (key in elForm) {\n        elForm[key].value = formValues[key];\n      }\n    }\n  };\n\n\n  return {\n    serverResult,\n    setServerResult,\n    overwriteFormValues,\n  };\n}\n```\n\n\nError\n```bash\nFound 1 error:\n\nError: This value cannot be modified\n\nModifying component props or hook arguments is not allowed. Consider using a local variable instead.\n\n  16 |     for (const key in formValues) {\n  17 |       if (key in elForm) {\n> 18 |         elForm[key].value = formValues[key];\n     |         ^^^^^^^^^^^ `refElForm` cannot be modified\n  19 |       }\n  20 |     }\n  21 |   };\n```\n\n--- \n\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\n19.2.3\n\n### What version of React Compiler are you using?\n\n?","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35622","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.232471+00:00","updated_at":"2026-04-19T04:30:58.232471+00:00"},{"id":278,"ecosystem":"npm","package_name":"react-is","affected_version":"19.2.3","fixed_version":null,"bug_id":"github:35633","title":"[Compiler Bug]: some spaghetti code gives me Todo: PruneHoistedContexts","description":"### What kind of issue is this?\n\n- [x] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [ ] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://playground.react.dev/#N4Igzg9grgTgxgUxALhAHRFMCAEcA2AlggHYAuGA3GiYQLYAOEMZOweMCAhmQgMIRyCAB5kANDjIBPBrgBifCdNk4AStzhkAchAAmCCVgQBlMj1wBfHADMYEOjgycumqjRqEhMay9zGSLgDWAkKibO5kcIK85Mg4YGQwngDm1CRoZBCyJHEARhAQ+NwkaRkEENgAKvQI0GRx6mSwJJUyCAA8yrXW8Qhk1XS1UGQAfGkW7uRtOADy2f5BuVwwciQ4ALw4ABRRQrHxiSkAlBsjOABuEIS6pSS7CTgLcIFLMCG8YZtwzrzvIqztWbzALPV6rHAAHxwJCg+HwODOWxhcKOtxETBYeEEDyeL2Wf1EAAU7OdrggYHEFO12HAABaEfC6Tg5NQabR6SxnTZbGn0xnMnAWE7rM7ACL3VgAbXOXHwUAMvTIADVZfKALobHBGUzmHCA3EE1hQqAkfTWTwIXQI7Yms0W3SoyZlbGsLKkXGvOJzd0gvErNbc3YxeoHJIkZJHOKXa6ncLpChkbDK1UIHkRDLOvbidMJt0sxLysQ5sr4CoIAZDENJit1LZbYWi4sJ8rYD3LeulBMZCwSABsAAZB0ci-Hu474xZbhlrCbNIRBHhS63fa961GrlaxaPE30VXLU1sGJxzg24xmE4QelsAIRHhAns9dhOcJowNZ386d88Tbcl7gwGthkPY8ADoW3LGo6nHc8MhfZo2BwECkI-CQ8ziHx8GwQUvzIIUpwTatIKA+tYy3GCd2TfctltBBzRIS1oITHscAAJiHTsfwiOC322HN2jbN5on+EDiQgUl9BgC4U3WYA8wEiwRibYA6QZJlSE4p92lyYZMnSX8Ey6dYMG0shdIwJsMkEPgiGeGSSJFR9yJLMsBI7CzcI089FP0jJgBlfcAH4wKE8hPITdoAHoTN07zz0igTDREkkyRgWKyHHScaBAMQQF2c1khQEB6AxVgugQwk5WSTw5jIecSDAQUbDsBwAHIllyBB8AAWgYSrPC65xNC6qJGAZckIt0QgEha240zWHAIoikaGAZHg6oAWQ5OIMFlfBzJIKwwDWsBzQQBqKqgKqSBquqwFRbLwFpCAAHcAEkvACTCUAw7ALCAA\n\n### Repro steps\n\nOpen playground, see error:\n\n> Todo: [PruneHoistedContexts] Rewrite hoisted function references\n\nChanging `function closeSnackbar` to `const closeSnackbar` fixes it (among lots of other changes) \n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\n19.2.3\n\n### What version of React Compiler are you using?\n\n1.0.0","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35633","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.231882+00:00","updated_at":"2026-04-19T04:30:58.231882+00:00"},{"id":277,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:35721","title":"[DevTools Bug]: string listing","description":"### Website or app\n\nAmazon package 📦 🤗 ☺️ pvt ltd. Com\n\n### Repro steps\n\nTulsi das sahani \n\n### How often does this bug happen?\n\nEvery time\n\n### DevTools package (automated)\n\n_No response_\n\n### DevTools version (automated)\n\n_No response_\n\n### Error message (automated)\n\n_No response_\n\n### Error call stack (automated)\n\n```text\nHiiii\n```\n\n### Error component stack (automated)\n\n```text\nHindi\n```\n\n### GitHub query string (automated)\n\n```text\nBahadurganj\n```","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35721","labels":["Type: Bug","Status: Unconfirmed","Component: Developer Tools"],"created_at":"2026-04-19T04:30:58.231348+00:00","updated_at":"2026-04-19T04:30:58.231348+00:00"},{"id":276,"ecosystem":"npm","package_name":"react-is","affected_version":"19.2.3","fixed_version":null,"bug_id":"github:35770","title":"[Compiler Bug]: react-compiler-runtime missing makeReadOnly/shouldInstrument/useContext_withSelector","description":"### What kind of issue is this?\n\n- [x] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [ ] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://playground.react.dev/#N4Igzg9grgTgxgUxALhAejQAgAIIHYCGARgDYICiAtgJYAuAYjAggF4I77FlV0CSeYWjCiV8DCDADmCWjhIQA7ghgBhCHloIAHrQCCcRGDAAdPADMoeOLWrrMUMAnoQIACgAOMCO7ABKTMCmmJhw6oIBZi4ANJhEBDAAvpgAvPaOahratK4AsgCeGZo6vgDcQZhMtLB4mJEQvJTuJB5ePgB0WjF1MXEwpaYJpiBRIKHm1JIoINSNErK0ee7swJgACiRQktR4APLuNmGYSWZelJgA5HFECCQAtE2b27dMBNa3oY3UZDBoACbUgnOZTwplcgRqmAwH3cXwIBzwOQgvwQyEwxhABBIJHRA0wYDhALM1AQYDWGy2u32tgEpWG4AAFop+JoYIQSGAUGZMY4EkA\n\n### Repro steps\n\n1. Open the Playground repro link:\nhttps://playground.react.dev/#N4Igzg9grgTgxgUxALhAejQAgAIIHYCGARgDYICiAtgJYAuAYjAggF4I77FlV0CSeYWjCiV8DCDADmCWjhIQA7ghgBhCHloIAHrQCCcRGDAAdPADMoeOLWrrMUMAnoQIACgAOMCO7ABKTMCmmJhw6oIBZi4ANJhEBDAAvpgAvPaOahratK4AsgCeGZo6vgDcQZhMtLB4mJEQvJTuJB5ePgB0WjF1MXEwpaYJpiBRIKHm1JIoINSNErK0ee7swJgACiRQktR4APLuNmGYSWZelJgA5HFECCQAtE2b27dMBNa3oY3UZDBoACbUgnOZTwplcgRqmAwH3cXwIBzwOQgvwQyEwxhABBIJHRA0wYDhALM1AQYDWGy2u32tgEpWG4AAFop+JoYIQSGAUGZMY4EkA\n\n2. In the compiled output, note that compiler-emitted code imports helpers from react-compiler-runtime (for example makeReadOnly / shouldInstrument / useContext_withSelector).\n\n3. In a clean folder, check what react-compiler-runtime actually exports:\n\nnpm init -y\nnpm i react@18 react-compiler-runtime@latest\nnode -e \"const r=require('react-compiler-runtime'); console.log({makeReadOnly:typeof\nr.makeReadOnly,shouldInstrument:typeof r.shouldInstrument,useContext_withSelector:typeof r.useContext_withSelector,\n$makeReadOnly:typeof r.$makeReadOnly}); try{r.$makeReadOnly()}catch(e){console.error(e.message)}\"\n\n4. Observe:\n\n- makeReadOnly, shouldInstrument, and useContext_withSelector are undefined (not exported).\n- $makeReadOnly exists but throws TODO: implement $makeReadOnly in react-compiler-runtime.\n\n5. This creates a compiler/runtime mismatch: compiler output references helpers that runtime package does not provide.\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\n19.2.3\n\n### What version of React Compiler are you using?\n\nbabel-plugin-react-compiler@0.0.0-experimental-334f00b-20240725. note: react-compiler-runtime@0.0.1 is the runtime involved in the mismatch.","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35770","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.230750+00:00","updated_at":"2026-04-19T04:30:58.230750+00:00"},{"id":275,"ecosystem":"npm","package_name":"react-is","affected_version":"19.2.4","fixed_version":null,"bug_id":"github:35772","title":"[react-compiler-healthcheck] Add --verbose to list components that failed compilation","description":"### What kind of issue is this?\n\n- [ ] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [ ] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [x] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nN/A — feature request.\n\n### Repro steps\n\nHealthcheck only prints \"Successfully compiled X out of Y components\" and does not show which components failed.\n\n**Proposal:** Add a `--verbose` flag to print for each failed component:\n- file path\n- location (line/column when available)\n- error reason\n\nThe data is already collected in `ActionableFailures` / `OtherFailures` in `reactCompiler.ts`; it only needs to be printed when the flag is set. That would make it possible to fix remaining violations and to trust the reported counts.\n\n**Related:** #29078 (closed), #29677 (open — \"how do I find the remaining components?\").\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\n19.2.4\n\n### What version of React Compiler are you using?\n\nbabel-plugin-react-compiler@1.0.0 (via Expo SDK 54); react-compiler-healthcheck@19.1.0-rc.3","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35772","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.230180+00:00","updated_at":"2026-04-19T04:30:58.230180+00:00"},{"id":274,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:35821","title":"Bug: useDeferredValue gets stuck with a stale value","description":"Essentially, I see `useDeferredValue` being stuck and never catching up.\n\nNot sure if it's possible to extract it out of a Next.js app. I think it's probably a React bug because it seems related to core APIs, but I couldn't simplify it past the \"render some JSX from server action\" repro case.\n\n## Demo\n\nType \"hello world\".\n\nIn dev (`npm run dev`), the second text area catches up.\n\nIn prod (`npm run build + npm start`), the second text area often gets stuck and never catches up.\n\nhttps://github.com/user-attachments/assets/a44f01ad-1a7d-4420-a6da-cadb277ded72\n\n## Code\n\nHere is a repro case: https://github.com/gaearon/react-udv-bug/\n\nThis is the main harness:\n\n```js\nexport function TestPreviewClient() {\n  const [promise, setPromise] = useState<Promise<ReactNode>>(initialPromise);\n  const deferred = useDeferredValue(promise);\n\n  function handleChange(value: string) {\n    setPromise(renderAction(value));\n  }\n\n  return (\n    <div style={{ padding: 16, fontFamily: \"monospace\" }}>\n      <textarea\n        placeholder=\"type here\"\n        onChange={(e) => handleChange(e.target.value)}\n        rows={3}\n        style={{ width: \"100%\", fontFamily: \"monospace\" }}\n      />\n      <div\n        data-testid=\"deferred\"\n        style={{ border: \"1px solid #ccc\", padding: 8, minHeight: 40 }}\n      >\n        <Suspense fallback={<div>loading...</div>}>\n          <Resolved promise={deferred} />\n        </Suspense>\n      </div>\n    </div>\n  );\n}\n```\n\nNote these helpers:\n\n```js\nexport function ClientWrapper({ children }: { children: ReactNode }) {\n  const t = performance.now();\n  while (performance.now() - t < 2) {\n    // do nothing\n  }\n  return <>{children}</>;\n}\n\nfunction Resolved({ promise }: { promise: Promise<ReactNode> }) {\n  return <>{use(promise)}</>;\n}\n```\n\nAnd this is the server part:\n\n```js\nasync function AsyncChild({\n  children,\n}: {\n  children: ReactNode;\n}): Promise<ReactNode> {\n  await new Promise((r) => setTimeout(r, 1));\n  return children;\n}\n\nasync function Item({ children }: { children: ReactNode }): Promise<ReactNode> {\n  return (\n    <ClientWrapper>\n      <AsyncChild>{children}</AsyncChild>\n    </ClientWrapper>\n  );\n}\n\nexport async function renderAction(input: string): Promise<ReactNode> {\n  return (\n    <Item>\n      <div>\n        <Item>\n          <div>{input}</div>\n        </Item>\n      </div>\n    </Item>\n  );\n}\n```\n\nYou can generally simplify this structure but then it will be harder to reproduce.","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35821","labels":["Type: Bug","Component: Suspense"],"created_at":"2026-04-19T04:30:58.229671+00:00","updated_at":"2026-04-19T04:30:58.229671+00:00"},{"id":273,"ecosystem":"npm","package_name":"react-is","affected_version":"7.0.1","fixed_version":null,"bug_id":"github:35923","title":"[DevTools Bug] Cannot read properties of null (reading 'ownerDocument')","description":"### Website or app\n\nmaterial-library.com\n\n### Repro steps\n\n1. open the site\n2. clicked on the view all button for categories\n3. scrolled the page and stopped recording\n4. clicked timeline option\n\n### How often does this bug happen?\n\nOnly once\n\n### DevTools package (automated)\n\nreact-devtools-extensions\n\n### DevTools version (automated)\n\n7.0.1-3cde211b0c\n\n### Error message (automated)\n\nCannot read properties of null (reading 'ownerDocument')\n\n### Error call stack (automated)\n\n```text\nat chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:919551\n    at chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:919824\n    at commitHookEffectListMount (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:129924)\n    at commitLayoutEffectOnFiber (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:142040)\n    at recursivelyTraverseLayoutEffects (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:157699)\n    at commitLayoutEffectOnFiber (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:141997)\n    at recursivelyTraverseLayoutEffects (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:157699)\n    at commitLayoutEffectOnFiber (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:141997)\n    at recursivelyTraverseLayoutEffects (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:157699)\n    at commitLayoutEffectOnFiber (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:141997)\n```\n\n### Error component stack (automated)\n\n```text\nat ContextMenu_ContextMenu (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:918953)\n    at ContextMenuContainer (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:920310)\n    at CanvasPageContextMenu (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:1089461)\n    at AutoSizedCanvas (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:1091403)\n    at div (<anonymous>)\n    at _t (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:754231)\n    at div (<anonymous>)\n    at src_CanvasPage (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:1096981)\n    at TimelineSearchContextController (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:1089153)\n    at div (<anonymous>)\n    at Timeline_Timeline (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:1116965)\n    at div (<anonymous>)\n    at div (<anonymous>)\n    at div (<anonymous>)\n    at SettingsModalContextController (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:879909)\n    at chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:1144384\n    at ao (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:898411)\n    at div (<anonymous>)\n    at div (<anonymous>)\n    at ThemeProvider (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:901116)\n    at chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:901313\n    at div (<anonymous>)\n    at div (<anonymous>)\n    at div (<anonymous>)\n    at ThemeProvider (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:901116)\n    at SuspenseTreeContextController (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:1147064)\n    at InspectedElementContextController (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:915935)\n    at TimelineContextController (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:994422)\n    at ProfilerContextController (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:986233)\n    at TreeContextController (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:786019)\n    at SettingsContextController (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:815755)\n    at ModalDialogContextController (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:972480)\n    at DevTools_DevTools (chrome-extension://fmkadmapgofadopljbjfkapdkoienihi/build/main.js:1:1175879)\n```\n\n### GitHub query string (automated)\n\n```text\nhttps://api.github.com/search/issues?q=Cannot read properties of null (reading 'ownerDocument') in:title is:issue is:open is:public label:\"Component: Developer Tools\" repo:facebook/react\n```","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35923","labels":["Type: Bug","Status: Unconfirmed","Component: Developer Tools"],"created_at":"2026-04-19T04:30:58.228616+00:00","updated_at":"2026-04-19T04:30:58.228616+00:00"},{"id":272,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:35939","title":"[Compiler Bug]:","description":"### What kind of issue is this?\n\n- [x] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [x] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [x] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [x] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nyangliwen_peter\n\n### Repro steps\n\n1.Trigger dead lock.\n2.loop until Long.MAX_VALUE overflow.\n3.thread start from zero of array.\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\n2.10\n\n### What version of React Compiler are you using?\n\n2.00","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35939","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.228037+00:00","updated_at":"2026-04-19T04:30:58.228037+00:00"},{"id":271,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:35940","title":"[Compiler Bug]: react mutithread sync exception","description":"### What kind of issue is this?\n\n- [x] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [x] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [x] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [x] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nreact\n\n### Repro steps\n\n1.compiler wrong with math index unmatch.\n2.compiler unable to exact to learn to write jvm.gc collect.\n3.wrong design pattern of upload code.\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\n1.11\n\n### What version of React Compiler are you using?\n\n1.01","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35940","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.227540+00:00","updated_at":"2026-04-19T04:30:58.227540+00:00"},{"id":270,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:35954","title":"[DevTools Bug]: confused on prerender pages and resulting in high-cpu usage loop","description":"### Website or app\n\nexample; https://yuri.twintail.org/chrome/prerendering/specrules.html\n\n### Repro steps\n\nHello, I'm Takashi from Google Chrome team.\n\nI've investigated high-cpu usage issue on prerendering, and noticed that the React Developer Tools seems to be a root cause.\nThe original report for the chromium project is here; https://crbug.com/478909972\n\nSteps:\n1. Install React Developer Tools Extension (from the Chrome Web Store)\n2. Visit a page that uses specupationrules\n3. Open Chrome's Task manager from ... > More tools >, and see CPU usages\n4. Usage for the prerender pages shows higher CPU usages\n5. Open DevTools\n6. Prerender pages' CPU usages get much higher, and frame of the React Developer Tools spends almost 100%\n\nThis needs that the current page is accessible from the Extensions. e.g., they would not have a permission to touch the New Tab Page, and this doesn't happen there.\n\nAlso, this happens with Chrome UI triggered pretenders too. So, even if the page doesn't use the speculationrules, the problem could happen when users type something in the Omnibox, and Chrome has confidence on the next navigating page.\n\nI suspect this is because the extension doesn't expect the Chrome's recent MPArch: Multi-Page Architecture, and is confused on multiple page navigations.\nHere is a resource for the prerender and link for its impact on the Extension system.\n[Prerender pages in Chrome for instant page navigations > Impact on extensions\n](https://developer.chrome.com/docs/web-platform/prerender-pages#impact_on_extensions)\n\n### How often does this bug happen?\n\nEvery time\n\n### DevTools package (automated)\n\n_No response_\n\n### DevTools version (automated)\n\n_No response_\n\n### Error message (automated)\n\n_No response_\n\n### Error call stack (automated)\n\n```text\n\n```\n\n### Error component stack (automated)\n\n```text\n\n```\n\n### GitHub query string (automated)\n\n```text\n\n```","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/35954","labels":["Type: Bug","Component: Developer Tools"],"created_at":"2026-04-19T04:30:58.227029+00:00","updated_at":"2026-04-19T04:30:58.227029+00:00"},{"id":269,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:36162","title":"[DevTools Bug]: Extension running a worker file in main thread on non-React website","description":"### Website or app\n\nhttps://honing-forecast.pages.dev/Newchar\n\n### ~~Repro steps~~\n\n1. ~~Open the site with the extension enabled on Chrome (and any Chromium browsers it seems) or Firefox~~\n\n~~The memory footprint shoots up like crazy (seen with chrome task manager, it's usually <250MB, with the extension on it's gigabytes), the cpu is stuck at 100+% and eventually Chrome crashes. I've tried taking a heap snapshot with chrome devtool but it only shows a 20MB footprint.~~\n\n~~I should note this does not occur with the extension disabled. I'd love to provide more insight, but the site is not even using React (and the extension says as much). I'm incredibly confused as to why this might be happening (the source code of my site is [available here](https://github.com/Kenivia/Honing-Forecast)).~~\n\nInitial symptom was resolved, see discussion below!\n\n\n\n### How often does this bug happen?\n\nEvery time\n\n### DevTools package (automated)\n\n_No response_\n\n### DevTools version (automated)\n\n_No response_\n\n### Error message (automated)\n\n_No response_\n\n### Error call stack (automated)\n\n```text\n\n```\n\n### Error component stack (automated)\n\n```text\n\n```\n\n### GitHub query string (automated)\n\n```text\n\n```","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/36162","labels":["Type: Bug","Status: Unconfirmed","Component: Developer Tools"],"created_at":"2026-04-19T04:30:58.226468+00:00","updated_at":"2026-04-19T04:30:58.226468+00:00"},{"id":268,"ecosystem":"npm","package_name":"react-is","affected_version":"19.2.4","fixed_version":null,"bug_id":"github:36167","title":"[Compiler Bug]: can't use $ as component name in Client Components","description":"### What kind of issue is this?\n\n- [x] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [ ] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://playground.react.dev/#N4Igzg9grgTgxgUxALhAMygOzgFwJYSYAEAJABTBwAWeANgCYwKYC+AlEcADrFFM6xiAHnp4AbgD5KNBk1ZCA9KMk8WPHggAeABwgwcRegjQBDKLQMZs+QkQCyATwCC27WQ7de-QUSEkJQlQAjBIAEgi0tBBEAOp6DACEisEBCv6qPCAANCBwhGh4AOYoIHgAtrr6RDgO2gicRAAKtFCFeJgA8to2mGBELERoMBBlRADkAEYmExEAtNotbZizTCa4s3kVdAgwSnhgOGMA3OqYFDxERAoKm9p0Jj12EEbIRFwgJpHvqkRgD-sFBB9ZqtdpdHpgNhHbLgKgQADuAElMDgdphPmAUKZaGAECwgA\n\n### Repro steps\n\nIn my codebase, I have a utility component called `<$>` that I use as a succinct shortcut for inline styles.\n\n```tsx\n// this\n<$ fs=\"10em\" x=\"30%\" y=\"10%\">\n  <h1>Hello World!</h1>\n</$>\n\n// is equivalent to this\n<h1 style={{fontSize: \"10em\", left: \"30%\", position: \"absolute\", top: \"10%\"}}>Hello World!</h1>\n```\n\nThis works in Server Components, but breaks in Client Components. It seems that React Compiler uses `$` and `_c` as reserved variables, which overwrite my component. So either\n\n1. the Compiler should detect when `$` in the scope and choose a different variable name, or\n2. the docs should include a warning about this (apologies if they already do, I couldn't find any)\n\n<img width=\"978\" height=\"507\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/b7c3230f-7be3-4500-95a4-81316534b924\" />\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\n19.2.4\n\n### What version of React Compiler are you using?\n\n1.0.0","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/36167","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.225736+00:00","updated_at":"2026-04-19T04:30:58.225736+00:00"},{"id":267,"ecosystem":"npm","package_name":"react-is","affected_version":"19.2.4","fixed_version":null,"bug_id":"github:36232","title":"[Compiler Bug]: custom hook, result of which interacts with previously calculated value, disables compilation.","description":"### What kind of issue is this?\n\n- [x] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [ ] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://playground.react.dev/#N4Igzg9grgTgxgUxALhASwLYAcIwC4AEwBcMCAhnggMIQB2VAHngDQFRg31OvucCyCDBAIBfAgDMYEDAQA6IMuTh4FAbjl1NEqHRVp6JcgBs4UY5QQBlPJTAAKXABMEMMMnZ0A1nQgB3OgBtAF0ASiJNOTwyPFg6AmdXMAA6YwQ6AHM8AAsNOlFIugRGHHwSejBCADkoDAAjVwAxXAxKWgZiwgBeEiUqdp57Ir8CAEkGY2Sa+qaWyntQ0LztXX1DDgRphphmmFa8BYitaIRYmHiNgc77Ldm9tu5Opc0CrToAeneCACFyJwIALRGUzmSw2OwEXyEDBCCBoABeCCcmmKpUIOj0eAM8QA8kV7MREm4xB5CTAXG4PLofP4gsExOFgJE8HAKoQwLUCD17IcugA+I5RKIxOLAswWKjgvAOIlgZ7HUShBbLY6suiVAhYGBoRC3HZzbp8Ta1ba7fbKwrC06igA8-AAnjioHgsM6CE5KOQusAtTrjTN9fc8MkJAb7ByMKFxO8+XlXppPgQMhAIP8gXATOKwbZpQQ0GACDDhAikSiSrh0assYYACp+CAEhLkpIkohNinuTw0gIhBmCllsggRrkEHnhfn9q1neIZkES6w5mXNtzyqKKi1vKJqjW+3Umu77EcbPVm+ar44i84EO2O52uwge2zeiPR2MvQqJ5OpwFi0GSxd5gWRYQPCaClkU5ZlBiazxDW2RkAgjayq2ZIdlS3i+D29KKv227spyPQbIIwhjlyApMscU6irOWb-nYjjLnKyx4KIbCBLKYQqlug67v6poGkenAnmG55UVeN5Oi6bqPl6PranuAansGoZBuGtRRgQMZxpoIAsCAaoSGgGQoCAFEEJp7ystgaASti-CpggHgKCYxgKC8ungNk-jjFQ5wmGAKASP5CCiEAA\n\n### Repro steps\n\nI'm sorry for a wishy-washy title. I'm struggling to describe in words what exactly are the conditions I've hit here.\n\nThis might be a duplicate of https://github.com/facebook/react/issues/33050 or https://github.com/facebook/react/issues/31631, but I'm not certain.\n\nNote:\nDesired memoization seems to be easily restorable with manual `useMemo` call.\n\nGiven that, I think this is a bug in compiler, but I would be completely okay with this being something that compiler just cannot handle, and that requires manual intervention via `useMemo`, if react compiler _told_ me that it didn't work. But it does not! Far more serious issue in my opinion is that  despite \n```\nplugins: [[\"babel-plugin-react-compiler\", { panicThreshold: \"all_errors\" }]]\n```\nThe only way for me to notice that original (`One`) code didn't memoize is by randomly pasting the code into the playground. \n\nIs there a way to get even more panics, to indicate when compiler gives up?\n\n\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\n19.2.4\n\n### What version of React Compiler are you using?\n\n1.0.0","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/36232","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.224958+00:00","updated_at":"2026-04-19T04:30:58.224958+00:00"},{"id":266,"ecosystem":"npm","package_name":"react-is","affected_version":null,"fixed_version":null,"bug_id":"github:36279","title":"[Compiler Bug]: `environment.validateNoSetStateInRender` doesn't throw an error for wrong case","description":"### What kind of issue is this?\n\n- [x] React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)\n- [ ] babel-plugin-react-compiler (build issue installing or using the Babel plugin)\n- [ ] eslint-plugin-react-hooks (build issue installing or using the eslint plugin)\n- [ ] react-compiler-healthcheck (build issue installing or using the healthcheck script)\n\n### Link to repro\n\nhttps://playground.react.dev/#N4Igzg9grgTgxgUxALhASwLYAcIwC4AEwBUYCAyngIZ4IEC+BAZjBBgQOQwJVx4cBuADoA7UUygi+aCCIIAxNABsEAFW4IAFAEoioggTiywhYrzxoAbggAiEOADkqGOowC8JMnbhQXIvADCsrQAHng6wnKGxoQA2ljclgCC0tbeTi4ANARkeAAKiSkWafYZCAC6BB6kFNS0muZWtqXOCNqR+gRoTAQNqc2OrQQAhG4eCQjJ-emtusCdBrkFk0VNMy59xQNl7Z30op3ceLByADwAJlYEAPQAfKL7IiCZIEYiTGgA5igg81FCIAQIksaFYIj8eAByD0YhAlioSjQ5xoCAcEHICDwlBRAEkRAAlIHnBAwKEEPAwKAIPYPZ7gAAWEAA7njaDARAiwCgmJyEPQgA\n\n### Repro steps\n\nReplace `if (activeDocName !== prevActiveDocName) {` with `if (true) {` and you will receive\n\n```\nFound 1 error:\n\nError: Cannot call setState during render\n\nCalling setState during render may trigger an infinite loop.\n* To reset state when other state/props change, store the previous value in state and update conditionally: https://react.dev/reference/react/useState#storing-information-from-previous-renders\n* To derive data from other state/props, compute the derived data during render without using state.\n\n   6 |\n   7 |   if (true) {\n>  8 |     setPrevActiveDocName(activeDocName);\n     |     ^^^^^^^^^^^^^^^^^^^^ Found setState() in render\n   9 |   }\n  10 |\n  11 |   return <div />\n```\n\nI expected to receive the same error when using the condition `if (activeDocName !== prevActiveDocName) {`.\n\ncc @sleitor tagging you if it something that you want to fix based on your previous amazing contributions 🙏\n\n### How often does this bug happen?\n\nEvery time\n\n### What version of React are you using?\n\nlatest\n\n### What version of React Compiler are you using?\n\nlatest","severity":"medium","status":"fixed","source":"github_issues","source_url":"https://github.com/facebook/react/issues/36279","labels":["Type: Bug","Status: Unconfirmed"],"created_at":"2026-04-19T04:30:58.220611+00:00","updated_at":"2026-04-19T04:30:58.220611+00:00"}],"total":30,"_cache":"miss"}