Pull Requests
#20255
Bisect effects refactor
#22030
Console Logging for StrictMode Double Rendering
#24620
[DevTools] Regression-proof e2e Tests
#29118
[compiler] Todo for for-await loops
#29114
Add packageManager fields for Corepack compat
#29112
Add babel-plugin-react-compiler deps to other packages
#29109
CI: Allow to run rust compiler on macos and widnows aswell
#29108
fix: removed redundant character escape in RegExp
#29105
Implement isObject function
#29104
fix: use `filename` instead of `context.filename` in eslint compiler
#29103
Add hyperlink for Good First Issues header
#29102
docs: fix typo DESIGN_GOALS.md
#29101
Resolve defaultProps of class components in JSX runtime
#29096
[React Compiler] Fix rule name for ESLint plugin
#29095
compiler: merge reactive scopes across const StoreLocal
#29094
Update `eslint-plugin-react-compiler` to used named rule severity
#29089
[compiler]: cleanup useless clone
#29088
Move createElement/JSX Warnings into the Renderer
#29087
[compiler:publish] Specify https for registry
#29086
chore(docs): fix typo (plugion => plugin) in DESIGN_GOALS.md
#29085
[Compiler][script] Dedupe error report counts before reporting in healthcheck
#29084
[compiler] Add readme for babel plugin
#29083
[compiler] Check if current branch is main
#29082
[compiler] Various fixes for publishing script
#29081
[compiler:eslint] Fix false positive with TS type param syntax
#29080
feat: add a verbose option to react-compiler-healthcheck to log all c…
#29079
compiler: fix jsx text attributes with double quotes
#29077
fix(react-compiler-healthcheck): detect strict mode when using `<React.StrictMode/>`
#29076
[heathcheck] Check for namespaced StrictMode
#29074
add nextjs config to compiler strict check
#29073
Fix ESLint and Prettier configs for React Compiler
#29072
Add a `main` field to `eslint-plugin-react-compiler`, fixes #29068.
#29071
docs: fix typo in architecture section
#29070
docs: fix description of react_estree extensions
#29067
Bump next from 13.5.6 to 14.1.1 in /compiler
#29066
Bump @babel/traverse from 7.1.6 to 7.24.5 in /compiler
#29065
Bump tough-cookie from 4.1.2 to 4.1.4 in /compiler
#29064
Bump word-wrap from 1.2.3 to 1.2.5 in /compiler
#29063
Bump postcss from 8.4.24 to 8.4.31 in /compiler
#29061
Open-source React Compiler
#29060
Bump React 19 beta to RC
#29057
Fix react-compiler entrypoint for react-server
#29056
Revert 1 main
#29055
Implement file I/O with insertion and extraction operators
#29052
Enable `enableUnifiedSyncLane` for React Native (Meta)
#29050
Update README.md
#29049
refactor[react-devtools]: rewrite context menus
#29046
fix(eslint-plugin-react-hooks): "additionalHooks" docs are misleading
#29044
Set the current fiber to the source of the error during error reporting
#29043
[Flight] Error if a legacy React Element is attempted to be rendered
#29041
Clean up the enableEarlyReturnForPropDiffing experiment
#29039
Add `useNativeProcessing()` flag for Fabric ViewConfigs
#29038
Unify ReactFiberCurrentOwner and ReactCurrentFiber
Build Activity
#91834
Remove PassiveStatic optimization
Passive flags are a new concept that is tricky to get right. We've
already found two bugs related to PassiveStatic. Let's remove this
optimization for now, and add it back once the main part of the effects
refactor la...
#91829
Remove PassiveStatic optimization
Passive flags are a new concept that is tricky to get right. We've
already found two bugs related to PassiveStatic. Let's remove this
optimization for now, and add it back once the main part of the effects
refactor la...
#91828
Convert passive mount phase to tree traversal
#91826
Remove PassiveStatic optimization
Passive flags are a new concept that is tricky to get right. We've
already found two bugs related to PassiveStatic. Let's remove this
optimization for now, and add it back once the main part of the effects
refactor la...
#91825
Convert passive mount phase to tree traversal
#87744
Remove PassiveStatic optimization
Passive flags are a new concept that is tricky to get right. We've
already found two bugs related to PassiveStatic. Let's remove this
optimization for now, and add it back once the main part of the effects
refactor la...
#87743
Don't clear static flags in resetWorkInProgress
Fixes the regression test added in #20433
#87742
Convert passive unmount phase to tree traversal
#87741
Defer more field detachments to passive phase
This allows us to use those fields during passive unmount traversal.
#87740
Convert passive mount phase to tree traversal
#87739
Add PassiveStatic to trees with passive effects
Indicates that a tree needs passive clean-up on deletion.
#87737
Don't clear other flags when adding Deletion
Same as #20398 but for Deletions. There's no new regression test, but in
the effects refactor, existing tests will fail without this.
#87736
Add back disableSchedulerTimeoutInWorkLoop flag (#20482)
* Add back enableSchedulerTimeoutInWorkLoop flag
* Nvm, keep it as disableSchedulerTimeoutInWorkLoop
#87735
Revert to last successful www sync
#87734
Remove PassiveStatic optimization
Passive flags are a new concept that is tricky to get right. We've
already found two bugs related to PassiveStatic. Let's remove this
optimization for now, and add it back once the main part of the effects
refactor la...
#87733
Don't clear static flags in resetWorkInProgress
Fixes the regression test added in #20433
#87732
Convert passive unmount phase to tree traversal
#87731
Defer more field detachments to passive phase
This allows us to use those fields during passive unmount traversal.
#87730
Don't clear static flags in resetWorkInProgress
Fixes the regression test added in #20433
#87729
Convert passive mount phase to tree traversal
#87728
Add PassiveStatic to trees with passive effects
Indicates that a tree needs passive clean-up on deletion.
#87727
Don't clear other flags when adding Deletion
Same as #20398 but for Deletions. There's no new regression test, but in
the effects refactor, existing tests will fail without this.
#87726
Add back disableSchedulerTimeoutInWorkLoop flag (#20482)
* Add back enableSchedulerTimeoutInWorkLoop flag
* Nvm, keep it as disableSchedulerTimeoutInWorkLoop
#87725
Revert to last successful www sync
#87710
Convert passive mount phase to tree traversal
#84230
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#84227
Remove PassiveStatic optimization
Passive flags are a new concept that is tricky to get right. We've
already found two bugs related to PassiveStatic. Let's remove this
optimization for now, and add it back once the main part of the effects
refactor la...
#83954
Remove PassiveStatic optimization
Passive flags are a new concept that is tricky to get right. We've
already found two bugs related to PassiveStatic. Let's remove this
optimization for now, and add it back once the main part of the effects
refactor la...
#83563
Remove PassiveStatic optimization
Passive flags are a new concept that is tricky to get right. We've
already found two bugs related to PassiveStatic. Let's remove this
optimization for now, and add it back once the main part of the effects
refactor la...
#82205
Remove PassiveStatic optimization
Passive flags are a new concept that is tricky to get right. We've
already found two bugs related to PassiveStatic. Let's remove this
optimization for now, and add it back once the main part of the effects
refactor la...
#82204
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#82202
Remove PassiveStatic optimization
Passive flags are a new concept that is tricky to get right. We've
already found two bugs related to PassiveStatic. Let's remove this
optimization for now, and add it back once the main part of the effects
refactor la...
#82192
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#82191
Convert passive unmount phase to tree traversal
#82074
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#82073
Convert passive unmount phase to tree traversal
#82072
Defer more field detachments to passive phase
This allows us to use those fields during passive unmount traversal.
#82071
Convert passive mount phase to tree traversal
#81361
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#81359
Move onPostCommit to actual passive phase
Original PR: #19862
#81358
Remove passive logic from layout phase
Original PR: #19809
#81357
Convert passive unmount phase to tree traversal
#81356
Convert passive mount phase to tree traversal
#81355
Add PassiveStatic to trees with passive effects
Indicates that a tree needs passive clean-up on deletion.
#81354
Don't clear other flags when adding Deletion
Same as #20398 but for Deletions. There's no new regression test, but in
the effects refactor, existing tests will fail without this.
#81349
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#81348
Move onPostCommit to actual passive phase
Original PR: #19862
#81346
Remove passive logic from layout phase
Original PR: #19809
#81345
Convert passive unmount phase to tree traversal
#81344
Defer more field detachments to passive phase
This allows us to use those fields during passive unmount traversal.
#81343
Convert passive mount phase to tree traversal
#81342
Add PassiveStatic to trees with passive effects
Indicates that a tree needs passive clean-up on deletion.
#81341
Double Invoke Effects in __DEV__ (in old reconciler fork) (#20415)
We originally added a new DEV behavior of double-invoking effects during mount to our new reconciler fork in PRs #19523 and #19935 and later refined it to only affect modern roots in P...
#80984
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#80983
Move onPostCommit to actual passive phase
Original PR: #19862
#80982
Remove passive logic from layout phase
Original PR: #19809
#80980
Convert passive unmount phase to tree traversal
#80979
Defer more field detachments to passive phase
This allows us to use those fields during passive unmount traversal.
#80978
Convert passive mount phase to tree traversal
#80977
Add PassiveStatic to trees with passive effects
Indicates that a tree needs passive clean-up on deletion.
#80976
Don't clear other flags when adding Deletion
Same as #20398 but for Deletions. There's no new regression test, but in
the effects refactor, existing tests will fail without this.
#80599
Move onPostCommit to actual passive phase
Original PR: #19862
#80598
Remove passive logic from layout phase
Original PR: #19809
#80597
Convert passive unmount phase to tree traversal
#80596
Convert passive unmount phase to tree traversal
#80595
Convert passive unmount phase to tree traversal
#80594
Defer more field detachments to passive phase
This allows us to use those fields during passive unmount traversal.
#80593
Convert passive mount phase to tree traversal
#80592
Add PassiveStatic to trees with passive effects
Indicates that a tree needs passive clean-up on deletion.
#80582
Don't clear other flags when adding Deletion
Same as #20398 but for Deletions. There's no new regression test, but in
the effects refactor, existing tests will fail without this.
#80581
Clear `deletions` in `detachFiber`
This was added in a later step of the refactor but since `deletions`
array already landed, clearing it should, too.
I think it's unlikely that this causes GC problems but worth
adding anyway.
#80566
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#80565
Move onPostCommit to actual passive phase
Original PR: #19862
#80563
Remove passive logic from layout phase
Original PR: #19809
#80562
Convert passive unmount phase to tree traversal
#80561
Convert passive mount phase to tree traversal
#80559
Add PassiveStatic to trees with passive effects
Indicates that a tree needs passive clean-up on deletion.
#80558
Don't clear other flags when adding Deletion
Same as #20398 but for Deletions. There's no new regression test, but in
the effects refactor, existing tests will fail without this.
#80547
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#80541
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#80540
Track subtreeFlags et al with bubbleProperties
Original PR: #19836
#80539
Remove `catch` from Scheduler build (#20396)
Makes debugging errors harder.
In this case, we can use `finally` instead.
#79225
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#79224
Move onPostCommit to actual passive phase
Original PR: #19862
#79223
Remove passive logic from layout phase
Original PR: #19809
#79222
Migrate passive phase to depth first traversal
Because the passive phase happens after paint, I expect it's least
likely to cause a performance regression.
In terms of implementation complexity, however, it's probably the
riskiest. Ideally, for this ...
#79221
Track subtreeFlags et al with bubbleProperties
Original PR: #19836
#79220
Track deletions using an array on the parent
Adds back the `deletions` array and uses it in the commit phase.
We use a trick where the first time we hit a deletion effect, we commit
all the deletion effects that belong to that parent. This is an
incr...
#79218
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#79217
Move onPostCommit to actual passive phase
Original PR: #19862
#79216
Move onPostCommit to actual passive phase
Original PR: #19862
#79215
Move onPostCommit to actual passive phase
Original PR: #19862
#79214
Move onPostCommit to actual passive phase
Original PR: #19862
#79213
Move onPostCommit to actual passive phase
Original PR: #19862
#78785
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#78784
Move onPostCommit to actual passive phase
Original PR: #19862
#78783
Remove passive logic from layout phase
Original PR: #19809
#78782
Migrate passive phase to depth first traversal
Because the passive phase happens after paint, I expect it's least
likely to cause a performance regression.
In terms of implementation complexity, however, it's probably the
riskiest. Ideally, for this ...
#78780
Track subtreeFlags et al with bubbleProperties
Original PR: #19836
#78779
Track deletions using an array on the parent
Adds back the `deletions` array and uses it in the commit phase.
We use a trick where the first time we hit a deletion effect, we commit
all the deletion effects that belong to that parent. This is an
incr...
#75446
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#75053
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#74689
Consolidate passive callback logic
Not super interesting. I put this in its own commit so that the
previous one is more focused.
#74685
Move onPostCommit to actual passive phase
Original PR: #19862
#74684
Move onPostCommit to actual passive phase
Original PR: #19862
#74682
Move onPostCommit to actual passive phase
Original PR: #19862
#74470
Remove passive logic from layout phase
Original PR: #19809
#74469
Migrate passive phase to depth first traversal
Because the passive phase happens after paint, I expect it's least
likely to cause a performance regression.
In terms of implementation complexity, however, it's probably the
riskiest. Ideally, for this ...
#74464
Migrate passive phase to depth first traversal
Because the passive phase happens after paint, I expect it's least
likely to cause a performance regression.
In terms of implementation complexity, however, it's probably the
riskiest. Ideally, for this ...
#74458
Undo previous steps
This undoes the previous steps in the refactor. The next step will
restore the fork to the final endpoint that includes all the changes.
The reason for this intermediate commit is so that I can make
incremental changes to the earl...
#74457
Migrate passive phase to depth first traversal
Because the passive phase happens after paint, I expect it's least
likely to cause a performance regression.
In terms of implementation complexity, however, it's probably the
riskiest. Ideally, for this ...
#74456
Track subtreeFlags et al with bubbleProperties
Original PR: #19836
#74455
Track deletions using an array on the parent
Adds back the `deletions` array and uses it in the commit phase.
We use a trick where the first time we hit a deletion effect, we commit
all the deletion effects that belong to that parent. This is an
incr...
#74343
Remaining effects refactor changes
This includes all the remaining changes in the effects refactor.
It started as a revert of eb2758.
#74342
Track subtreeFlags et al with bubbleProperties
Original PR: #19836
#74341
Remaining effects refactor changes
This includes all the remaining changes in the effects refactor.
It started as a revert of eb2758.
#74340
Track subtreeFlags et al with bubbleProperties
Original PR: #19836
#74339
Track deletions using an array on the parent
Adds back the `deletions` array and uses it in the commit phase.
We use a trick where the first time we hit a deletion effect, we commit
all the deletion effects that belong to that parent. This is an
incr...
#74102
Remaining effects refactor changes
This includes all the remaining changes in the effects refactor.
It started as a revert of eb2758.
#74100
Warn if commit phase error thrown in detached tree
Until `skipUnmountedBoundaries` lands again, I need some way to detect
when errors are thrown inside a deleted tree. So I've added a warning to
`captureCommitPhaseError` that fires when we reach the r...
#74098
Undo previous steps
This undoes the previous steps in the refactor. The next step will
restore the fork to the final endpoint that includes all the changes.
The reason for this intermediate commit is so that I can make
incremental changes to the earl...
#74097
Track deletions using an array on the parent
Adds back the `deletions` array and uses it in the commit phase.
We use a trick where the first time we hit a deletion effect, we commit
all the deletion effects that belong to that parent. This is an
incr...
#74096
Add Node ESM Loader and Register Entrypoints (#20274)
* Add Node ESM loader build
This adds a loader build as a first-class export. This will grow in
complexity so it deserves its own module.
* Add Node CommonJS regiter build
This adds a bui...
#74001
Remaining effects refactor changes
This includes all the remaining changes in the effects refactor.
It started as a revert of eb2758.
#74000
Undo previous steps
This undoes the previous steps in the refactor. The next step will
restore the fork to the final endpoint that includes all the changes.
The reason for this intermediate commit is so that I can make
incremental changes to the earl...
#73999
Track deletions using an array on the parent
Adds back the `deletions` array and uses it in the commit phase.
We use a trick where the first time we hit a deletion effect, we commit
all the deletion effects that belong to that parent. This is an
incr...
#73998
Remaining effects refactor changes
This includes all the remaining changes in the effects refactor.
It started as a revert of eb2758.
#73997
Undo previous steps
This undoes the previous steps in the refactor. The next step will
restore the fork to the final endpoint that includes all the changes.
The reason for this intermediate commit is so that I can make
incremental changes to the earl...
#73980
Remaining effects refactor changes
This includes all the remaining changes in the effects refactor.
It started as a revert of eb2758.
#73978
Undo previous steps
This undoes the previous steps in the refactor. The next step will
restore the fork to the final endpoint that includes all the changes.
The reason for this intermediate commit is so that I can make
incremental changes to the earl...
#73977
Undo previous steps
This undoes the previous steps in the refactor. The next step will
restore the fork to the final endpoint that includes all the changes.
The reason for this intermediate commit is so that I can make
incremental changes to the earl...
#73462
Revert "Reset new fork to old fork"
This reverts commit eb2758b5344903abacc2e6d0d82c64bf0f5fa873.
Something in the new fork is causing a topline metrics regression. We're
not sure what it is, so we're going to split it into steps and bisect.
As a fi...
#73003
Revert "Reset new fork to old fork"
This reverts commit eb2758b5344903abacc2e6d0d82c64bf0f5fa873.
Something in the new fork is causing a topline metrics regression. We're
not sure what it is, so we're going to split it into steps and bisect.
As a fi...
#72995
Revert "Reset new fork to old fork"
This reverts commit eb2758b5344903abacc2e6d0d82c64bf0f5fa873.
Something in the new fork is causing a topline metrics regression. We're
not sure what it is, so we're going to split it into steps and bisect.
As a fi...
facebook/react #74001
Build canceled in 08:41:43