Pull Requests
#20456
Add <Cache /> component with support for refreshing
#24320
[Transition Tracing] Add pendingPassiveTransitions
#28993
refactored shebangs
#28991
Sanitize key
#28990
Setup Wave 2 of Feature Flags for React Native
#28989
Update `compiled-rn` destination paths to `vendor/react`
#28988
[Flight Reply] Resolve outlined models async in Reply just like in Flight Client
#28987
[Fizz] Fallback to client replaying actions if we're trying to serialize a Blob
#28986
[Flight Reply] Encode binary streams as a single collapsed Blob
#28982
fix[react-devtools]: add backwards compat with legacy element type symbol
#28980
Repro for string ref + enableRefAsProp unstable props
#28979
Bundle config: Rename `global` to `hasteFileName` in bundle config
#28978
Bundle config: inline internal hook wrapper
#28977
Enable Wave 1 of Feature Flags for React Native
#28976
Devtools: Fix build-for-devtools
#28975
Devtools: Streamline getting extension from branch
#28974
DevTools: Fix inspecting components with multiple reads of the same Context in React 17
#28973
[DevTools] Expose "view source" options to Fusebox integration
#28972
[DevTools] Enable inspected element context menu in Fusebox
#28970
[DevTools] Check in `frontend.d.ts` for react-devtools-fusebox, include in build output
#28969
Introduce a faster version of the addProperties function
#28966
[Tooling] Update critical artifact list
#28965
[Fiber] render boundary in fallback if it contains a new stylesheet during sync update
#28964
Set enableUseMemoCacheHook to true everywhere
#28963
Stop committing resources to an external repo
#28962
Add `bun` to `react-dom`'s `package.json`.
#28959
typo: fix typos in codes.json
#28958
Float: Add support for crossOrigin="anonymous"
#28957
Jzhan force sync update
#28955
[react-native] Add unit test to ReactNativeAttributePayload
#28954
Move useMemoCache hook to react/compiler-runtime
#28953
feat(deps): Grouped dependencies updates by Dependabot
#28952
move from `importAssertions` to `importAttributes`
#28951
Test StrictEffects in react-dom
#28950
Update config.yml
#28949
Gaurav added a message
#28945
pranav added a message
#28944
chore: export cjs/umd as v17
#28942
Fix useActionState PendingState Type
#28940
Added a hyperlink to Node
#28939
Import correct prod version of jsx-dev-runtime for react-server
#28937
Fixed it: Update CODE_OF_CONDUCT.md
#28936
feat(badge): Add JSDelivr badge
#28934
fix(hydrate): to check and add validations for type check of argument…
#28932
Add changelog for 18.3.1
#28930
Configure JSX Feature Flags as Dynamic (Meta)
#28929
Add changelog for 18.3 and 18.3.1
#28927
[Not for merge] 18.3.1 Release
#28925
Update Changelog for 18.3.0
#28921
fix: react server condition for `react/jsx-dev-runtime`
#28920
Update made
#28919
[react-dom] Provide a way to silence devtools recommendation
Build Activity
#84244
Fix cross-fork discrepancy
I missed a few lines when syncing an earlier step. Usually I would find
which one and patch it but I'm about to squash and merge so meh.
#84237
Fix cross-fork discrepancy
I missed a few lines when syncing an earlier step. Usually I would find
which one and patch it but I'm about to squash and merge so meh.
#84194
Detect refreshes by comparing to previous parent
Removes the fresh/stale distinction from the context stack and instead
detects refreshes by comparing the previous and next parent cache.
This is closer to one of the earlier implementation drafts, and...
#84113
Detect refreshes by comparing to previous parent
Removes the fresh/stale distinction from the context stack and instead
detects refreshes by comparing the previous and next parent cache.
This is closer to one of the earlier implementation drafts, and...
#84099
Detect refreshes by comparing to previous parent
Removes the fresh/stale distinction from the context stack and instead
detects refreshes by comparing the previous and next parent cache.
This is closer to one of the earlier implementation drafts, and...
#84096
Detect refreshes by comparing to previous parent
Removes the fresh/stale distinction from the context stack and instead
detects refreshes by comparing the previous and next parent cache.
This is closer to one of the earlier implementation drafts, and...
#83988
Remove provider fiber from cache context
I originally put the provider fiber on the cache context because I
expected the semantics to be that a refresh finds the root of the
"freshness" boundary; that is, all the data that refreshed or appeared
as par...
#83985
Remove provider fiber from cache context
I originally put the provider fiber on the cache context because I
expected the semantics to be that a refresh finds the root of the
"freshness" boundary; that is, all the data that refreshed or appeared
as par...
#83981
Only mutate `root.pooledCache` in complete/unwind
Less indirection when accessing during the render phase and less hard
to make a mutation mistake.
#83979
Only mutate `root.pooledCache` in complete/unwind
Less indirection when accessing during the render phase and less hard
to make a mutation mistake.
#83978
Only mutate `root.pooledCache` in complete/unwind
Less indirection when accessing during the render phase and less hard
to make a mutation mistake.
#83929
Remove default transition priority for refreshes
The flaw here is that if another update in the same event is not wrapped
in `startTransition`, then it won't be batched with the refresh. The
solution is to wrap both in the same `startTransition`. It's...
#83918
Wrap more things in flag
#83916
Wrap more things in flag
#83844
More tests
#83720
More tests
#83693
useRefresh -> useCacheRefresh
useRefresh is probably too general. We may also add additional APIs
related to the cache, and including the word "cache" in all of them
signals they are related.
#83687
Use only a single pooled cache at a time
The cache-per-lane approach makes conceptual sense but it's probably not
worth it until we complete the Lanes entanglement refactor. In the
current implementation we have to do lots of looping to maintain the
p...
#83651
Previous retry cache takes precedence over pool
When committing a fallback, if there's no cache on the stack, check if
there's a cache from the previous render. This is what we would have
used for new content during the first pass when we attempted to...
#83637
Remove useRefresh from unstable-shared-subset
From @sebmarkbage's comment
> This should not be included in this file. Which means that the error
> the dispatcher throws should never be reachable, but worth keep in
> case something is misconfigured or...
#83636
Remove useRefresh from unstable-shared-subset
From @sebmarkbage's comment
> This should not be included in this file. Which means that the error
> the dispatcher throws should never be reachable, but worth keep in
> case something is misconfigured or...
#83634
Code size optimizations
- Wraped more things in the feature flag.
- Removed CacheComponent cases from commit phase.
#83625
Restore retry cache from Suspense/Offscreen fiber
When a Suspense or Offscreen boundary resumes rendering, the inner tree
should use the same cache that the outer one did during the original
render. This is important not just for UI consistency reason...
#83401
Restore retry cache from Suspense/Offscreen fiber
When a Suspense or Offscreen boundary resumes rendering, the inner tree
should use the same cache that the outer one did during the original
render. This is important not just for UI consistency reason...
#83323
Explicitly check if the parent provider is fresh
We can track this cheaply because there's only ever a single fresh
provider. We don't need to store the fresh caches on the stack, just one
if it exists. Then when we unwind the Fiber stack, we reset it...
#83322
Explicitly check if the parent provider is fresh
We can track this cheaply because there's only ever a single fresh
provider. We don't need to store the fresh caches on the stack, just one
if it exists. Then when we unwind the Fiber stack, we reset it...
#83320
Explicitly check if the parent provider is fresh
We can track this cheaply because there's only ever a single fresh
provider. We don't need to store the fresh caches on the stack, just one
if it exists. Then when we unwind the Fiber stack, we reset it...
#83319
Explicitly check if the parent provider is fresh
We can track this cheaply because there's only ever a single fresh
provider. We don't need to store the fresh caches on the stack, just one
if it exists. Then when we unwind the Fiber stack, we reset it...
#83027
Every request in initial render shares same cache
I noticed this bug when writing some new tests.
The HostRoot fiber is special because it's always mounted. The moment
you call `createRoot()`, you have a "current" (albeit empty) tree. So
the "initial...
#83011
Add fast path for nested mounting Caches
Only the top most Cache boundary in a newly mounting tree needs to
call `requestFreshCache`. Nested caches can inherit the parent cache
by reading from context.
This is strictly a performance optimization, sin...
#83010
Use an update queue for refreshes
Refreshes are easier than initial mounts because we have a mounted fiber
that we can attach the cache to. We don't need to rely on clever pooling
tricks; they're just normal updates.
More importantly, we're not at ri...
#82999
Add fast path for nested mounting Caches
Only the top most Cache boundary in a newly mounting tree needs to
call `requestFreshCache`. Nested caches can inherit the parent cache
by reading from context.
This is strictly a performance optimization, sin...
#82996
Use an update queue for refreshes
Refreshes are easier than initial mounts because we have a mounted fiber
that we can attach the cache to. We don't need to rely on clever pooling
tricks; they're just normal updates.
More importantly, we're not at ri...
#82994
Use an update queue for refreshes
Refreshes are easier than initial mounts because we have a mounted fiber
that we can attach the cache to. We don't need to rely on clever pooling
tricks; they're just normal updates.
More importantly, we're not at ri...
#82993
Use an update queue for refreshes
Refreshes are easier than initial mounts because we have a mounted fiber
that we can attach the cache to. We don't need to rely on clever pooling
tricks; they're just normal updates.
More importantly, we're not at ri...
#82975
Add implicit root-level cache
If `getCacheForType` or `useRefresh` cannot find a parent <Cache />,
they will access a top-level cache associated with the root. The
behavior is effectively the same as if you wrapped the entire tree in a
<Cache /> bound...
#82974
Add implicit root-level cache
If `getCacheForType` or `useRefresh` cannot find a parent <Cache />,
they will access a top-level cache associated with the root. The
behavior is effectively the same as if you wrapped the entire tree in a
<Cache /> bound...
#82963
Refreshes should not affect "sibling" boundaries
I had thought we decided that refreshing a boundary would also refresh
all the content that is currently consistent (i.e. shared the same
underlying cache) with it, but I was wrong. Refreshing should on...
#82876
Refresh with seeded data
Usually, when performing a server mutation, the response includes an
updated version of the mutated data.
This avoids an extra roundtrip, and because of eventual consistency, it
also guarantees that we reload with the freshes...
#82716
Cache refreshing
Implements useRefresh, a method to invalidate the cache and request
new data.
It will find the nearest <Cache /> boundary, clear its cache, and
schedule an update to re-render with fresh data.
We had discussed calling this method `u...
#82712
Cache refreshing
Implements useRefresh, a method to invalidate the cache and request
new data.
It will find the nearest <Cache /> boundary, clear its cache, and
schedule an update to re-render with fresh data.
We had discussed calling this method `u...
#82701
Cache refreshing
Implements useRefresh, a method to invalidate the cache and request
new data.
It will find the nearest <Cache /> boundary, clear its cache, and
schedule an update to re-render with fresh data.
We had discussed calling this method `u...
#82688
Cache refreshing
Implements useRefresh, a method to invalidate the cache and request
new data.
It will find the nearest <Cache /> boundary, clear its cache, and
schedule an update to re-render with fresh data.
We had discussed calling this method `u...
facebook/react    #84244
Loading Sandboxes...
Loading Packages...
Loading Install Instructions...
Finished!