{"push_id":2541820189,"size":19,"distinct_size":19,"ref":"refs/heads/master","head":"25dda90c1ecb0c662ab06e2c80c1ee31e0ae9d36","before":"999b656ed1c94b00fcfd043f54e18ade7553dee0","commits":[{"sha":"c040bcbea8e4393fbab549cc195162ac183625ed","author":{"name":"Dan Abramov","email":"ffbbe9cb1097e7ea6a3dedffde5b4fe769829acc@gmail.com"},"message":"Add server integration tests for new context (#12654)\n\n* Add server integration tests for new context\r\n\r\n* Pretty please\r\n\r\n* Remove unused","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/c040bcbea8e4393fbab549cc195162ac183625ed"},{"sha":"5dcf93d146ccde90af2c442d6cb32b29efddb46b","author":{"name":"Nicole Levy","email":"b240a25afff0ae2d7ecf581413b9f89e292b1f92@protonmail.com"},"message":"Validate props on context providers (#12658)\n\n* checkPropTypes in updateContextProvider\r\n\r\n* invalid “prop”\r\n\r\n* `type not `types` .. :l\r\n\r\n* test\r\n\r\n* don’t need extra check with no spelling mistake (:\r\n\r\n* change error message to specifically address provider\r\n\r\n* don’t need class, add extra render to make sure good props go through\r\n\r\n* nitpicky rename\r\n\r\n* prettier\r\n\r\n* switch to `Context.Provider`\r\n\r\n* add stack to warning, add extra undefined check\r\n\r\n* separate dev check\r\n\r\n* add stack to test\r\n\r\n* more efficient\r\n\r\n* remove unused function\r\n\r\n* prettier\r\n\r\n* const to top","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/5dcf93d146ccde90af2c442d6cb32b29efddb46b"},{"sha":"b548b3cd640dbd515f5d67dafc0216bb7ee0d796","author":{"name":"Andrew Clark","email":"2acf6cde80014901295f159e9eeaed48c8126d4e@me.com"},"message":"Decouple update queue from Fiber type (#12600)\n\n* Decouple update queue from Fiber type\r\n\r\nThe update queue is in need of a refactor. Recent bugfixes (#12528) have\r\nexposed some flaws in how it's modeled. Upcoming features like Suspense\r\nand [redacted] also rely on the update queue in ways that weren't\r\nanticipated in the original design.\r\n\r\nMajor changes:\r\n\r\n- Instead of boolean flags for `isReplace` and `isForceUpdate`, updates\r\nhave a `tag` field (like Fiber). This lowers the cost for adding new\r\ntypes of updates.\r\n- Render phase updates are special cased. Updates scheduled during\r\nthe render phase are dropped if the work-in-progress does not commit.\r\nThis is used for `getDerivedStateFrom{Props,Catch}`.\r\n- `callbackList` has been replaced with a generic effect list. Aside\r\nfrom callbacks, this is also used for `componentDidCatch`.\r\n\r\n* Remove first class UpdateQueue types and use closures instead\r\n\r\nI tried to avoid this at first, since we avoid it everywhere else in the Fiber\r\ncodebase, but since updates are not in a hot path, the trade off with file size\r\nseems worth it.\r\n\r\n* Store captured errors on a separate part of the update queue\r\n\r\nThis way they can be reused independently of updates like\r\ngetDerivedStateFromProps. This will be important for resuming.\r\n\r\n* Revert back to storing hasForceUpdate on the update queue\r\n\r\nInstead of using the effect tag. Ideally, this would be part of the\r\nreturn type of processUpdateQueue.\r\n\r\n* Rename UpdateQueue effect type back to Callback\r\n\r\nI don't love this name either, but it's less confusing than UpdateQueue\r\nI suppose. Conceptually, this is usually a callback: setState callbacks,\r\ncomponentDidCatch. The only case that feels a bit weird is Timeouts,\r\nwhich use this effect to attach a promise listener. I guess that kinda\r\nfits, too.\r\n\r\n* Call getDerivedStateFromProps every render, even if props did not change\r\n\r\nRather than enqueue a new setState updater for every props change, we\r\ncan skip the update queue entirely and merge the result into state at\r\nthe end. This makes more sense, since \"receiving props\" is not an event\r\nthat should be observed. It's still a bit weird, since eventually we do\r\npersist the derived state (in other words, it accumulates).\r\n\r\n* Store captured effects on separate list from \"own\" effects (callbacks)\r\n\r\nFor resuming, we need the ability to discard the \"own\" effects while\r\nreusing the captured effects.\r\n\r\n* Optimize for class components\r\n\r\nChange `process` and `callback` to match the expected payload types\r\nfor class components. I had intended for the update queue to be reusable\r\nfor both class components and a future React API, but we'll likely have\r\nto fork anyway.\r\n\r\n* Only double-invoke render phase lifecycles functions in DEV\r\n\r\n* Use global state to track currently processing queue in DEV","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/b548b3cd640dbd515f5d67dafc0216bb7ee0d796"},{"sha":"149a34f735b47f225e3d26ce2478b3181e4ff8fe","author":{"name":"Brian Vaughn","email":"402d01d3e800004cddda48fcac7fb832b25ae741@gmail.com"},"message":"Exposed flushSync on the test renderer (#12672)","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/149a34f735b47f225e3d26ce2478b3181e4ff8fe"},{"sha":"1e3cd332a015e312149efa36eb81c7523411cc2d","author":{"name":"Flarnie Marchan","email":"ccf7cc8b16f62d0912ba059ce1d42b3eb3971261@users.noreply.github.com"},"message":"Remove the 'alwaysUseRequestIdleCallbackPolyfill' feature flag (#12648)\n\n* Remove the 'alwaysUseRequestIdleCallbackPolyfill' feature flag\r\n\r\n**what is the change?:**\r\nRemoves the feature flag 'alwaysUseRequestIdleCallbackPolyfill', such\r\nthat we **always** use the polyfill for requestIdleCallback.\r\n\r\n**why make this change?:**\r\nWe have been testing this feature flag at 100% for some time internally,\r\nand determined it works better for React than the native implementation.\r\nLooks like RN was overriding the flag to use the native when possible,\r\nbut since no RN products are using 'async' mode it should be safe to\r\nswitch this flag over for RN as well.\r\n\r\n**test plan:**\r\nWe have already been testing this internally for some time.\r\n\r\n**issue:**\r\ninternal task t28128480\r\n\r\n* fix mistaken conditional\r\n\r\n* Add mocking of rAF, postMessage, and initial test for ReactScheduler\r\n\r\n**what is the change?:**\r\n- In all tests where we previously mocked rIC or relied on native\r\nmocking which no longer works, we are now mocking rAF and postMessage.\r\n- Also adds a basic initial test for ReactScheduler.\r\nNOTE -> we do plan to write headless browser tests for ReactScheduler!\r\nThis is just an initial test, to verify that it works with the mocked\r\nout browser APIs as expected.\r\n\r\n**why make this change?:**\r\nWe need to mock out the browser APIs more completely for the new\r\n'ReactScheduler' to work in our tests. Many tests are depending on it,\r\nsince it's used at a low level.\r\n\r\nBy mocking the browser APIs rather than the 'react-scheduler' module, we\r\nenable testing the production bundles. This approach is trading\r\nisolation for accuracy. These tests will be closer to a real use.\r\n\r\n**test plan:**\r\nrun the tests :)\r\n\r\n**issue:**\r\ninternal task T28128480","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/1e3cd332a015e312149efa36eb81c7523411cc2d"},{"sha":"1673485720d9ac172fcf1f8628a004a4990bf4f4","author":{"name":"Andrew Clark","email":"2acf6cde80014901295f159e9eeaed48c8126d4e@fb.com"},"message":"Revert stray console.log","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/1673485720d9ac172fcf1f8628a004a4990bf4f4"},{"sha":"09a14eacd45993cfc9fb623a9ee14a924f3ce483","author":{"name":"Andrew Clark","email":"2acf6cde80014901295f159e9eeaed48c8126d4e@fb.com"},"message":"Update bundle sizes","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/09a14eacd45993cfc9fb623a9ee14a924f3ce483"},{"sha":"9c77ffb444598c32c8f92c8d79e406959a10445b","author":{"name":"Flarnie Marchan","email":"ccf7cc8b16f62d0912ba059ce1d42b3eb3971261@users.noreply.github.com"},"message":"Dedup conditional in ReactScheduler (#12680)\n\n**what is the change?:**\r\nWe had a condition to set either 'performance.now' or 'Date.now' as the\r\n'now' function.\r\n\r\nThen later we had another conditional checking again if\r\n'performance.now' was supported, and using it if so, otherwise falling\r\nback to 'Date.now'.\r\n\r\nMore efficient to just use the 'now' shortcut defined above.\r\n\r\n**why make this change?:**\r\nFewer lines, clearer code.\r\n\r\n**test plan:**\r\nNow that we have tests we can run them :)","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/9c77ffb444598c32c8f92c8d79e406959a10445b"},{"sha":"ec57d2994156ba5fcf794100968764bf25206629","author":{"name":"Heaven","email":"4f8b4fffb2ea2c8f927735515804f64916ab1e03@163.com"},"message":"Remove redundant feature flag in the test due to https://github.com/facebook/react/pull/12117 (#12696)","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/ec57d2994156ba5fcf794100968764bf25206629"},{"sha":"d883d59863483a1fb9f3dd0455022e4c6e1a41d5","author":{"name":"Dan Abramov","email":"ffbbe9cb1097e7ea6a3dedffde5b4fe769829acc@gmail.com"},"message":"forwardRef() components should not re-render on deep setState() (#12690)\n\n* Add a failing test for forwardRef memoization\r\n\r\n* Memoize forwardRef props and bail out on strict equality\r\n\r\n* Bail out only when ref matches the current ref","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/d883d59863483a1fb9f3dd0455022e4c6e1a41d5"},{"sha":"7c3932857195d0cfba2379875b65f1bd1fae39fd","author":{"name":"Dan Abramov","email":"ffbbe9cb1097e7ea6a3dedffde5b4fe769829acc@gmail.com"},"message":"Don't bail on new context Provider if a legacy provider rendered above (#12586)\n\n* Don't bail on new context Provider if a legacy provider rendered above\r\n\r\n* Avoid an extra variable","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/7c3932857195d0cfba2379875b65f1bd1fae39fd"},{"sha":"045d4f166db6023550b76da6a83fe595a6cdf2f2","author":{"name":"Dan Abramov","email":"ffbbe9cb1097e7ea6a3dedffde5b4fe769829acc@gmail.com"},"message":"Fix a context propagation bug (#12708)\n\n* Fix a context propagation bug\r\n\r\n* Add a regression test","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/045d4f166db6023550b76da6a83fe595a6cdf2f2"},{"sha":"dcc854bcc3c940ca583565ce25200ca618c05bf0","author":{"name":"Airam","email":"f975e623ad05eb73a2149402d48a3d2c63c15a7b@users.noreply.github.com"},"message":"prevent removing attributes on custom component tags (#12702)","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/dcc854bcc3c940ca583565ce25200ca618c05bf0"},{"sha":"9a9f54720fda4c69e35503b64a215e6235cfe07d","author":{"name":"Dan Abramov","email":"ffbbe9cb1097e7ea6a3dedffde5b4fe769829acc@gmail.com"},"message":"Remove ES3-specific transforms (#12716)","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/9a9f54720fda4c69e35503b64a215e6235cfe07d"},{"sha":"7dd4ca2911d742f9b5c457ce2d010432fa2d6578","author":{"name":"Toru Kobayashi","email":"411531d9265de69abb99eda19baab99e84bb4678@gmail.com"},"message":"Call getDerivedStateFromProps even for setState of ShallowRenderer (#12676)","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/7dd4ca2911d742f9b5c457ce2d010432fa2d6578"},{"sha":"e0ca51a85d7c5b01c1efa7edb40080770d508cad","author":{"name":"Dan Abramov","email":"ffbbe9cb1097e7ea6a3dedffde5b4fe769829acc@gmail.com"},"message":"Make React.forwardRef() components discoverable by TestRenderer traversal (#12725)","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/e0ca51a85d7c5b01c1efa7edb40080770d508cad"},{"sha":"200357596aed51d5a71cac0996e3a0510e507156","author":{"name":"Sophie Alpert","email":"46f1a0bd5592a2f9244ca321b129902a06b53e03@sophiebits.com"},"message":"Add error when running jest directly (#12726)\n\n```\r\n$ jest\r\n FAIL  scripts/jest/dont-run-jest-directly.js\r\n  ● Test suite failed to run\r\n\r\n    Don't run `jest` directly. Run `yarn test` instead.\r\n\r\n    > 1 | throw new Error(\"Don't run `jest` directly. Run `yarn test` instead.\");\r\n      2 |\r\n\r\n      at Object.<anonymous> (scripts/jest/dont-run-jest-directly.js:1:96)\r\n\r\nTest Suites: 1 failed, 1 total\r\nTests:       0 total\r\nSnapshots:   0 total\r\nTime:        0.866s\r\nRan all test suites.\r\n```","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/200357596aed51d5a71cac0996e3a0510e507156"},{"sha":"ad7cd686670d8e519789fb226d8ff9175fb69370","author":{"name":"Dan Abramov","email":"ffbbe9cb1097e7ea6a3dedffde5b4fe769829acc@gmail.com"},"message":"Rename internal property to fix React DevTools (#12727)","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/ad7cd686670d8e519789fb226d8ff9175fb69370"},{"sha":"25dda90c1ecb0c662ab06e2c80c1ee31e0ae9d36","author":{"name":"Dan Abramov","email":"ffbbe9cb1097e7ea6a3dedffde5b4fe769829acc@gmail.com"},"message":"Mark context consumers with PerformedWork effect on render (#12729)\n\n* Mark new component types with PerformedWork effect\r\n\r\n* Don't do it for ForwardRef\r\n\r\nSince this has some overhead and ForwardRef is likely going to be used around context, let's skip it.\r\nWe don't highlight ForwardRef alone in DevTools anyway.","distinct":true,"url":"https://api.github.com/repos/shyamkanojia/react/commits/25dda90c1ecb0c662ab06e2c80c1ee31e0ae9d36"}]}
{"actor":{"display_login":"shyamkanojia"}}