react/scripts
Sebastian Markbåge 8d7c733f1f
[Partial Hydration] Don't invoke listeners on parent of dehydrated event target (#16591)
* Don't invoke listeners on parent of dehydrated event target

* Move Suspense boundary check to getClosestInstanceFromNode

Now getClosestInstanceFromNode can return either a host component,
host text component or suspense component when the suspense
component is dehydrated.

We then use that to ignore events on a suspense component.

* Attach the HostRoot fiber to the DOM container

This lets us detect if an event happens on this root's subtree before it
has rendered something.

* Add todo

The approach of checking isFiberMounted answers if we might be in an
in-progress hydration but it doesn't answer which root or boundary
might be in-progress so we don't know what to wait for.

This needs some refactoring.

* Refactor isFiberMountedImpl to getNearestMountedFiber

We'll need the nearest boundary for event replaying so this prepares for
that.

This surfaced an issue that we attach Hydrating tag on the root but normally
this (and Placement) is attached on the child. This surfaced an issue
that this can lead to both Placement and Hydrating effects which is not
supported so we need to ensure that we only ever use one or the other.

* Add todo for bug I spotted

* Cache tags

* Check the ContainerInstanceKey before the InstanceKey

The container is inside the instance, so we must find it before the
instance, since otherwise we'll miss it.
2019-09-05 08:51:31 -07:00
..
babel Babel 7 (#16297) 2019-08-08 17:46:35 -07:00
bench Update Readme (#14176) 2018-11-12 16:25:32 +00:00
circleci Parallelizes the build script across multiple processes (#15716) 2019-05-29 14:34:50 -07:00
error-codes [Partial Hydration] Don't invoke listeners on parent of dehydrated event target (#16591) 2019-09-05 08:51:31 -07:00
eslint Refactor ESLint configuration to enable better IDE integration (#13914) 2018-11-08 17:56:35 +00:00
eslint-rules Lint rule for unminified errors (#15757) 2019-05-29 11:29:04 -07:00
flow Removed an unnecessary/unused DT Flow type 2019-08-28 07:28:06 -07:00
git Remove leftover env variable logic in pre-commit hook 2015-09-01 14:35:47 -07:00
jest Disabled DevTools tests from yarn-build target 2019-08-27 09:08:49 -07:00
perf-counters Drop the year from Facebook copyright headers and the LICENSE file. (#13593) 2018-09-07 15:11:23 -07:00
prettier Drop the year from Facebook copyright headers and the LICENSE file. (#13593) 2018-09-07 15:11:23 -07:00
print-warnings print-warnings script should ignore DevTools packages 2019-08-14 14:02:12 -07:00
release Release script supports publishing a subset of packages (#16338) 2019-08-09 13:12:00 -07:00
rollup [react-events] Tap responder (#16628) 2019-09-04 17:09:33 -07:00
shared Rename legacy "events" package to "legacy-events" (#16388) 2019-08-14 07:32:42 -07:00
tasks Switch to @sizebot token (#13622) 2018-09-11 21:06:44 +01:00
authors AUTHORS 2013-09-09 23:42:54 -07:00