Repository navigation
Conversation
…act 19 use-resize-observer 10, react-window 1.8.11 and react-virtualized-auto-sizer 1.0.25 are the first versions whose peer ranges allow React 19. Only use-resize-observer needs code changes: v10 drops its default export.
0.7 drops the React 18 peer cap, so it's needed for React 19. Its context API replaces createCodeMirrorWithContext and removes useViewDispatch, so the provider wraps the new hooks under the old names and callers dispatch through the view. 0.7 re-runs view effects when their setup changes, so the editor's change listener is memoized on a stable onChange. The @lezer/highlight bump keeps a single copy installed. Lezer matches highlight tags by identity, so a second copy silently turns off SQL highlighting. The new theme test fails if that happens.
visx 3.12 caps React at 18, so this is needed for React 19. It also ends the mix of visx 3 and 4 packages on main. visx 4 adds an exports map, so deep imports move to the package roots. Its ParentSize now collapses to 0px tall without a fixed-height parent, so the cluster utilization graphs measure only their width, and the connector error graph gives ParentSize its fixed height.
Chakra 2.10.5 stops reading element.ref and 2.10.6 adds React 19 Ref and RefObject typings, both needed before the React 19 upgrade. Imports from sub-packages 2.10 no longer installs move to @chakra-ui/react or @chakra-ui/utils, and the separate @chakra-ui/toast is dropped. Dependabot now groups @chakra-ui/* and skips majors, since v3 is a rewrite. 2.10's modal takes focus a moment after opening, so NewClusterForm's tests wait for it before typing.
Bump react, react-dom and their types to 19.3, with a resolution so one @types/react remains. Apply the types-react-codemod fixes plus a few manual ones, and render tests inside an awaited act, which React 19 needs to resolve components that suspend on mount.
This branch has not been deployed
This file contains hidden or 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
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.
Motivation
Moves the Console to React 19. Dependabot's #39497 bumps the packages alone, which fails typecheck and 37 unit tests. This PR includes the code and test changes the bump needs.
Supersedes #39497.
The first four commits are separate PRs. Please review them there: #39609 (use-resize-observer, react-window, auto-sizer), #39610 (codemirror-toolkit), #39611 (visx) and #39613 (Chakra 2.10). Each removes a dependency that doesn't support React 19. They drop out of this PR once they merge. Review only the last commit here.
Description
react,react-dom,@types/reactand@types/react-dommove to 19.3.0.resolutionspins@types/react, because@types/react-is17 (via Frontegg) otherwise keeps an@types/react17 copy. A second copy hides real errors, because it keeps the globalJSXnamespace alive.@emotion/reactis deduped, which drops react-select's nested 11.11.4 copy.types-react-codemod:useRef()calls get an initial value.RefObjecttypes become nullable.JSX.ElementbecomesReact.JSX.Element.IntegrationsGallerydropped a secondprops: anyparameter, which React treated as legacy context.ShellVirtualizedListis fixed.UseRadioProps.actcomes from@testing-library/reactinstead of the removedreact-dom/test-utilsexport.SwitchStackModal's icon is adisplay: contentsspan instead of a fragment. React 19 warns when Chakra putsaria-hiddenon a fragment, and the button already has its own label.actthat isn't awaited. That left 37 tests stuck on the Suspense fallback.renderComponent, two local render helpers and therenderHookcalls inenvironments.test.tsnow render insideawait act(async () => …).awaits them. A type-awareno-floating-promisespass over the tests found no unawaited render left.waitFor.Verification
Existing tests, with the harness changes above. Compared with React 18, the suite no longer logs the
ReactDOMTestUtils.actdeprecation or theelement.refwarning.Worth clicking through on the preview, roughly by risk:
react-is17 to recognize these custom slots.🤖 Generated with Claude Code