chore: upgrade React 18→19 and fix breaking type changes

- react 18.2.0 to 19.2.6
- react-dom 18.2.0 to 19.2.6
- @types/react 18.2.39 to 19.2.15
- @types/react-dom 18.2.17 to 19.2.3

React 19 breaking changes fixed:
- useRef<T>(null) now returns RefObject<T | null>; cast to
  RefObject<T> at 16 component call sites (safe, runtime unchanged)
- useRef<T>() without arg no longer valid; add | undefined>(undefined)
  in useDebounce, useFileDrop, useThrottle, useVirtualPaginator hooks,
  RoomInput, RoomTimeline, and ClientNonUIFeatures
- useReducer<typeof reducer> 1-arg form removed; drop explicit type arg
  in useForceUpdate (inferred from reducer function)
- global JSX namespace removed; import type { JSX } from react in
  react-custom-html-parser.tsx

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lotus Bot
2026-05-22 13:24:07 -04:00
parent d6ae29f8f3
commit 7079462503
28 changed files with 89 additions and 98 deletions
+4 -4
View File
@@ -110,11 +110,11 @@
"millify": "6.1.0",
"pdfjs-dist": "5.7.284",
"prismjs": "1.30.0",
"react": "18.2.0",
"react": "19.2.6",
"react-aria": "3.48.0",
"react-blurhash": "0.3.0",
"react-colorful": "5.7.0",
"react-dom": "18.2.0",
"react-dom": "19.2.6",
"react-error-boundary": "6.1.1",
"react-google-recaptcha": "3.1.0",
"react-i18next": "17.0.8",
@@ -141,8 +141,8 @@
"@types/is-hotkey": "0.1.10",
"@types/node": "25.9.1",
"@types/prismjs": "1.26.6",
"@types/react": "18.2.39",
"@types/react-dom": "18.2.17",
"@types/react": "19.2.15",
"@types/react-dom": "19.2.3",
"@types/react-google-recaptcha": "2.1.9",
"@types/sanitize-html": "2.16.1",
"@types/ua-parser-js": "0.7.39",