Pull Requests
#21201
[WIP] Debug hydration error
#23365
[DevTools][Transition Tracing] Added support for Suspense Boundaries
#29163
Remove pointless use of `unsafe`
#29162
[compiler:chore] fix SSA pdf reference link
#29159
[Compiler playground] bold changed passes
#29157
compiler: Use types to decide which scopes are eligible for merging
#29156
compiler: Improve merging of memo scopes that invalidate together
#29155
compiler: fixture for suboptimal jsx sibling memo block merging
#29154
compiler: fix accidental propagation of function effects from StartMemoize/FinishMemoize
#29153
[compiler:publish] Don't check branch in debug mode
#29151
compiler: Improve ValidateNoRefAccessInRender to ignore access in effects
#29150
[compiler:publish] Bump time to reconsider to 3s
#29149
[compiler:publish] Prompt for OTP
#29148
[compiler:publish] Rename publish script
#29147
[compiler:publish] Don't hash node_modules
#29146
[compiler:publish] Rename publish script
#29145
[compiler:publish] Don't hash node_modules
#29143
compiler: workaround babel issue with html entity escaping
#29142
compiler: update comment on memo cache import code
#29141
compiler: Workaround Babel bug with unicode in jsx string attrs
#29140
Add issue template for React Compiler
#29139
Lazily freeze in case anything in the currently initializing chunk is blocked
#29138
forktest
#29133
[compiler:playground] Resizable tabs
#29129
[Flight] Add failing test to reproduce issue with `Object.freeze`
#29125
Improve grammar and parallel structure in React library documentation
#29124
fix(compiler-playground): avoid escape non-English character
#29122
[compiler:playground] Fix broken builds
#29121
Create generator-generic-ossf-slsa3-publish.yml
#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…
Build Activity
#126321
Re-land "Support nesting of startTransition and flushSync (alt) (#21149)"
This re-lands commit faa1e127f1ba755da846bc6ce299cdefaf97721f.
#126319
Re-land "Flush discrete passive effects before paint (#21150)"
This re-lands commit 2e7aceeb5c8b6e5c61174c0e9731e263e956e445.
#126318
Re-land "Fix: flushSync changes priority inside effect (#21122)"
This re-lands commit 0e3c7e1d62efb6238b69e5295d45b9bd2dcf9181.
#126317
Re-land "Delete LanePriority type (#21090)"
This re-lands commit 26ddc63f2dcc8e7dcbacf498237a2bb1e28a7d23.
#126316
Re-land "Clean up host pointers in level 2 of clean-up flag (#21112)"
This re-lands commit 8ed0c85bf174ce6e501be62d9ccec1889bbdbce1.
#126315
Re-land "Use highest priority lane to detect interruptions (#21088)""
This re-lands commit b4044f8a07323bcad7d55cbaedc35c35b4acf7e0.
#126313
Re-land "Support nesting of startTransition and flushSync (alt) (#21149)"
This re-lands commit faa1e127f1ba755da846bc6ce299cdefaf97721f.
#124931
Revert "Use highest priority lane to detect interruptions (#21088)"
This reverts commit b4044f8a07323bcad7d55cbaedc35c35b4acf7e0.
Instead of LanePriority.
I'm removing all uses of LanePriority so I can delete it.
#124609
Revert "Use highest priority lane to detect interruptions (#21088)"
This reverts commit b4044f8a07323bcad7d55cbaedc35c35b4acf7e0.
Instead of LanePriority.
I'm removing all uses of LanePriority so I can delete it.
#123034
Revert "Use highest priority lane to detect interruptions (#21088)"
This reverts commit b4044f8a07323bcad7d55cbaedc35c35b4acf7e0.
Instead of LanePriority.
I'm removing all uses of LanePriority so I can delete it.
#123022
Revert "Use highest priority lane to detect interruptions (#21088)"
This reverts commit b4044f8a07323bcad7d55cbaedc35c35b4acf7e0.
Instead of LanePriority.
I'm removing all uses of LanePriority so I can delete it.
#121050
DevTools: Add post-commit hook (#21183)
I recently added UI for the Profiler's commit and post-commit durations to the DevTools, but I made two pretty silly oversights:
1. I used the commit hook (called after mutation+layout effects) to read bo...
#120555
Revert expiration for retry lanes
Retries should be allowed to expire if they are CPU bound for too long,
but when I made this change it caused a spike in browser crashes. There
must be some other underlying bug; not super urgent but ideally should
fi...
#120471
DevTools: Add post-commit hook (#21183)
I recently added UI for the Profiler's commit and post-commit durations to the DevTools, but I made two pretty silly oversights:
1. I used the commit hook (called after mutation+layout effects) to read bo...
#120470
DevTools: Add post-commit hook (#21183)
I recently added UI for the Profiler's commit and post-commit durations to the DevTools, but I made two pretty silly oversights:
1. I used the commit hook (called after mutation+layout effects) to read bo...
#120305
Remove LanePriority from computeExpirationTime (#21087)
I'm removing all uses of LanePriority so I can delete it.
#120304
Partial revert of "Entangled expired lanes with SyncLane (#21083)"
This partially reverts #21083 while keeping the new behavior. It adds
back the `root.expiredLanes` field, instead of using the
`entanglements` array.
#120293
Entangled expired lanes with SyncLane (#21083)
Makes the implementation simpler. Expiration is now a special case of
entanglement.
Also fixes an issue where expired lanes weren't batched with normal
sync updates. (See deleted TODO comment in test.)
#120249
Remove LanePriority from getBumpedLaneForHydration (#21086)
I'm removing all uses of LanePriority so I can delete it.
#119861
Partial revert of "Entangled expired lanes with SyncLane (#21083)"
This partially reverts #21083 while keeping the new behavior. It adds
back the `root.expiredLanes` field, instead of using the
`entanglements` array.
#119859
Partial revert of "Entangled expired lanes with SyncLane (#21083)"
This partially reverts #21083 while keeping the new behavior. It adds
back the `root.expiredLanes` field, instead of using the
`entanglements` array.
#119760
Bugfix: Don't rely on `finishedLanes` for passive effects (#21233)
I recently started using `pendingPassiveEffectsLanes` to check if there were any pending
passive effects (530027a). `pendingPassiveEffectsLanes` is the value of
`root.finishedLanes` ...
#119715
Fix sloppy factoring when assigning finishedLanes
`finishedLanes` is assigned in `performSyncWorkOnRoot` and
`performSyncWorkOnRoot`. It's meant to represent whichever lanes we
used to render, but because of some sloppy factoring, it can sometimes
equ...
#119566
Remove redundant if statement (#21101)
#119565
Remove redundant setUpdatePriority call (#21127)
See removed TODO comment. This call is no longer necessary because we
use the dispatcher to track whether we're inside a transition, not the
event priority.
#119564
Fix plurals (#21106)
#119563
Use highest priority lane to detect interruptions (#21088)
Instead of LanePriority.
I'm removing all uses of LanePriority so I can delete it.
#119562
Entangled expired lanes with SyncLane (#21083)
Makes the implementation simpler. Expiration is now a special case of
entanglement.
Also fixes an issue where expired lanes weren't batched with normal
sync updates. (See deleted TODO comment in test.)
#119531
Delete enableDiscreteEventFlushingChange (#21110)
This flag was meant to avoid flushing discrete updates unnecessarily,
if multiple discrete events were dispatched in response to the same
platform event.
But since we now flush all discrete events...
#119530
Remove LanePriority from computeExpirationTime (#21087)
I'm removing all uses of LanePriority so I can delete it.
#119529
Delete enableDiscreteEventFlushingChange (#21110)
This flag was meant to avoid flushing discrete updates unnecessarily,
if multiple discrete events were dispatched in response to the same
platform event.
But since we now flush all discrete events...
#119427
Move not shared to client (#21135)
#119426
Remove redundant setUpdatePriority call (#21127)
See removed TODO comment. This call is no longer necessary because we
use the dispatcher to track whether we're inside a transition, not the
event priority.
#119425
Move not shared to client (#21135)
#119424
React Fabric: Support passing nativeViewTag to getInspectorDataForViewAtPoint callback, for React DevTools compat (#21080)
React Fabric: Support passing nativeViewTag to getInspectorDataForViewAtPoint callback, for React DevTools compat
#119317
[Fizz] Prepare Recursive Loop for More Types (#21186)
* Split out into helper functions
This is similar to the structure of beginWork in Fiber.
* Split the rendering of a node from recursively rendering a node
This lets us reuse render node a...
#119291
Use Lane to track root callback priority (#21089)
Instead of LanePriority.
I'm removing all uses of LanePriority so I can delete it.
#119269
Support nesting of startTransition and flushSync (alt) (#21149)
* Support nesting of startTransition and flushSync
* Unset transition before entering any special execution contexts
Co-authored-by: Andrew Clark <git@andrewclark.io>
#119268
Clean up host pointers in level 2 of clean-up flag (#21112)
The host tree is a cyclical structure. Leaking a single DOM node can
retain a large amount of memory. React-managed DOM nodes also point
back to a fiber tree.
Perf testing suggests that ...
#119242
Support nesting of startTransition and flushSync (alt) (#21149)
* Support nesting of startTransition and flushSync
* Unset transition before entering any special execution contexts
Co-authored-by: Andrew Clark <git@andrewclark.io>
#118992
Bugfix: Don't rely on `finishedLanes` for passive effects (#21233)
I recently started using `pendingPassiveEffectsLanes` to check if there were any pending
passive effects (530027a). `pendingPassiveEffectsLanes` is the value of
`root.finishedLanes` ...
#118458
Bugfix: Don't rely on `finishedLanes` for passive effects (#21233)
I recently started using `pendingPassiveEffectsLanes` to check if there were any pending
passive effects (530027a). `pendingPassiveEffectsLanes` is the value of
`root.finishedLanes` ...
#118453
Use EventPriority to track update priority (#21082)
Instead of LanePriority. Internally, EventPriority is just a lane, so
this skips an extra conversion. Since EventPriority is a "public" (to
the host config) type, I was also able to remove some deep ...
#118449
Remove pendingPassiveEffectsRenderPriority
#118448
Passive effect updates are always default pri
#118446
Passive effect updates are idle if render was idle
#118445
Remove pendingPassiveEffectsRenderPriority
#118442
Remove pendingPassiveEffectsRenderPriority
#118441
Remove redundant typecheck
#118440
Remove dead argument renderPriorityLevel
#118427
Passive effects priority is always default or idle
#118394
DevTools: Add post-commit hook (#21183)
I recently added UI for the Profiler's commit and post-commit durations to the DevTools, but I made two pretty silly oversights:
1. I used the commit hook (called after mutation+layout effects) to read bo...
#118392
Use highest priority lane to detect interruptions (#21088)
Instead of LanePriority.
I'm removing all uses of LanePriority so I can delete it.
#118390
Remove LanePriority from computeExpirationTime (#21087)
I'm removing all uses of LanePriority so I can delete it.
#118389
Remove LanePriority from getBumpedLaneForHydration (#21086)
I'm removing all uses of LanePriority so I can delete it.
#118388
Entangled expired lanes with SyncLane (#21083)
Makes the implementation simpler. Expiration is now a special case of
entanglement.
Also fixes an issue where expired lanes weren't batched with normal
sync updates. (See deleted TODO comment in test.)
#118385
DevTools: Add post-commit hook (#21183)
I recently added UI for the Profiler's commit and post-commit durations to the DevTools, but I made two pretty silly oversights:
1. I used the commit hook (called after mutation+layout effects) to read bo...
#118384
Use highest priority lane to detect interruptions (#21088)
Instead of LanePriority.
I'm removing all uses of LanePriority so I can delete it.
#118383
Move sync task queue to its own module (#21109)
The sync task queue is React-specific and doesn't really have anything
to do with Scheduler. We'd keep using it even once `postTask` exists.
By separating that part out, `SchedulerWithReactIntegratio...
#118382
Use EventPriority to track update priority (#21082)
Instead of LanePriority. Internally, EventPriority is just a lane, so
this skips an extra conversion. Since EventPriority is a "public" (to
the host config) type, I was also able to remove some deep ...
#118380
DevTools: Add post-commit hook (#21183)
I recently added UI for the Profiler's commit and post-commit durations to the DevTools, but I made two pretty silly oversights:
1. I used the commit hook (called after mutation+layout effects) to read bo...
#117831
Fix: Passive effect updates are never sync
I screwed this up in #21082. Got confused by the < versus > thing again.
The helper functions are annoying, too, because I always forget the
intended order of the arguments. But they're still helpful because...
#117449
[WIP] Debug hydration error
#117436
[WIP] Debug hydration error
facebook/react #118427
Loading Sandboxes...
Loading Packages...
Loading Install Instructions...
Finished!