profile
viewpoint
Dominic Gannaway trueadm @facebook London, United Kingdom Currently an engineer on the React core team at @Facebook. Author of @infernojs and t7. Enjoys coding + being a Dad.

infernojs/inferno 14392

:fire: An extremely fast, React-like JavaScript library for building modern user interfaces

nightwolfz/inferno-starter 144

Inferno+Mobx starter project

infernojs/babel-plugin-inferno 71

Transforms JSX to InfernoJS vNodes

infernojs/inferno-typescript-example 56

An example of using TypeScript with Inferno

infernojs/inferno-motion 40

A spring that solves your animation problems.

joshburgess/inferno-game-kit 14

A fork of react-game-kit using Inferno instead of React. 255kb → 65kb, -40% CPU time, -25% memory

bvaughn/react 12

A declarative, efficient, and flexible JavaScript library for building user interfaces.

gaearon/prepack 7

Prepack is a partial evaluator for JavaScript. Prepack rewrites a JavaScript bundle, resulting in JavaScript code that executes more efficiently.

trueadm/awesome-javascript 6

:turtle: A collection of awesome browser-side JavaScript libraries, resources and shiny things.

push eventtrueadm/react

Dominic Gannaway

commit sha 9553a7d47760d64522a099193367228c8e36d901

Remove capturePhaseEvents and separate events by bubbling WIP Refine all logic Revise types Fix Fix conflicts Fix flags Fix Fix Fix test Revise Cleanup

view details

push time in 2 days

push eventtrueadm/react

Dominic Gannaway

commit sha 766af5968a77c33cc1af0432247d678680bb7b19

Move Scope API ref resolution to mutation phase (#19264) * Move Scope API ref resolution to mutation phase

view details

Andrew Clark

commit sha 965d08cfff50609eed5d3f2317145f7be762423d

Add dedicated LanePriority for Suspense retries (#19287) A "retry" is a special type of update that attempts to flip a Suspense boundary from its placeholder state back to its primary/resolved state. Currently, retries are given default priority, using the same algorithm as normal updates and occupying range of lanes. This adds a new range of lanes dedicated specifically to retries, and gives them lower priority than normal updates. A couple of existing tests were affected because retries are no longer batched with normal updates; they commit in separate batches. Not totally satisfied with this design, but I think things will snap more into place once the rest of the Lanes changes (like how we handle parallel Suspense transitions) have settled.

view details

Rimil Dey

commit sha 6508ab3be8a4a79d18e46fac7318454307a51170

Fix typo in Overview doc for react-devtools (#19289)

view details

Gianmarco

commit sha a5b4492950130f13733cc0bfa0888970d93e5588

Updates Electron version for react-devtools (#19280)

view details

Brian Vaughn

commit sha e760d1fb0fc38d9075131c384fb6eebe5cb43d8c

Fixed test script for DevTools build config (#19295)

view details

Brian Vaughn

commit sha 08b8e6e1dc41fec1ce315c9e5fe4b340af96cd66

DevTools 4.7.0 -> 4.8.0 (#19297)

view details

Andrew Clark

commit sha 14084be286d09df49d5410c751bc28f0180a54b2

Refactor algorithm for next Lanes to work on (#19302) Some clean up to make the Lanes type easier to maintain. I removed the "start" and "end" range markers; they don't provide any information that isn't already encoded in the bitmask for each range, and there's no computation saved compared to the `pickArbitraryLane` function. The overall algorithm is largely the same but I did tweak some of the details. For example, if the lanes for a given priority are already being worked on, the previous algorithm would assign to the next available lane, including the dedicated hydration lanes that exist in between each priority. The updated algorithm skips over the hydration lanes and goes to the next priority level. In the rare instance when all the non-Idle update lanes are occupied, it will pick an abitrary default lane. This will have the effect of invalidating the current work-in-progress, and indicates a starvation scenario. Eventually, if there are too many interruptions, the expiration time mechanism will kick in and force the update to synchronously finish.

view details

Dan Abramov

commit sha 8eaf05e0e835427c9231a6dd570c2819547959ac

DevTools: Make break-on-warn off by default (#19309)

view details

Dan Abramov

commit sha d4eadea6c7e72ce2a4891dd3f1589786c4d5142e

React DevTools 4.8.1

view details

Dan Abramov

commit sha 2663a12eb3d47d172eb7b3f5137dfc39babed199

Tweak wording

view details

Andrew Clark

commit sha 970fa122d8188bafa600e9b5214833487fbf1092

Use lanes to check if a render is a Suspense retry (#19307) Now that Suspense retries have their own dedicated set of lanes (#19287), we can determine if a render includes only retries by checking if its lanes are a subset of the retry lanes. Previously we inferred this by checking `workInProgressRootLatestProcessedEventTime`. If it's not set, that implies that no updates were processed in the current render, which implies it must be a Suspense retry. The eventual plan is to get rid of `workInProgressRootLatestProcessedEventTime` and instead track event times on the root; this change is one the steps toward that goal. The relevant tests were originally added in #15769.

view details

Nick Reiley

commit sha 17efbf7d63f3e4abb75b65b9baecdfe1b84fb4d5

[DevTools] Show HOC names in profiler (#19283) * show hoc names in profiler * Added hocDisplayNames.length check Co-authored-by: Brian Vaughn <brian.david.vaughn@gmail.com>

view details

Dominic Gannaway

commit sha 2562e758eaa023f7fbf849bc9eb295b1966b0154

Revise useFocus/useFocusWithin (#19310)

view details

Brian Vaughn

commit sha d5d659062d156de67a62ed3fd11ad9c08034bfdc

Updated DevTools test snapshots

view details

Dan Abramov

commit sha 47915fd6e1858e8d3434caff9588237448a00b3f

[ESLint] Fix a bug causing a too coarse dependency suggestion (#19313) * Add regression test for ESLint rule * Fix the issue

view details

Dan Abramov

commit sha a2b4db05bc8ac1ff92ed914008260875e4c11284

eslint-plugin-react-hooks@4.0.7

view details

Dominic Gannaway

commit sha 61dd00db24bec6305bd72908d3617b9f2a5183da

Extract some of the tidy up changes from 19278 (#19315)

view details

Dominic Gannaway

commit sha e7162c01b5962d2299bf9b87a4ae52b38b4a8c59

Remove capturePhaseEvents and separate events by bubbling WIP Refine all logic Revise types Fix Fix conflicts Fix flags Fix Fix Fix test Revise

view details

push time in 2 days

push eventtrueadm/react

Dominic Gannaway

commit sha 61dd00db24bec6305bd72908d3617b9f2a5183da

Extract some of the tidy up changes from 19278 (#19315)

view details

push time in 2 days

push eventfacebook/react

Dominic Gannaway

commit sha 61dd00db24bec6305bd72908d3617b9f2a5183da

Extract some of the tidy up changes from 19278 (#19315)

view details

push time in 2 days

delete branch trueadm/react

delete branch : clean-up-event-system

delete time in 2 days

PR merged facebook/react

Reviewers
Extract some of the tidy up changes from 19278 CLA Signed React Core Team

In order to make https://github.com/facebook/react/pull/19278 a bit smaller in terms of changes, this extracts some of the tidy up changes from that PR. https://github.com/facebook/react/pull/19278 should now only refer to the changes reflecting to moving away from capture phase events.

+184 -270

3 comments

11 changed files

trueadm

pr closed time in 2 days

push eventtrueadm/react

Dominic Gannaway

commit sha 2d8d1fd2aa24530e2b93489e2e78fa481b70881d

Extract some of the tidy up changes from 19278 Add Flow changes Add Flow changes Add Flow changes Add Flow changes

view details

push time in 2 days

push eventtrueadm/react

Dominic Gannaway

commit sha 4064c1898a1f345fa9b4235aa2e6348536e7066c

Extract some of the tidy up changes from 19278 Add Flow changes Add Flow changes Add Flow changes

view details

push time in 2 days

push eventtrueadm/react

Dominic Gannaway

commit sha 5ca4f6f1d92dd330ae597cc75ac2459c09a132a3

Extract some of the tidy up changes from 19278 Add Flow changes

view details

push time in 2 days

Pull request review commentfacebook/react

Extract some of the tidy up changes from 19278

 function registerReactDOMEvent(     registerEventOnNearestTargetContainer(       targetFiber,       topLevelType,-      passive,-      priority,-      capture,+      isPassiveListener,+      listenerPriority,+      isCapturePhaseListener,     );   } else if (isValidEventTarget(target)) {     const eventTarget = ((target: any): EventTarget);     const listenerMap = getEventListenerMap(eventTarget);-    listenToTopLevelEvent(+    listenToNativeEvent(       topLevelType,

Dan's further change to remove the concept topLevelType will address this.

trueadm

comment created time in 2 days

PR opened facebook/react

Reviewers
Extract some of the tidy up changes from 19278

In order to make https://github.com/facebook/react/pull/19278 a bit smaller in terms of changes, this extracts some of the tidy up changes from that PR. I'll probably make another PR that makes the changes to DispatchQueue, so the https://github.com/facebook/react/pull/19278 simply refers to the changes reflecting to moving away from capture phase events.

+87 -83

0 comment

7 changed files

pr created time in 2 days

create barnchtrueadm/react

branch : clean-up-event-system

created branch time in 2 days

push eventtrueadm/react

Dan Abramov

commit sha 47915fd6e1858e8d3434caff9588237448a00b3f

[ESLint] Fix a bug causing a too coarse dependency suggestion (#19313) * Add regression test for ESLint rule * Fix the issue

view details

Dan Abramov

commit sha a2b4db05bc8ac1ff92ed914008260875e4c11284

eslint-plugin-react-hooks@4.0.7

view details

push time in 2 days

push eventtrueadm/react

Brian Vaughn

commit sha d5d659062d156de67a62ed3fd11ad9c08034bfdc

Updated DevTools test snapshots

view details

Dominic Gannaway

commit sha e8205aee47cfc51cae2927cc59b09f46e14ada90

Modern Event System: use focusin/focusout for onFocus/onBlur Fix test now we use capture phase Cleanup Address feedback Revise Fix ReactDOMInput-test Fix

view details

push time in 2 days

push eventtrueadm/react

Brian Vaughn

commit sha d5d659062d156de67a62ed3fd11ad9c08034bfdc

Updated DevTools test snapshots

view details

push time in 2 days

pull request commentfacebook/react

Add missing unitless CSS properties

I'm not sure there's any real gain from making this change. It adds more size to ReactDOM and there's no real demand for these properties (other than this PR). Furthermore, adding px is definitely a historial feature that isn't as relevant these days. Folks should be opting to use relative units rather than static units (like px), otherwise they break their app/website to users who use zooming tools or accessibility tooling – invaliding Web Content Accessibility Guidelines.

Ideally, we should move React to use a small whitelist like mentioned above, with the ultimate goal of removing this feature entirely in a future version of React.

kripod

comment created time in 2 days

push eventtrueadm/react

Dominic Gannaway

commit sha f812fda27938151ca1c1aa22ad978da4a013f8d6

Modern Event System: use focusin/focusout for onFocus/onBlur Fix test now we use capture phase Cleanup Address feedback Revise Fix ReactDOMInput-test Fix

view details

push time in 2 days

push eventtrueadm/react

Dominic Gannaway

commit sha 766af5968a77c33cc1af0432247d678680bb7b19

Move Scope API ref resolution to mutation phase (#19264) * Move Scope API ref resolution to mutation phase

view details

Andrew Clark

commit sha 965d08cfff50609eed5d3f2317145f7be762423d

Add dedicated LanePriority for Suspense retries (#19287) A "retry" is a special type of update that attempts to flip a Suspense boundary from its placeholder state back to its primary/resolved state. Currently, retries are given default priority, using the same algorithm as normal updates and occupying range of lanes. This adds a new range of lanes dedicated specifically to retries, and gives them lower priority than normal updates. A couple of existing tests were affected because retries are no longer batched with normal updates; they commit in separate batches. Not totally satisfied with this design, but I think things will snap more into place once the rest of the Lanes changes (like how we handle parallel Suspense transitions) have settled.

view details

Rimil Dey

commit sha 6508ab3be8a4a79d18e46fac7318454307a51170

Fix typo in Overview doc for react-devtools (#19289)

view details

Gianmarco

commit sha a5b4492950130f13733cc0bfa0888970d93e5588

Updates Electron version for react-devtools (#19280)

view details

Brian Vaughn

commit sha e760d1fb0fc38d9075131c384fb6eebe5cb43d8c

Fixed test script for DevTools build config (#19295)

view details

Brian Vaughn

commit sha 08b8e6e1dc41fec1ce315c9e5fe4b340af96cd66

DevTools 4.7.0 -> 4.8.0 (#19297)

view details

Andrew Clark

commit sha 14084be286d09df49d5410c751bc28f0180a54b2

Refactor algorithm for next Lanes to work on (#19302) Some clean up to make the Lanes type easier to maintain. I removed the "start" and "end" range markers; they don't provide any information that isn't already encoded in the bitmask for each range, and there's no computation saved compared to the `pickArbitraryLane` function. The overall algorithm is largely the same but I did tweak some of the details. For example, if the lanes for a given priority are already being worked on, the previous algorithm would assign to the next available lane, including the dedicated hydration lanes that exist in between each priority. The updated algorithm skips over the hydration lanes and goes to the next priority level. In the rare instance when all the non-Idle update lanes are occupied, it will pick an abitrary default lane. This will have the effect of invalidating the current work-in-progress, and indicates a starvation scenario. Eventually, if there are too many interruptions, the expiration time mechanism will kick in and force the update to synchronously finish.

view details

Dan Abramov

commit sha 8eaf05e0e835427c9231a6dd570c2819547959ac

DevTools: Make break-on-warn off by default (#19309)

view details

Dan Abramov

commit sha d4eadea6c7e72ce2a4891dd3f1589786c4d5142e

React DevTools 4.8.1

view details

Dan Abramov

commit sha 2663a12eb3d47d172eb7b3f5137dfc39babed199

Tweak wording

view details

Andrew Clark

commit sha 970fa122d8188bafa600e9b5214833487fbf1092

Use lanes to check if a render is a Suspense retry (#19307) Now that Suspense retries have their own dedicated set of lanes (#19287), we can determine if a render includes only retries by checking if its lanes are a subset of the retry lanes. Previously we inferred this by checking `workInProgressRootLatestProcessedEventTime`. If it's not set, that implies that no updates were processed in the current render, which implies it must be a Suspense retry. The eventual plan is to get rid of `workInProgressRootLatestProcessedEventTime` and instead track event times on the root; this change is one the steps toward that goal. The relevant tests were originally added in #15769.

view details

Nick Reiley

commit sha 17efbf7d63f3e4abb75b65b9baecdfe1b84fb4d5

[DevTools] Show HOC names in profiler (#19283) * show hoc names in profiler * Added hocDisplayNames.length check Co-authored-by: Brian Vaughn <brian.david.vaughn@gmail.com>

view details

Dominic Gannaway

commit sha 2562e758eaa023f7fbf849bc9eb295b1966b0154

Revise useFocus/useFocusWithin (#19310)

view details

Dominic Gannaway

commit sha cb52c033b82e9102fd17cc5538c7ee6e5b0b93b8

Modern Event System: use focusin/focusout for onFocus/onBlur Fix test now we use capture phase Cleanup Address feedback Revise

view details

Dominic Gannaway

commit sha a6b48574703fb1cc748195138d86b9ac55b0b20f

Fix ReactDOMInput-test

view details

push time in 2 days

push eventtrueadm/react

Rimil Dey

commit sha 6508ab3be8a4a79d18e46fac7318454307a51170

Fix typo in Overview doc for react-devtools (#19289)

view details

Gianmarco

commit sha a5b4492950130f13733cc0bfa0888970d93e5588

Updates Electron version for react-devtools (#19280)

view details

Brian Vaughn

commit sha e760d1fb0fc38d9075131c384fb6eebe5cb43d8c

Fixed test script for DevTools build config (#19295)

view details

Brian Vaughn

commit sha 08b8e6e1dc41fec1ce315c9e5fe4b340af96cd66

DevTools 4.7.0 -> 4.8.0 (#19297)

view details

Andrew Clark

commit sha 14084be286d09df49d5410c751bc28f0180a54b2

Refactor algorithm for next Lanes to work on (#19302) Some clean up to make the Lanes type easier to maintain. I removed the "start" and "end" range markers; they don't provide any information that isn't already encoded in the bitmask for each range, and there's no computation saved compared to the `pickArbitraryLane` function. The overall algorithm is largely the same but I did tweak some of the details. For example, if the lanes for a given priority are already being worked on, the previous algorithm would assign to the next available lane, including the dedicated hydration lanes that exist in between each priority. The updated algorithm skips over the hydration lanes and goes to the next priority level. In the rare instance when all the non-Idle update lanes are occupied, it will pick an abitrary default lane. This will have the effect of invalidating the current work-in-progress, and indicates a starvation scenario. Eventually, if there are too many interruptions, the expiration time mechanism will kick in and force the update to synchronously finish.

view details

Dan Abramov

commit sha 8eaf05e0e835427c9231a6dd570c2819547959ac

DevTools: Make break-on-warn off by default (#19309)

view details

Dan Abramov

commit sha d4eadea6c7e72ce2a4891dd3f1589786c4d5142e

React DevTools 4.8.1

view details

Dan Abramov

commit sha 2663a12eb3d47d172eb7b3f5137dfc39babed199

Tweak wording

view details

Andrew Clark

commit sha 970fa122d8188bafa600e9b5214833487fbf1092

Use lanes to check if a render is a Suspense retry (#19307) Now that Suspense retries have their own dedicated set of lanes (#19287), we can determine if a render includes only retries by checking if its lanes are a subset of the retry lanes. Previously we inferred this by checking `workInProgressRootLatestProcessedEventTime`. If it's not set, that implies that no updates were processed in the current render, which implies it must be a Suspense retry. The eventual plan is to get rid of `workInProgressRootLatestProcessedEventTime` and instead track event times on the root; this change is one the steps toward that goal. The relevant tests were originally added in #15769.

view details

Nick Reiley

commit sha 17efbf7d63f3e4abb75b65b9baecdfe1b84fb4d5

[DevTools] Show HOC names in profiler (#19283) * show hoc names in profiler * Added hocDisplayNames.length check Co-authored-by: Brian Vaughn <brian.david.vaughn@gmail.com>

view details

Dominic Gannaway

commit sha 2562e758eaa023f7fbf849bc9eb295b1966b0154

Revise useFocus/useFocusWithin (#19310)

view details

push time in 2 days

delete branch trueadm/react

delete branch : Revise-useFocus/useFocusWithin

delete time in 2 days

push eventfacebook/react

Dominic Gannaway

commit sha 2562e758eaa023f7fbf849bc9eb295b1966b0154

Revise useFocus/useFocusWithin (#19310)

view details

push time in 2 days

PR merged facebook/react

Revise useFocus/useFocusWithin CLA Signed React Core Team

This updates the useFocus and useFocusWithin custom hooks that use event handles to better reflect the bug fixes made to the internal version.

+148 -116

3 comments

4 changed files

trueadm

pr closed time in 2 days

PR opened facebook/react

Revise useFocus/useFocusWithin

This updates the useFocus and useFocusWithin custom hooks that use event handles to better reflect the bug fixes made to the internal version.

+148 -116

0 comment

4 changed files

pr created time in 2 days

create barnchtrueadm/react

branch : Revise-useFocus/useFocusWithin

created branch time in 2 days

push eventtrueadm/react

Dominic Gannaway

commit sha 5360811c3a6f368d59d65b7378b7afaf24e2d719

Alter event replaying strategy for target only events Fix test Fix test Fix test Fix test

view details

push time in 3 days

push eventtrueadm/react

Dominic Gannaway

commit sha c48b292923d49a8fe3a63bc667300cc2aaef44db

Alter event replaying strategy for target only events Fix test Fix test Fix test

view details

push time in 3 days

push eventtrueadm/react

Dominic Gannaway

commit sha 40e0bbf747c91fc8d9bb4895975af83d3b40ca22

Remove capturePhaseEvents and separate events by bubbling WIP Refine all logic Revise types Fix Fix conflicts Fix flags Fix Fix Fix test Revise

view details

push time in 3 days

push eventtrueadm/react

Dominic Gannaway

commit sha 12000e229a580a04dd743528e3d2bc3eadc9db22

Alter event replaying strategy for target only events Fix test Fix test

view details

push time in 3 days

push eventtrueadm/react

Dominic Gannaway

commit sha 776e5338105aea22b545fb2a6bb278f50cef9818

Remove capturePhaseEvents and separate events by bubbling WIP Refine all logic Revise types Fix Fix conflicts Fix flags Fix Fix Fix test

view details

push time in 3 days

pull request commentfacebook/react

Remove capturePhaseEvents and separate events by bubbling

This PR is currently blocked by the events for replaying. We need to decide on what approach to take, either:

https://github.com/facebook/react/pull/19300 or https://github.com/facebook/react/pull/19285

trueadm

comment created time in 3 days

pull request commentfacebook/react

Make form events bubble again

I've put up an alternative approach: https://github.com/facebook/react/pull/19300

trueadm

comment created time in 3 days

PR opened facebook/react

Reviewers
Alter event replaying strategy for target only events

This PR removes four events from being included in event replaying. These events are:

  • submit
  • reset
  • close
  • cancel

submit and reset are both form events, and they also natively bubble on the browser. However, in React, we instead attach these to target element. We could change this in https://github.com/facebook/react/pull/19285, but as mentioned in that PR, there are quite a few codesites internally that rely on these events not being delegated, yet we need delegation to make event replaying work.

close and cancel are related to using <dialog> elements and don't natively bubble. The only way to make these work is to use the capture phase (which React's event system used to do), and emulate the bubbling. These events are rarely used and so these probably aren't too big of a deal.

In both cases, we can re-add these events for event replaying in the future. @sebmarkbage has some ideas around how we can re-use the capture phase for event replaying, which will avoid the issues outlined above. However, for now, I feel we can get away with removing these events for replaying, to unblock the other streams of work (https://github.com/facebook/react/pull/19278).

+31 -9

0 comment

3 changed files

pr created time in 3 days

push eventtrueadm/react

Dominic Gannaway

commit sha b872d076f7fdf3b5201c1ed092164533e0aa8013

Alter event replaying strategy for target only events Fix test

view details

push time in 3 days

create barnchtrueadm/react

branch : alter-event-replaying

created branch time in 3 days

pull request commentfacebook/react

Make form events bubble again

@bvaughn

So then my question is: Who should make that decision? (That's the thing I really don't have context on- how much effort would it be to fix Workplace.)

I'm looking into this now with @philipp-spiess. If we can't make this change though, the only other thing would be to not do this PR right now, and keep capture and reset events on the target. That would also mean removing them event replaying, which @sebmarkbage would have to be happy with, until he can implement his ideas around changing replaying to the capture phase.

trueadm

comment created time in 3 days

push eventtrueadm/react

Dominic Gannaway

commit sha 766af5968a77c33cc1af0432247d678680bb7b19

Move Scope API ref resolution to mutation phase (#19264) * Move Scope API ref resolution to mutation phase

view details

Andrew Clark

commit sha 965d08cfff50609eed5d3f2317145f7be762423d

Add dedicated LanePriority for Suspense retries (#19287) A "retry" is a special type of update that attempts to flip a Suspense boundary from its placeholder state back to its primary/resolved state. Currently, retries are given default priority, using the same algorithm as normal updates and occupying range of lanes. This adds a new range of lanes dedicated specifically to retries, and gives them lower priority than normal updates. A couple of existing tests were affected because retries are no longer batched with normal updates; they commit in separate batches. Not totally satisfied with this design, but I think things will snap more into place once the rest of the Lanes changes (like how we handle parallel Suspense transitions) have settled.

view details

push time in 4 days

push eventfacebook/react

Dominic Gannaway

commit sha 766af5968a77c33cc1af0432247d678680bb7b19

Move Scope API ref resolution to mutation phase (#19264) * Move Scope API ref resolution to mutation phase

view details

push time in 4 days

PR merged facebook/react

Reviewers
Move Scope API ref resolution to mutation phase CLA Signed React Core Team

To unblock internal progression on replacing React Flare, let's instead move resolution of Scope API refs to the mutation phase, so we can attach event listeners to scopes before the layout phase begins.

+38 -4

3 comments

2 changed files

trueadm

pr closed time in 4 days

pull request commentfacebook/react

Make form events bubble again

Alternatively, we could change the Jest test for testing submit for event replaying so that it only tests this logic without event replaying. @sebmarkbage would this be a suitable compromise? I'd love your thoughts.

trueadm

comment created time in 4 days

push eventtrueadm/react

Dominic Gannaway

commit sha 4eb9b1d2b4439853016a28091737cfdaa581b5db

Refactor createEventHandle signature (#19174)

view details

Dominic Gannaway

commit sha 98390f11f65ea32bb0f187ef420dfbfd2c9fa3bc

Update useEvent implementation (#19271)

view details

Dan Abramov

commit sha 7ca1d861e85868dfb4e5c1fc9db4db3d94cdefc1

[ESLint] Consistently treat optional chaining as regular chaining (#19273) * Revert "Fix ExhaustiveDeps ESLint rule throwing with optional chaining (#19260)" This reverts commit 0f84b0f02b5579d780a9f54497007c4c84aaebb7. * Re-add a test from #19260 * Remove all code for optional chaining support * Consistently treat optional chaining as regular chaining This is not ideal because our suggestions use normal chaining. But it gets rid of all current edge cases. * Add more tests * More consistency in treating normal and optional expressions * Add regression tests for every occurrence of Optional*

view details

Ricky

commit sha dccf541ec534035a1ee768e3e493893e01e05e4d

Allow decoupleUpdatePriorityFromScheduler to be set (#19272)

view details

Dan Abramov

commit sha 7c35cb20efb63c7c0bdd06e00259200a49c2343e

[ESLint] Handle optional member chains (#19275) * Rename internal variables This disambiguates "optional"/"required" because that terminology is taken by optional chaining. * Handle optional member chains * Update comment Co-authored-by: Ricky <rickhanlonii@gmail.com> Co-authored-by: Ricky <rickhanlonii@gmail.com>

view details

Dan Abramov

commit sha 6fd43211350fe018dbe4b0871eaec6a5beb52b33

eslint-plugin-react-hooks@4.0.6

view details

Phil MacCart

commit sha b85b47630be57c7031b0a9ab741cf858dc0ca215

Fix state leaking when a function component throws on server render (#19212) * add unit test asserting internal hooks state is reset * Reset internal hooks state before rendering * reset hooks state on error * Use expect...toThrow instead of try/catch in test * reset dev-only hooks state inside resetHooksState * reset currentlyRenderingComponent to null

view details

E-Liang Tan

commit sha 40cddfeeb167d4964d82220142deb00f57fe197d

Add user timing marks for scheduling profiler tool (#19223) High level breakdown of this commit: * Add a enableSchedulingProfiling feature flag. * Add functions that call User Timing APIs to a new SchedulingProfiler file. The file follows DebugTracing's structure. * Add user timing marks to places where DebugTracing logs. * Add user timing marks to most other places where @bvaughn's original draft DebugTracing branch marks. * Tests added * More context (and discussions with @bvaughn) available at our internal PR MLH-Fellowship#11 and issue MLH-Fellowship#5. Similar to DebugTracing, we've only added scheduling profiling calls to the old reconciler fork. Co-authored-by: Kartik Choudhary <kartik.c918@gmail.com> Co-authored-by: Kartik Choudhary <kartikc.918@gmail.com> Co-authored-by: Brian Vaughn <brian.david.vaughn@gmail.com>

view details

falguniraina

commit sha e18fb91852cc9386abc234c660f4c03903a4d663

Text improvement (#19167) text improvement in README.md

view details

Dominic Gannaway

commit sha f5ea39c18269921107ea70353d86958064889bea

Modern Event System: make on*Capture events use capture phase (#19221)

view details

Giovanni Fumagalli

commit sha d87220f217f17fda40f3a0b7eaf85bb0989372e4

Add console group methods to dev disabled groups (#19069) Co-authored-by: Dan Abramov <dan.abramov@gmail.com>

view details

Dan Abramov

commit sha 7b0ef42bccb58c78237702149707557554988a05

Update README.md

view details

Behnam Mohammadi

commit sha 77e872217c7f4044ae4f96dd99bf999efb601040

Improve readability of isValidElementType (#19251) * improve readability * replace condition by switch/case * replace condition by switch/case * remove unnecessary braces * replace switch/case to ifs * replace switch/case to ifs * fix by multiline if statements * fix multiple if statements

view details

Dan Abramov

commit sha e0e6b9c036abde428d3130738604fd5abb67aa8f

Add regression test for #19269 (#19282)

view details

Dan Abramov

commit sha c7805b8d57d2d2c41772bdfe66140bfe70529b8c

Use a custom jsdom fork (#19284)

view details

Dominic Gannaway

commit sha c480bcf8b84fc6b17b3b5e5a7356144bbd91924c

Move Scope API ref resolution to mutation phase Revise

view details

Dominic Gannaway

commit sha 03f4efe3438cad691ca1162a86a498c15329163d

Address feedback

view details

Dominic Gannaway

commit sha db1242c47c1d484079e4b8f54c118d65fad94ebf

Add TODO

view details

push time in 4 days

PR opened facebook/react

Reviewers
Make form events bubble again

This PR changes form events, specifically submit and reset so that behave as native bubbling events. Today, with the modern event system, that means making them not use the capture phase.

There are a few issues though. We want to move towards removing the notion of have a special capture phase for certain events. One effort is to make them listen only to their target element, as we do in this PR: https://github.com/facebook/react/pull/19278. That works for all tests, apart from the recent regression test that @gaearon added, where we expect submit to be event replayed. We can't replay events that are only attached to their target, as that means we'll double-fire if we try to listen to them on the root too.

Moving these events to submit and reset to bubble phase sound sensible then right? They natively bubble anyway according to DOM spec, and this includes all major browsers we support. The issue is that we have a Jest test and a reference PR that shows where this went wrong in the past:

https://github.com/facebook/react/pull/13462

Can we maybe go back and fix this problem internally? Then it would unblock this particular set of events and make them behave as they should do.

+1 -5

0 comment

2 changed files

pr created time in 4 days

create barnchtrueadm/react

branch : form-events

created branch time in 4 days

push eventtrueadm/react

Dan Abramov

commit sha 7b0ef42bccb58c78237702149707557554988a05

Update README.md

view details

Behnam Mohammadi

commit sha 77e872217c7f4044ae4f96dd99bf999efb601040

Improve readability of isValidElementType (#19251) * improve readability * replace condition by switch/case * replace condition by switch/case * remove unnecessary braces * replace switch/case to ifs * replace switch/case to ifs * fix by multiline if statements * fix multiple if statements

view details

Dan Abramov

commit sha e0e6b9c036abde428d3130738604fd5abb67aa8f

Add regression test for #19269 (#19282)

view details

Dan Abramov

commit sha c7805b8d57d2d2c41772bdfe66140bfe70529b8c

Use a custom jsdom fork (#19284)

view details

Dominic Gannaway

commit sha 22ab36cdd32078a776b7fd4592def5adaad67b00

Remove capturePhaseEvents and separate events by bubbling WIP Refine all logic Revise types Fix Fix conflicts Fix flags Fix Fix

view details

push time in 4 days

push eventtrueadm/react

Dominic Gannaway

commit sha 65951c7aab3f6ca9608a6c6e8831825b7963689e

Fix ReactDOMInput-test

view details

push time in 4 days

push eventtrueadm/react

Dan Abramov

commit sha e0e6b9c036abde428d3130738604fd5abb67aa8f

Add regression test for #19269 (#19282)

view details

Dan Abramov

commit sha c7805b8d57d2d2c41772bdfe66140bfe70529b8c

Use a custom jsdom fork (#19284)

view details

Dominic Gannaway

commit sha 6ca63d07a09e67114fe2ffa78725fe3ccb859e30

Modern Event System: use focusin/focusout for onFocus/onBlur Fix test now we use capture phase Cleanup Address feedback Revise

view details

Dominic Gannaway

commit sha beb19bdf56f009e783350c512bb022d91059a7b8

Update useFocus/useFocusWithin

view details

push time in 4 days

push eventtrueadm/react

Dan Abramov

commit sha e0e6b9c036abde428d3130738604fd5abb67aa8f

Add regression test for #19269 (#19282)

view details

Dan Abramov

commit sha c7805b8d57d2d2c41772bdfe66140bfe70529b8c

Use a custom jsdom fork (#19284)

view details

push time in 4 days

push eventtrueadm/react

Dominic Gannaway

commit sha 9511c2e2bccca89a46f1dfaff51abaf03aff7643

Update useFocus/useFocusWithin

view details

push time in 4 days

pull request commentfacebook/react

Add regression test for #19269

Nice one :)

gaearon

comment created time in 4 days

push eventtrueadm/react

Dominic Gannaway

commit sha a19677792088cc08798441c1673bd7769f11ccbb

Modern Event System: use focusin/focusout for onFocus/onBlur Fix test now we use capture phase Cleanup Address feedback Revise

view details

push time in 4 days

push eventtrueadm/react

Dan Abramov

commit sha 7b0ef42bccb58c78237702149707557554988a05

Update README.md

view details

Behnam Mohammadi

commit sha 77e872217c7f4044ae4f96dd99bf999efb601040

Improve readability of isValidElementType (#19251) * improve readability * replace condition by switch/case * replace condition by switch/case * remove unnecessary braces * replace switch/case to ifs * replace switch/case to ifs * fix by multiline if statements * fix multiple if statements

view details

push time in 4 days

push eventtrueadm/react

Dominic Gannaway

commit sha 4eb9b1d2b4439853016a28091737cfdaa581b5db

Refactor createEventHandle signature (#19174)

view details

Dominic Gannaway

commit sha 98390f11f65ea32bb0f187ef420dfbfd2c9fa3bc

Update useEvent implementation (#19271)

view details

Dan Abramov

commit sha 7ca1d861e85868dfb4e5c1fc9db4db3d94cdefc1

[ESLint] Consistently treat optional chaining as regular chaining (#19273) * Revert "Fix ExhaustiveDeps ESLint rule throwing with optional chaining (#19260)" This reverts commit 0f84b0f02b5579d780a9f54497007c4c84aaebb7. * Re-add a test from #19260 * Remove all code for optional chaining support * Consistently treat optional chaining as regular chaining This is not ideal because our suggestions use normal chaining. But it gets rid of all current edge cases. * Add more tests * More consistency in treating normal and optional expressions * Add regression tests for every occurrence of Optional*

view details

Ricky

commit sha dccf541ec534035a1ee768e3e493893e01e05e4d

Allow decoupleUpdatePriorityFromScheduler to be set (#19272)

view details

Dan Abramov

commit sha 7c35cb20efb63c7c0bdd06e00259200a49c2343e

[ESLint] Handle optional member chains (#19275) * Rename internal variables This disambiguates "optional"/"required" because that terminology is taken by optional chaining. * Handle optional member chains * Update comment Co-authored-by: Ricky <rickhanlonii@gmail.com> Co-authored-by: Ricky <rickhanlonii@gmail.com>

view details

Dan Abramov

commit sha 6fd43211350fe018dbe4b0871eaec6a5beb52b33

eslint-plugin-react-hooks@4.0.6

view details

Phil MacCart

commit sha b85b47630be57c7031b0a9ab741cf858dc0ca215

Fix state leaking when a function component throws on server render (#19212) * add unit test asserting internal hooks state is reset * Reset internal hooks state before rendering * reset hooks state on error * Use expect...toThrow instead of try/catch in test * reset dev-only hooks state inside resetHooksState * reset currentlyRenderingComponent to null

view details

E-Liang Tan

commit sha 40cddfeeb167d4964d82220142deb00f57fe197d

Add user timing marks for scheduling profiler tool (#19223) High level breakdown of this commit: * Add a enableSchedulingProfiling feature flag. * Add functions that call User Timing APIs to a new SchedulingProfiler file. The file follows DebugTracing's structure. * Add user timing marks to places where DebugTracing logs. * Add user timing marks to most other places where @bvaughn's original draft DebugTracing branch marks. * Tests added * More context (and discussions with @bvaughn) available at our internal PR MLH-Fellowship#11 and issue MLH-Fellowship#5. Similar to DebugTracing, we've only added scheduling profiling calls to the old reconciler fork. Co-authored-by: Kartik Choudhary <kartik.c918@gmail.com> Co-authored-by: Kartik Choudhary <kartikc.918@gmail.com> Co-authored-by: Brian Vaughn <brian.david.vaughn@gmail.com>

view details

falguniraina

commit sha e18fb91852cc9386abc234c660f4c03903a4d663

Text improvement (#19167) text improvement in README.md

view details

Dominic Gannaway

commit sha f5ea39c18269921107ea70353d86958064889bea

Modern Event System: make on*Capture events use capture phase (#19221)

view details

Giovanni Fumagalli

commit sha d87220f217f17fda40f3a0b7eaf85bb0989372e4

Add console group methods to dev disabled groups (#19069) Co-authored-by: Dan Abramov <dan.abramov@gmail.com>

view details

Dan Abramov

commit sha 7b0ef42bccb58c78237702149707557554988a05

Update README.md

view details

Behnam Mohammadi

commit sha 77e872217c7f4044ae4f96dd99bf999efb601040

Improve readability of isValidElementType (#19251) * improve readability * replace condition by switch/case * replace condition by switch/case * remove unnecessary braces * replace switch/case to ifs * replace switch/case to ifs * fix by multiline if statements * fix multiple if statements

view details

Dominic Gannaway

commit sha f709fb1345821daaa6c18053615ee12f5054263a

Modern Event System: use focusin/focusout for onFocus/onBlur Fix test now we use capture phase Cleanup Address feedback Revise

view details

push time in 4 days

push eventtrueadm/react

E-Liang Tan

commit sha 40cddfeeb167d4964d82220142deb00f57fe197d

Add user timing marks for scheduling profiler tool (#19223) High level breakdown of this commit: * Add a enableSchedulingProfiling feature flag. * Add functions that call User Timing APIs to a new SchedulingProfiler file. The file follows DebugTracing's structure. * Add user timing marks to places where DebugTracing logs. * Add user timing marks to most other places where @bvaughn's original draft DebugTracing branch marks. * Tests added * More context (and discussions with @bvaughn) available at our internal PR MLH-Fellowship#11 and issue MLH-Fellowship#5. Similar to DebugTracing, we've only added scheduling profiling calls to the old reconciler fork. Co-authored-by: Kartik Choudhary <kartik.c918@gmail.com> Co-authored-by: Kartik Choudhary <kartikc.918@gmail.com> Co-authored-by: Brian Vaughn <brian.david.vaughn@gmail.com>

view details

falguniraina

commit sha e18fb91852cc9386abc234c660f4c03903a4d663

Text improvement (#19167) text improvement in README.md

view details

Dominic Gannaway

commit sha f5ea39c18269921107ea70353d86958064889bea

Modern Event System: make on*Capture events use capture phase (#19221)

view details

Giovanni Fumagalli

commit sha d87220f217f17fda40f3a0b7eaf85bb0989372e4

Add console group methods to dev disabled groups (#19069) Co-authored-by: Dan Abramov <dan.abramov@gmail.com>

view details

push time in 4 days

push eventtrueadm/react

Dominic Gannaway

commit sha 2b37220a0917d7bb46614fba306e813244971325

Remove capturePhaseEvents and separate events by bubbling WIP Refine all logic Revise types Fix Fix conflicts Fix flags Fix Fix

view details

push time in 4 days

push eventtrueadm/react

Dominic Gannaway

commit sha c07ddfcbf27e968747a980822fae4570123fb3f4

Remove capturePhaseEvents and separate events by bubbling WIP Refine all logic Revise types Fix Fix conflicts Fix flags Fix

view details

push time in 4 days

push eventtrueadm/react

Dominic Gannaway

commit sha 49501e8dd42ad7c2662c5a2a61ffffed86a2d4fc

Remove capturePhaseEvents and separate events by bubbling WIP Refine all logic Revise types Fix Fix conflicts Fix flags

view details

push time in 4 days

push eventtrueadm/react

Dominic Gannaway

commit sha f5ea39c18269921107ea70353d86958064889bea

Modern Event System: make on*Capture events use capture phase (#19221)

view details

Giovanni Fumagalli

commit sha d87220f217f17fda40f3a0b7eaf85bb0989372e4

Add console group methods to dev disabled groups (#19069) Co-authored-by: Dan Abramov <dan.abramov@gmail.com>

view details

Dominic Gannaway

commit sha d698d52b26cf70a8792388c078be70130e11a8ea

Remove capturePhaseEvents and separate events by bubbling WIP Refine all logic Revise types Fix Fix conflicts

view details

push time in 4 days

push eventtrueadm/react

Giovanni Fumagalli

commit sha 2fd3908741b3cbd33a734b66653cf9a0f7950075

Add console group methods to dev disabled groups (#19069) Co-authored-by: Dan Abramov <dan.abramov@gmail.com>

view details

Dominic Gannaway

commit sha c56843dc070ce8cc7c6aae390fc08507fc811178

Remove capturePhaseEvents and separate events by bubbling WIP Refine all logic Revise types

view details

push time in 4 days

push eventtrueadm/react

Dominic Gannaway

commit sha 98390f11f65ea32bb0f187ef420dfbfd2c9fa3bc

Update useEvent implementation (#19271)

view details

Dan Abramov

commit sha 7ca1d861e85868dfb4e5c1fc9db4db3d94cdefc1

[ESLint] Consistently treat optional chaining as regular chaining (#19273) * Revert "Fix ExhaustiveDeps ESLint rule throwing with optional chaining (#19260)" This reverts commit 0f84b0f02b5579d780a9f54497007c4c84aaebb7. * Re-add a test from #19260 * Remove all code for optional chaining support * Consistently treat optional chaining as regular chaining This is not ideal because our suggestions use normal chaining. But it gets rid of all current edge cases. * Add more tests * More consistency in treating normal and optional expressions * Add regression tests for every occurrence of Optional*

view details

Ricky

commit sha dccf541ec534035a1ee768e3e493893e01e05e4d

Allow decoupleUpdatePriorityFromScheduler to be set (#19272)

view details

Dan Abramov

commit sha 7c35cb20efb63c7c0bdd06e00259200a49c2343e

[ESLint] Handle optional member chains (#19275) * Rename internal variables This disambiguates "optional"/"required" because that terminology is taken by optional chaining. * Handle optional member chains * Update comment Co-authored-by: Ricky <rickhanlonii@gmail.com> Co-authored-by: Ricky <rickhanlonii@gmail.com>

view details

Dan Abramov

commit sha 6fd43211350fe018dbe4b0871eaec6a5beb52b33

eslint-plugin-react-hooks@4.0.6

view details

Phil MacCart

commit sha b85b47630be57c7031b0a9ab741cf858dc0ca215

Fix state leaking when a function component throws on server render (#19212) * add unit test asserting internal hooks state is reset * Reset internal hooks state before rendering * reset hooks state on error * Use expect...toThrow instead of try/catch in test * reset dev-only hooks state inside resetHooksState * reset currentlyRenderingComponent to null

view details

E-Liang Tan

commit sha 40cddfeeb167d4964d82220142deb00f57fe197d

Add user timing marks for scheduling profiler tool (#19223) High level breakdown of this commit: * Add a enableSchedulingProfiling feature flag. * Add functions that call User Timing APIs to a new SchedulingProfiler file. The file follows DebugTracing's structure. * Add user timing marks to places where DebugTracing logs. * Add user timing marks to most other places where @bvaughn's original draft DebugTracing branch marks. * Tests added * More context (and discussions with @bvaughn) available at our internal PR MLH-Fellowship#11 and issue MLH-Fellowship#5. Similar to DebugTracing, we've only added scheduling profiling calls to the old reconciler fork. Co-authored-by: Kartik Choudhary <kartik.c918@gmail.com> Co-authored-by: Kartik Choudhary <kartikc.918@gmail.com> Co-authored-by: Brian Vaughn <brian.david.vaughn@gmail.com>

view details

falguniraina

commit sha e18fb91852cc9386abc234c660f4c03903a4d663

Text improvement (#19167) text improvement in README.md

view details

Dominic Gannaway

commit sha f5ea39c18269921107ea70353d86958064889bea

Modern Event System: make on*Capture events use capture phase (#19221)

view details

Giovanni Fumagalli

commit sha d87220f217f17fda40f3a0b7eaf85bb0989372e4

Add console group methods to dev disabled groups (#19069) Co-authored-by: Dan Abramov <dan.abramov@gmail.com>

view details

Dominic Gannaway

commit sha 99f833f3fa0fc32169c01ba1956b5dfadeadc3c3

Remove capturePhaseEvents and separate events by bubbling WIP Refine all logic Revise types

view details

push time in 4 days

push eventtrueadm/react

Dominic Gannaway

commit sha 97e0106d61db47129438865ee1ca917e4e985d10

Remove capturePhaseEvents and separate events by bubbling WIP Refine all logic Revise types

view details

push time in 4 days

push eventfacebook/react

Dominic Gannaway

commit sha f5ea39c18269921107ea70353d86958064889bea

Modern Event System: make on*Capture events use capture phase (#19221)

view details

push time in 4 days

PR merged facebook/react

Reviewers
Modern Event System: make on*Capture events use capture phase CLA Signed React Core Team

Note: this PR is rebased on https://github.com/facebook/react/pull/19244.

This PR alters the modern event system so that events that are of the format on*Capture (capture events) are actually put into the browser's native capture event phase when React creates the event listener. This is a deparature of the previous logic, which "virtualized" the capture and bubble phases within the native bubble event listener.

This is an important change to the modern event system, as the modern event system delegates to React roots (or portals) rather than the document. This means events that are setup to be capture listener, i.e. onClickCapture now correctly behave has expected. This also fixes some long-standing issues with how React and the browser differ in regards to how events are handled in co-ordination with native event listeners.

Lastly, we still (for now) enforce blur and focus to be capture phase listeners (so they emulate two phase propagation in the native capture phase, as we did before). We also emulate two phase propagation in the native bubble phase, as we did before, for the ChangeEventPlugin, BeforeInputEventPlugin and SelectEventPlugin event plugins.

+336 -167

5 comments

12 changed files

trueadm

pr closed time in 4 days

pull request commentfacebook/react

Modern Event System: make on*Capture events use capture phase

I'll merge this PR and address the concerns in a follow up, as much of what I've done there already fixes the comments from Dan.

trueadm

comment created time in 4 days

push eventtrueadm/react

Dominic Gannaway

commit sha 33bd00b96c0bd651003f2c71b1bd3cf9b500f9ae

Remove capturePhaseEvents and separate events by bubbling WIP Refine all logic

view details

push time in 4 days

push eventtrueadm/react

Dominic Gannaway

commit sha d8e5480a416739831d1a6ebe136ab691d3ce4e8d

Modern Event System: make on*Capture events use capture phase WIP WIP FIX FIX Fix WIP Virtualize plugins Fix lint Clear up conflict Clearn things up Fix logic for plugins Fix test Simplify logic Simplify logic Optimize hot path Revise

view details

Dominic Gannaway

commit sha 8c7e627bb269f5d1a57b53981955c00d57fcc1aa

Update useEvent implementation (#19271)

view details

Dan Abramov

commit sha 2f7b2b8c80cb53401e97cc1943244a30c96670a2

[ESLint] Consistently treat optional chaining as regular chaining (#19273) * Revert "Fix ExhaustiveDeps ESLint rule throwing with optional chaining (#19260)" This reverts commit 0f84b0f02b5579d780a9f54497007c4c84aaebb7. * Re-add a test from #19260 * Remove all code for optional chaining support * Consistently treat optional chaining as regular chaining This is not ideal because our suggestions use normal chaining. But it gets rid of all current edge cases. * Add more tests * More consistency in treating normal and optional expressions * Add regression tests for every occurrence of Optional*

view details

Ricky

commit sha c001afb51761b7368a0ac56c552f04c290f50460

Allow decoupleUpdatePriorityFromScheduler to be set (#19272)

view details

Dan Abramov

commit sha 119e632a933cea3c19d16634fcd78232ee55140f

[ESLint] Handle optional member chains (#19275) * Rename internal variables This disambiguates "optional"/"required" because that terminology is taken by optional chaining. * Handle optional member chains * Update comment Co-authored-by: Ricky <rickhanlonii@gmail.com> Co-authored-by: Ricky <rickhanlonii@gmail.com>

view details

Dan Abramov

commit sha c9e34949d4584f77f7db971e9b244564296b748b

eslint-plugin-react-hooks@4.0.6

view details

Phil MacCart

commit sha dcb6032dc5fbafc1bb4584c73594856712ff98ae

Fix state leaking when a function component throws on server render (#19212) * add unit test asserting internal hooks state is reset * Reset internal hooks state before rendering * reset hooks state on error * Use expect...toThrow instead of try/catch in test * reset dev-only hooks state inside resetHooksState * reset currentlyRenderingComponent to null

view details

Dominic Gannaway

commit sha 894bf012e87d7ae1f3dd0aea8d3602c600f800c9

Remove capturePhaseEvents and separate events by bubbling

view details

Dominic Gannaway

commit sha 0b6afadb7d9d58c06bc8338abb8e98abd6844477

WIP

view details

push time in 5 days

create barnchtrueadm/react

branch : add-non-bubbling-events

created branch time in 5 days

push eventtrueadm/react

Dominic Gannaway

commit sha 98390f11f65ea32bb0f187ef420dfbfd2c9fa3bc

Update useEvent implementation (#19271)

view details

Dan Abramov

commit sha 7ca1d861e85868dfb4e5c1fc9db4db3d94cdefc1

[ESLint] Consistently treat optional chaining as regular chaining (#19273) * Revert "Fix ExhaustiveDeps ESLint rule throwing with optional chaining (#19260)" This reverts commit 0f84b0f02b5579d780a9f54497007c4c84aaebb7. * Re-add a test from #19260 * Remove all code for optional chaining support * Consistently treat optional chaining as regular chaining This is not ideal because our suggestions use normal chaining. But it gets rid of all current edge cases. * Add more tests * More consistency in treating normal and optional expressions * Add regression tests for every occurrence of Optional*

view details

Ricky

commit sha dccf541ec534035a1ee768e3e493893e01e05e4d

Allow decoupleUpdatePriorityFromScheduler to be set (#19272)

view details

Dan Abramov

commit sha 7c35cb20efb63c7c0bdd06e00259200a49c2343e

[ESLint] Handle optional member chains (#19275) * Rename internal variables This disambiguates "optional"/"required" because that terminology is taken by optional chaining. * Handle optional member chains * Update comment Co-authored-by: Ricky <rickhanlonii@gmail.com> Co-authored-by: Ricky <rickhanlonii@gmail.com>

view details

Dan Abramov

commit sha 6fd43211350fe018dbe4b0871eaec6a5beb52b33

eslint-plugin-react-hooks@4.0.6

view details

Phil MacCart

commit sha b85b47630be57c7031b0a9ab741cf858dc0ca215

Fix state leaking when a function component throws on server render (#19212) * add unit test asserting internal hooks state is reset * Reset internal hooks state before rendering * reset hooks state on error * Use expect...toThrow instead of try/catch in test * reset dev-only hooks state inside resetHooksState * reset currentlyRenderingComponent to null

view details

push time in 5 days

push eventtrueadm/react

Dominic Gannaway

commit sha 4eb9b1d2b4439853016a28091737cfdaa581b5db

Refactor createEventHandle signature (#19174)

view details

Dominic Gannaway

commit sha e2f0a462d607c8612cff235247a500297b0921e0

Modern Event System: make on*Capture events use capture phase WIP WIP FIX FIX Fix WIP Virtualize plugins Fix lint Clear up conflict Clearn things up Fix logic for plugins Fix test Simplify logic Simplify logic Optimize hot path

view details

push time in 5 days

push eventtrueadm/react

Dominic Gannaway

commit sha d8e5480a416739831d1a6ebe136ab691d3ce4e8d

Modern Event System: make on*Capture events use capture phase WIP WIP FIX FIX Fix WIP Virtualize plugins Fix lint Clear up conflict Clearn things up Fix logic for plugins Fix test Simplify logic Simplify logic Optimize hot path Revise

view details

push time in 5 days

push eventfacebook/react

Dominic Gannaway

commit sha 98390f11f65ea32bb0f187ef420dfbfd2c9fa3bc

Update useEvent implementation (#19271)

view details

push time in 6 days

delete branch trueadm/react

delete branch : update-use-event

delete time in 6 days

PR merged facebook/react

Update useEvent implementation CLA Signed React Core Team

This updates the useEvent implementation within this repo to match that of our internal version, for consistency.

+12 -14

4 comments

1 changed file

trueadm

pr closed time in 6 days

Pull request review commentfacebook/react

Update useEvent implementation

 export default function useEvent(     priority?: 0 | 1 | 2,   |}, ): UseEventHandle {-  const handleRef = useRef(null);-  let setListener;-  let clears;-  let useEventHandle;+  const handleRef = useRef<UseEventHandle | null>(null);

We use Scopes internally, which means that the target needs be generic to cover them too. On the web, we can stick with EventTarget, so I could simplify it on githib. Good question though!

trueadm

comment created time in 6 days

push eventtrueadm/react

Dominic Gannaway

commit sha 4eb9b1d2b4439853016a28091737cfdaa581b5db

Refactor createEventHandle signature (#19174)

view details

push time in 6 days

PR opened facebook/react

Update useEvent implementation

This updates the useEvent implementation within this repo to match that of our internal versions, for consistency.

+12 -14

0 comment

1 changed file

pr created time in 6 days

create barnchtrueadm/react

branch : update-use-event

created branch time in 6 days

push eventfacebook/react

Dominic Gannaway

commit sha 4eb9b1d2b4439853016a28091737cfdaa581b5db

Refactor createEventHandle signature (#19174)

view details

push time in 6 days

delete branch trueadm/react

delete branch : revise-create-event-handle

delete time in 6 days

PR merged facebook/react

Reviewers
Refactor createEventHandle signature CLA Signed React Core Team

This PR refactors the ReactDOM.createEventHandle API so that the signature is simpler and more barebones. Previously, createEventHandle returned an object with the methods setListener and clear, which mimiced what useEvent does.

After utilizing this API internally, primarily behind useEvent, it makes little sense for createEventHandle to have this signature. It still makses sense for useEvent to have this signtuare, but it's not important that the core API works the same. All we really want this core API to do is add an event and remove and event – sort of like a better native addEventListener.

This change means we no longer return an object from createEventHandle, but rather a function that sets the listener. Upon using the setter, you get back an unsubscribe/clear listener function.

const setClick = ReactDOM.createEventHandle('click');
const clear = setClick(domNode, callback);
clear();

To show a more concrete example, previously you might use the API in this way:

const clickHandle = ReactDOM.createEventHandle('click');

function Button({onClick}) {
  const ref = useRef(null);
  useEffect(() => {
    clickHandle.setListener(ref.current, onClick);
  });

  return <button ref={ref} />
}

With the changes in this PR, the above would look like this instead:

const setClickListener = ReactDOM.createEventHandle('click');

function Button({onClick}) {
  const ref = useRef(null);
  useEffect(() => {
    return setClickListener(ref.current, onClick);
  }, [onClick]);

  return <button ref={ref} />
}

This change offers some benefits:

  • reduces the amount of code in ReactDOM
  • improves the runtime performance of using createEventHandle by not having as much overhead
  • avoids accidently leaking nodes that React doesn't manage, by having to explicitly clear down correctly
  • we don't need to garbage collect event listeners when unmount DOM host components
+498 -390

3 comments

16 changed files

trueadm

pr closed time in 6 days

push eventtrueadm/react

Ittai Baratz

commit sha 1cbaf48889c6362232d907e57ce6c132744445d0

Add SSL support to React devtools standalone (#19191) Co-authored-by: Brian Vaughn <brian.david.vaughn@gmail.com>

view details

Dominic Gannaway

commit sha 26071abbe1eda6fb88dfaef9e7bce43f3a774818

Refine event registration + event signatures (#19244) * Refine event registration + event signatures * Address feedback

view details

Brian Vaughn

commit sha 670c0376ea29b0217b8cba5db5a07e238b461fbd

Enable createEventHandle API for wWW test builds (#19262)

view details

Joe Lencioni

commit sha 0f84b0f02b5579d780a9f54497007c4c84aaebb7

Fix ExhaustiveDeps ESLint rule throwing with optional chaining (#19260) Certain code patterns using optional chaining syntax causes eslint-plugin-react-hooks to throw an error. We can avoid the throw by adding some guards. I didn't read through the code to understand how it works, I just added a guard to every place where it threw, so maybe there is a better fix closer to the root cause than what I have here. In my test case, I noticed that the optional chaining that was used in the code was not included in the suggestions description or output, but it seems like it should be. This might make a nice future improvement on top of this fix, so I left a TODO comment to that effect. Fixes #19243

view details

Dominic Gannaway

commit sha 0c0aaeb6bcac90e27cf76e4b8365bb103ab05d21

Handle test-cli failure case for CI (#19265)

view details

Dominic Gannaway

commit sha c3e42a962b2ea3b245e43f542bda7ea33a9715be

Fix master tests (#19267)

view details

Ricky

commit sha 91a2e8173f1fadd2dfd4b12753ebcdc60986d42d

Decouple update priority tracking from Scheduler package (#19121) * Initial currentLanePriority implementation * Minor updates from review * Fix typos and enable flag * Fix feature flags and lint * Fix simple event tests by switching to withSuspenseConfig * Don't lower the priority of setPending in startTransition below InputContinuous * Move currentUpdateLanePriority in commit root into the first effect block * Refactor requestUpdateLane to log for priority mismatches Also verifies that the update lane priority matches the scheduler lane priority before using it * Fix four tests by adding ReactDOM.unstable_runWithPriority * Fix partial hydration when using update lane priority * Fix partial hydration when using update lane priority * Rename feature flag and only log for now * Move unstable_runWithPriority to ReactFiberReconciler * Add unstable_runWithPriority to ReactNoopPersistent too * Bug fixes and performance improvements * Initial currentLanePriority implementation * Minor updates from review * Fix typos and enable flag * Remove higherLanePriority from ReactDOMEventReplaying.js * Change warning implementation and startTransition update lane priority * Inject reconciler functions to avoid importing src/ * Fix feature flags and lint * Fix simple event tests by switching to withSuspenseConfig * Don't lower the priority of setPending in startTransition below InputContinuous * Move currentUpdateLanePriority in commit root into the first effect block * Refactor requestUpdateLane to log for priority mismatches Also verifies that the update lane priority matches the scheduler lane priority before using it * Fix four tests by adding ReactDOM.unstable_runWithPriority * Fix partial hydration when using update lane priority * Fix partial hydration when using update lane priority * Rename feature flag and only log for now * Move unstable_runWithPriority to ReactFiberReconciler * Bug fixes and performance improvements * Remove higherLanePriority from ReactDOMEventReplaying.js * Change warning implementation and startTransition update lane priority * Inject reconciler functions to avoid importing src/ * Fixes from bad rebase

view details

Dominic Gannaway

commit sha 97b96da2954ac58f06d237592b5e5243edde480f

Fix event replaying logic (#19269)

view details

Dominic Gannaway

commit sha eff25109c2d8dcc9c57bbd91c5ab143a178125a0

Refactor createEventHandle signature Delete target Delete target Add back codes Revise

view details

push time in 6 days

PR closed facebook/react

Reviewers
Remove React Flare discrete timeStamp flushing heuristic CLA Signed React Core Team

This PR removes a heuristic we introduced with React Flare. Given we're in the process of gradually removing React Flare, we should also remove this heuristic as it causes a lack of flushing when dealing with discrete events that do not come from Flare (i.e. using the new createEventHandle primitive).

The reason for this is because Flare controlled the flushing itself, whilst the normal React event workflow is to flush when encountering a native event that is discrete. Flare introduced the timeStamp logic to prevent too many flushes, but now we're seeing that it actually causes issues with normal React (under-flushing). This is most evident when dealing with a11y use-cases, like focus and blur.

+5 -156

4 comments

4 changed files

trueadm

pr closed time in 6 days

push eventtrueadm/react

Brian Vaughn

commit sha 670c0376ea29b0217b8cba5db5a07e238b461fbd

Enable createEventHandle API for wWW test builds (#19262)

view details

Joe Lencioni

commit sha 0f84b0f02b5579d780a9f54497007c4c84aaebb7

Fix ExhaustiveDeps ESLint rule throwing with optional chaining (#19260) Certain code patterns using optional chaining syntax causes eslint-plugin-react-hooks to throw an error. We can avoid the throw by adding some guards. I didn't read through the code to understand how it works, I just added a guard to every place where it threw, so maybe there is a better fix closer to the root cause than what I have here. In my test case, I noticed that the optional chaining that was used in the code was not included in the suggestions description or output, but it seems like it should be. This might make a nice future improvement on top of this fix, so I left a TODO comment to that effect. Fixes #19243

view details

Dominic Gannaway

commit sha 0c0aaeb6bcac90e27cf76e4b8365bb103ab05d21

Handle test-cli failure case for CI (#19265)

view details

Dominic Gannaway

commit sha c3e42a962b2ea3b245e43f542bda7ea33a9715be

Fix master tests (#19267)

view details

Ricky

commit sha 91a2e8173f1fadd2dfd4b12753ebcdc60986d42d

Decouple update priority tracking from Scheduler package (#19121) * Initial currentLanePriority implementation * Minor updates from review * Fix typos and enable flag * Fix feature flags and lint * Fix simple event tests by switching to withSuspenseConfig * Don't lower the priority of setPending in startTransition below InputContinuous * Move currentUpdateLanePriority in commit root into the first effect block * Refactor requestUpdateLane to log for priority mismatches Also verifies that the update lane priority matches the scheduler lane priority before using it * Fix four tests by adding ReactDOM.unstable_runWithPriority * Fix partial hydration when using update lane priority * Fix partial hydration when using update lane priority * Rename feature flag and only log for now * Move unstable_runWithPriority to ReactFiberReconciler * Add unstable_runWithPriority to ReactNoopPersistent too * Bug fixes and performance improvements * Initial currentLanePriority implementation * Minor updates from review * Fix typos and enable flag * Remove higherLanePriority from ReactDOMEventReplaying.js * Change warning implementation and startTransition update lane priority * Inject reconciler functions to avoid importing src/ * Fix feature flags and lint * Fix simple event tests by switching to withSuspenseConfig * Don't lower the priority of setPending in startTransition below InputContinuous * Move currentUpdateLanePriority in commit root into the first effect block * Refactor requestUpdateLane to log for priority mismatches Also verifies that the update lane priority matches the scheduler lane priority before using it * Fix four tests by adding ReactDOM.unstable_runWithPriority * Fix partial hydration when using update lane priority * Fix partial hydration when using update lane priority * Rename feature flag and only log for now * Move unstable_runWithPriority to ReactFiberReconciler * Bug fixes and performance improvements * Remove higherLanePriority from ReactDOMEventReplaying.js * Change warning implementation and startTransition update lane priority * Inject reconciler functions to avoid importing src/ * Fixes from bad rebase

view details

Dominic Gannaway

commit sha 97b96da2954ac58f06d237592b5e5243edde480f

Fix event replaying logic (#19269)

view details

Dominic Gannaway

commit sha 277a39904fd99157a0e2acd31b24cb9e0d51087d

Move Scope API ref resolution to mutation phase Revise

view details

Dominic Gannaway

commit sha 8f0b988028fe67e2432c3c528299788eb04e48ff

Address feedback

view details

push time in 6 days

push eventtrueadm/react

Dominic Gannaway

commit sha 4fee2c968006843f36897476a31a3925e2afda45

Modern Event System: make on*Capture events use capture phase WIP WIP FIX FIX Fix WIP Virtualize plugins Fix lint Clear up conflict Clearn things up Fix logic for plugins Fix test Simplify logic Simplify logic Optimize hot path

view details

Dominic Gannaway

commit sha ff22629c82abacc3297949afce465c8195ec6015

Modern Event System: use focusin/focusout for onFocus/onBlur Fix test now we use capture phase Cleanup Address feedback Revise

view details

push time in 6 days

push eventtrueadm/react

Ricky

commit sha 91a2e8173f1fadd2dfd4b12753ebcdc60986d42d

Decouple update priority tracking from Scheduler package (#19121) * Initial currentLanePriority implementation * Minor updates from review * Fix typos and enable flag * Fix feature flags and lint * Fix simple event tests by switching to withSuspenseConfig * Don't lower the priority of setPending in startTransition below InputContinuous * Move currentUpdateLanePriority in commit root into the first effect block * Refactor requestUpdateLane to log for priority mismatches Also verifies that the update lane priority matches the scheduler lane priority before using it * Fix four tests by adding ReactDOM.unstable_runWithPriority * Fix partial hydration when using update lane priority * Fix partial hydration when using update lane priority * Rename feature flag and only log for now * Move unstable_runWithPriority to ReactFiberReconciler * Add unstable_runWithPriority to ReactNoopPersistent too * Bug fixes and performance improvements * Initial currentLanePriority implementation * Minor updates from review * Fix typos and enable flag * Remove higherLanePriority from ReactDOMEventReplaying.js * Change warning implementation and startTransition update lane priority * Inject reconciler functions to avoid importing src/ * Fix feature flags and lint * Fix simple event tests by switching to withSuspenseConfig * Don't lower the priority of setPending in startTransition below InputContinuous * Move currentUpdateLanePriority in commit root into the first effect block * Refactor requestUpdateLane to log for priority mismatches Also verifies that the update lane priority matches the scheduler lane priority before using it * Fix four tests by adding ReactDOM.unstable_runWithPriority * Fix partial hydration when using update lane priority * Fix partial hydration when using update lane priority * Rename feature flag and only log for now * Move unstable_runWithPriority to ReactFiberReconciler * Bug fixes and performance improvements * Remove higherLanePriority from ReactDOMEventReplaying.js * Change warning implementation and startTransition update lane priority * Inject reconciler functions to avoid importing src/ * Fixes from bad rebase

view details

Dominic Gannaway

commit sha 97b96da2954ac58f06d237592b5e5243edde480f

Fix event replaying logic (#19269)

view details

Dominic Gannaway

commit sha cf78f09f093678359eb433420a8c54b4227fc5e6

Modern Event System: make on*Capture events use capture phase WIP WIP FIX FIX Fix WIP Virtualize plugins Fix lint Clear up conflict Clearn things up Fix logic for plugins Fix test

view details

Dominic Gannaway

commit sha 671aacc8e384c9ef150e40c295bb8cce02652fd5

Modern Event System: use focusin/focusout for onFocus/onBlur Fix test now we use capture phase Cleanup Address feedback Revise

view details

push time in 6 days

push eventtrueadm/react

Ricky

commit sha 91a2e8173f1fadd2dfd4b12753ebcdc60986d42d

Decouple update priority tracking from Scheduler package (#19121) * Initial currentLanePriority implementation * Minor updates from review * Fix typos and enable flag * Fix feature flags and lint * Fix simple event tests by switching to withSuspenseConfig * Don't lower the priority of setPending in startTransition below InputContinuous * Move currentUpdateLanePriority in commit root into the first effect block * Refactor requestUpdateLane to log for priority mismatches Also verifies that the update lane priority matches the scheduler lane priority before using it * Fix four tests by adding ReactDOM.unstable_runWithPriority * Fix partial hydration when using update lane priority * Fix partial hydration when using update lane priority * Rename feature flag and only log for now * Move unstable_runWithPriority to ReactFiberReconciler * Add unstable_runWithPriority to ReactNoopPersistent too * Bug fixes and performance improvements * Initial currentLanePriority implementation * Minor updates from review * Fix typos and enable flag * Remove higherLanePriority from ReactDOMEventReplaying.js * Change warning implementation and startTransition update lane priority * Inject reconciler functions to avoid importing src/ * Fix feature flags and lint * Fix simple event tests by switching to withSuspenseConfig * Don't lower the priority of setPending in startTransition below InputContinuous * Move currentUpdateLanePriority in commit root into the first effect block * Refactor requestUpdateLane to log for priority mismatches Also verifies that the update lane priority matches the scheduler lane priority before using it * Fix four tests by adding ReactDOM.unstable_runWithPriority * Fix partial hydration when using update lane priority * Fix partial hydration when using update lane priority * Rename feature flag and only log for now * Move unstable_runWithPriority to ReactFiberReconciler * Bug fixes and performance improvements * Remove higherLanePriority from ReactDOMEventReplaying.js * Change warning implementation and startTransition update lane priority * Inject reconciler functions to avoid importing src/ * Fixes from bad rebase

view details

Dominic Gannaway

commit sha 97b96da2954ac58f06d237592b5e5243edde480f

Fix event replaying logic (#19269)

view details

Dominic Gannaway

commit sha 4fee2c968006843f36897476a31a3925e2afda45

Modern Event System: make on*Capture events use capture phase WIP WIP FIX FIX Fix WIP Virtualize plugins Fix lint Clear up conflict Clearn things up Fix logic for plugins Fix test Simplify logic Simplify logic Optimize hot path

view details

push time in 6 days

push eventtrueadm/react

Ricky

commit sha 91a2e8173f1fadd2dfd4b12753ebcdc60986d42d

Decouple update priority tracking from Scheduler package (#19121) * Initial currentLanePriority implementation * Minor updates from review * Fix typos and enable flag * Fix feature flags and lint * Fix simple event tests by switching to withSuspenseConfig * Don't lower the priority of setPending in startTransition below InputContinuous * Move currentUpdateLanePriority in commit root into the first effect block * Refactor requestUpdateLane to log for priority mismatches Also verifies that the update lane priority matches the scheduler lane priority before using it * Fix four tests by adding ReactDOM.unstable_runWithPriority * Fix partial hydration when using update lane priority * Fix partial hydration when using update lane priority * Rename feature flag and only log for now * Move unstable_runWithPriority to ReactFiberReconciler * Add unstable_runWithPriority to ReactNoopPersistent too * Bug fixes and performance improvements * Initial currentLanePriority implementation * Minor updates from review * Fix typos and enable flag * Remove higherLanePriority from ReactDOMEventReplaying.js * Change warning implementation and startTransition update lane priority * Inject reconciler functions to avoid importing src/ * Fix feature flags and lint * Fix simple event tests by switching to withSuspenseConfig * Don't lower the priority of setPending in startTransition below InputContinuous * Move currentUpdateLanePriority in commit root into the first effect block * Refactor requestUpdateLane to log for priority mismatches Also verifies that the update lane priority matches the scheduler lane priority before using it * Fix four tests by adding ReactDOM.unstable_runWithPriority * Fix partial hydration when using update lane priority * Fix partial hydration when using update lane priority * Rename feature flag and only log for now * Move unstable_runWithPriority to ReactFiberReconciler * Bug fixes and performance improvements * Remove higherLanePriority from ReactDOMEventReplaying.js * Change warning implementation and startTransition update lane priority * Inject reconciler functions to avoid importing src/ * Fixes from bad rebase

view details

Dominic Gannaway

commit sha 97b96da2954ac58f06d237592b5e5243edde480f

Fix event replaying logic (#19269)

view details

push time in 6 days

push eventfacebook/react

Dominic Gannaway

commit sha 97b96da2954ac58f06d237592b5e5243edde480f

Fix event replaying logic (#19269)

view details

push time in 6 days

delete branch trueadm/react

delete branch : fix-capture

delete time in 6 days

PR merged facebook/react

Reviewers
Fix event replaying logic CLA Signed React Core Team

We need to ensure the logic for event replaying matches the expectations for how we register events normally, so events that are capture phase only, should have their properties passed through respectfully.

+6 -2

3 comments

1 changed file

trueadm

pr closed time in 6 days

push eventtrueadm/react

Dominic Gannaway

commit sha 80d9af6ffac932dab342cb79443e35a567572de2

Fix event replaying logic Lint

view details

push time in 6 days

PR opened facebook/react

Reviewers
Fix event replaying logic

We need to ensure the logic for event replaying matches the expectations for how we register events normally, so events that are capture phase only, should have their properties passed through respectfully.

+3 -2

0 comment

1 changed file

pr created time in 6 days

create barnchtrueadm/react

branch : fix-capture

created branch time in 6 days

push eventtrueadm/react

Dominic Gannaway

commit sha c05e1cbb85fa7b5a41daeceda445b19aa7e6670b

Modern Event System: use focusin/focusout for onFocus/onBlur Fix test now we use capture phase Cleanup Address feedback Revise

view details

push time in 6 days

push eventtrueadm/react

Dominic Gannaway

commit sha 74052b6daba5bffe2ef7793206efbd30fc1dbd5b

Modern Event System: make on*Capture events use capture phase WIP WIP FIX FIX Fix WIP Virtualize plugins Fix lint Clear up conflict Clearn things up Fix logic for plugins Fix test

view details

Dominic Gannaway

commit sha b2e3263eb4c4a9e8e7b9d89d25c57cd93bc70241

Modern Event System: use focusin/focusout for onFocus/onBlur Fix test now we use capture phase Cleanup Address feedback

view details

push time in 6 days

push eventtrueadm/react

Dominic Gannaway

commit sha 71ec4d2f8780abe739da1c27683b24d30184ba44

Modern Event System: make on*Capture events use capture phase WIP WIP FIX FIX Fix WIP Virtualize plugins Fix lint Clear up conflict Clearn things up Fix logic for plugins Fix test Simplify logic Simplify logic Optimize hot path

view details

Dominic Gannaway

commit sha 39960002c2ad57b6b738ce26734f8658199c9390

Modern Event System: make on*Capture events use capture phase WIP WIP FIX FIX Fix WIP Virtualize plugins Fix lint Clear up conflict Clearn things up Fix logic for plugins Fix test

view details

Dominic Gannaway

commit sha 8314b5efa70b4b29e41a7493ecaee7ad17df7549

Modern Event System: use focusin/focusout for onFocus/onBlur Fix test now we use capture phase Cleanup Address feedback

view details

push time in 6 days

push eventtrueadm/react

Dominic Gannaway

commit sha 71ec4d2f8780abe739da1c27683b24d30184ba44

Modern Event System: make on*Capture events use capture phase WIP WIP FIX FIX Fix WIP Virtualize plugins Fix lint Clear up conflict Clearn things up Fix logic for plugins Fix test Simplify logic Simplify logic Optimize hot path

view details

push time in 6 days

push eventtrueadm/react

Dominic Gannaway

commit sha f888b6c67e6a1c8ed83cfea9c30b23ac1833721e

Modern Event System: make on*Capture events use capture phase WIP WIP FIX FIX Fix WIP Virtualize plugins Fix lint Clear up conflict Clearn things up Fix logic for plugins Fix test Simplify logic Simplify logic

view details

push time in 6 days

push eventtrueadm/react

Dominic Gannaway

commit sha 6dbd8ceb4f61350f3a524dc93e4b712198e4bb7a

Modern Event System: make on*Capture events use capture phase WIP WIP FIX FIX Fix WIP Virtualize plugins Fix lint Clear up conflict Clearn things up Fix logic for plugins Fix test

view details

Dominic Gannaway

commit sha 03e981ff51d441528ddb37184ac3d6dbcacfea79

Modern Event System: use focusin/focusout for onFocus/onBlur Fix test now we use capture phase Cleanup Address feedback

view details

push time in 6 days

push eventtrueadm/react

Dominic Gannaway

commit sha 6dbd8ceb4f61350f3a524dc93e4b712198e4bb7a

Modern Event System: make on*Capture events use capture phase WIP WIP FIX FIX Fix WIP Virtualize plugins Fix lint Clear up conflict Clearn things up Fix logic for plugins Fix test

view details

push time in 6 days

push eventtrueadm/react

Dominic Gannaway

commit sha bc7862bee66cffc209de2c272c6c622c65f57e23

Modern Event System: make on*Capture events use capture phase WIP WIP FIX FIX Fix WIP Virtualize plugins Fix lint Clear up conflict Clearn things up Fix logic for plugins

view details

Dominic Gannaway

commit sha 867bde736851996716ea1d261afc9c15a98d4a3f

Modern Event System: use focusin/focusout for onFocus/onBlur Fix test now we use capture phase Cleanup Address feedback

view details

push time in 6 days

more