fix: align react-dom with react so the app mounts - #18
Merged
Conversation
A Dependabot bump moved react to 19.2.8 while react-dom stayed on 19.2.7. React 19 refuses to render a mismatched pair: the published 1.4.3 build threw "Minified React error #527" at mount and showed a blank page. Nothing in the pipeline caught it. The unit tests never mount through react-dom, `tsc --noEmit` and `vite build` both succeed, and the published bundle byte-matched its source, so every existing check passed on a broken app. Align react-dom to 19.2.8 and add a test that compares the versions the bundle actually resolves, not the declared ranges. Verified by mutation: pinning react-dom back to 19.2.7 fails the new test. The rebuilt app renders with no console errors.
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.
The bug
ChibiHub 1.4.3 renders a blank page. The console shows:
Dependabot #13 bumped
reactto 19.2.8, but this repo has no matchingreact-domPR, soreact-domstayed on 19.2.7. React 19 refuses to render a mismatched pair and throws at mount.Why nothing caught it
Every existing check passed on the broken build:
react-dom;tsc --noEmitandvite buildboth succeed;I audited all 30 local app repos with a lockfile — ChibiHub is the only mismatched one; every other app has react and react-dom on the same version.
The fix
react-dom→ 19.2.8, matchingreact.versionfrom each package), not the declared ranges — a caret range would have hidden this.Verification
tscand build clean.react-domback to 19.2.7 fails the new test withexpected '19.2.7' to be '19.2.8'.