-
Notifications
You must be signed in to change notification settings - Fork 47.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DevTools: fix initial host instance selection #31892
Merged
hoxyq
merged 1 commit into
facebook:main
from
hoxyq:react-devtools/fix-initial-element-selection
Jan 9, 2025
Merged
DevTools: fix initial host instance selection #31892
hoxyq
merged 1 commit into
facebook:main
from
hoxyq:react-devtools/fix-initial-element-selection
Jan 9, 2025
+37
−11
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
facebook-github-bot
added
CLA Signed
React Core Team
Opened by a member of the React Core Team
labels
Dec 23, 2024
hoxyq
force-pushed
the
react-devtools/fix-initial-element-selection
branch
from
December 23, 2024 14:30
6c8eb72
to
7bb5c80
Compare
Do we know why/when this regressed? |
hoxyq
force-pushed
the
react-devtools/fix-initial-element-selection
branch
from
December 23, 2024 15:12
7bb5c80
to
be4a4cc
Compare
Probably in #27215, by looking at a difference around |
I will double-check if we can relatively easily add some Playwright test for this feature. |
vzaidman
reviewed
Jan 8, 2025
packages/react-devtools-shared/src/devtools/views/Components/TreeContext.js
Show resolved
Hide resolved
EdmondChuiHW
approved these changes
Jan 9, 2025
hoxyq
added a commit
that referenced
this pull request
Jan 9, 2025
Stacked on #31892, see commit on top. For some reason, there were 2 fields different fields for essentially same thing: `selectedElementID` and `inspectedElementID`. Basically, the change is: ``` selectedElementID -> inspectedElementID selectedElementIndex -> inspectedElementIndex ``` I have a theory that it was due to previously used async approach around element inspection, and the whole `InspectedElementView` was wrapped in `Suspense`.
hoxyq
added a commit
that referenced
this pull request
Jan 16, 2025
List of changes in this release: * fix[DevTools]: fix HostComponent naming in filters for Native ([hoxyq](https://github.com/hoxyq) in [#32086](#32086)) * Fix copy functionality in Firefox ([V3RON](https://github.com/V3RON) in [#32077](#32077)) * chore[DevTools]: don't use batchedUpdate ([hoxyq](https://github.com/hoxyq) in [#32074](#32074)) * Prevent crash when starting consecutive profiling sessions ([V3RON](https://github.com/V3RON) in [#32066](#32066)) * fix[DevTools/Tree]: only scroll to item when panel is visible ([hoxyq](https://github.com/hoxyq) in [#32018](#32018)) * feat[Tree]: set initial scroll offset when inspected element index is set ([hoxyq](https://github.com/hoxyq) in [#31968](#31968)) * DevTools: merge element fields in TreeStateContext ([hoxyq](https://github.com/hoxyq) in [#31956](#31956)) * DevTools: fix initial host instance selection ([hoxyq](https://github.com/hoxyq) in [#31892](#31892)) * chore[DevTools/Tree]: don't pre-select root element and remove unused code ([hoxyq](https://github.com/hoxyq) in [#32015](#32015)) * chore[DevTools/TraceUpdates]: display names by default ([hoxyq](https://github.com/hoxyq) in [#32019](#32019)) * Add ViewTransitionComponent to Stacks and DevTools ([sebmarkbage](https://github.com/sebmarkbage) in [#32034](#32034)) * Add <ViewTransition> Component ([sebmarkbage](https://github.com/sebmarkbage) in [#31975](#31975)) * chore[react-devtools-shell]: disable warnings in dev server overlay ([hoxyq](https://github.com/hoxyq) in [#32005](#32005)) * DevTools: fork FastRefresh test for <18 versions of React ([hoxyq](https://github.com/hoxyq) in [#31893](#31893)) * Show component names while highlighting renders ([piotrski](https://github.com/piotrski) in [#31577](#31577)) * allow non-coercible objects in formatConsoleArgumentsToSingleString ([henryqdineen](https://github.com/henryqdineen) in [#31444](#31444)) * Remove enableRefAsProp feature flag ([kassens](https://github.com/kassens) in [#30346](#30346)) * [flow] Eliminate usage of more than 1-arg `React.AbstractComponent` in React codebase ([SamChou19815](https://github.com/SamChou19815) in [#31314](#31314)) * Audit try/finally around console patching ([sebmarkbage](https://github.com/sebmarkbage) in [#31286](#31286)) * tests[react-devtools]: added tests for Compiler integration ([hoxyq](https://github.com/hoxyq) in [#31241](#31241)) * Add Bridge types for Fusebox ([EdmondChuiHW](https://github.com/EdmondChuiHW) in [#31274](#31274))
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related: #31342
This fixes RDT behaviour when some DOM element was pre-selected in built-in browser's Elements panel, and then Components panel of React DevTools was opened for the first time. With this change, React DevTools will correctly display the initial state of the Components Tree with the corresponding React Element (if possible) pre-selected.
Previously, we would only subscribe listener when
TreeContext
is mounted, but this only happens when user opens one of React DevTools panels for the first time. With this change, we keep state insideStore
, which is created when Browser DevTools are opened. Later,TreeContext
will use it for initial state value.Planned next changes:
inspectedElementID
andselectedElementID
, I have no idea why we need both.AutoSizer
rendering a blank container.