-
Notifications
You must be signed in to change notification settings - Fork 50.6k
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: facebook/react
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: b14d7fa4b88dad5f0017d084e462952c700aa2ad
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: facebook/react
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: c27ac20931d6b304e168ed886a510f5a242fd01a
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 7 commits
- 3 files changed
- 2 contributors
Commits on Dec 10, 2022
-
Configuration menu - View commit details
-
Copy full SHA for ec94d67 - Browse repository at this point
Copy the full SHA ec94d67View commit details -
Configuration menu - View commit details
-
Copy full SHA for 12b14c4 - Browse repository at this point
Copy the full SHA 12b14c4View commit details
Commits on Dec 13, 2022
-
Force unwind work loop during selective hydration (#25695)
When an update flows into a dehydrated boundary, React cannot apply the update until the boundary has finished hydrating. The way this currently works is by scheduling a slightly higher priority task on the boundary, using a special lane that's reserved only for this purpose. Because the task is slightly higher priority, on the next turn of the work loop, the Scheduler will force the work loop to yield (i.e. shouldYield starts returning `true` because there's a higher priority task). The downside of this approach is that it only works when time slicing is enabled. It doesn't work for synchronous updates, because the synchronous work loop does not consult the Scheduler on each iteration. We plan to add support for selective hydration during synchronous updates, too, so we need to model this some other way. I've added a special internal exception that can be thrown to force the work loop to interrupt the work-in-progress tree. Because it's thrown from a React-only execution stack, throwing isn't strictly necessary — we could instead modify some internal work loop state. But using an exception means we don't need to check for this case on every iteration of the work loop. So doing it this way moves the check out of the fast path. The ideal implementation wouldn't need to unwind the stack at all — we should be able to hydrate the subtree and then apply the update all within a single render phase. This is how we intend to implement it in the future, but this requires a refactor to how we handle "stack" variables, which are currently pushed to a per-render array. We need to make this stack resumable, like how context works in Flight and Fizz.
Configuration menu - View commit details
-
Copy full SHA for e2f4ff3 - Browse repository at this point
Copy the full SHA e2f4ff3View commit details -
Configuration menu - View commit details
-
Copy full SHA for b37a68a - Browse repository at this point
Copy the full SHA b37a68aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7e6e61a - Browse repository at this point
Copy the full SHA 7e6e61aView commit details
Commits on Dec 14, 2022
-
Configuration menu - View commit details
-
Copy full SHA for b7c8958 - Browse repository at this point
Copy the full SHA b7c8958View commit details -
Configuration menu - View commit details
-
Copy full SHA for c27ac20 - Browse repository at this point
Copy the full SHA c27ac20View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff b14d7fa4b88dad5f0017d084e462952c700aa2ad...c27ac20931d6b304e168ed886a510f5a242fd01a