Files
zooqueenandHanzo Dev 039c50089c react 19 across the client and every workspace package that pins it
The gate 7d4adc71af measured is gone. That revert was correct at the time —
[email protected] sniffed `ReactCurrentDispatcher` out of
`React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED`, React 19 renamed the
object, and the read threw before the first paint. 6e15fb22d removed recoil, so
nothing in the tree reads React's private internals any more.

MEASURED against the real backend, a real browser, the built client:

  react 19.2.4  body 348 chars, 1 textarea, 20 buttons, #root 4 children,
                ZERO uncaught JS exceptions, and every string the react 18
                build was measured to render: Chats, Log in, Close sidebar,
                zen5-flash, Parameters, Attach Files, Hide Panel,
                Stay logged out.

The 21 console entries are HTTP statuses, not errors in the page: 401 on
files/config, speech config, keys, mcp/servers, mcpServer permissions and
routing-defaults, plus one 400 on the `prompt=none` authorize — exactly what a
signed-out visitor gets. No JS exception at any point.

Test suite, same tree, react 18 vs react 19:

  react 18  106 failed suites, 88 passed, 477 failed, 1319 passed
  react 19  106 failed suites, 88 passed, 477 failed, 1319 passed

Identical, down to the set of failing suite paths. The pre-existing red is not
touched here and is not from this change.

Two suites did regress before the fix in this commit, both for one reason:
react 19 calls a function component with a second argument of `undefined` where
react 18 passed a context object, and `toHaveBeenCalledWith` compares arity. The
props matched exactly in every case — nothing about the components changed, only
an assertion about React's calling convention. ToolCallInfo (4) and VersionPanel
(7) now assert `undefined` for that argument instead of `expect.anything()`.

@testing-library/react goes to 16 and @testing-library/dom to 10 because v14
does not support react 19.

This unblocks @hanzo/[email protected] and @hanzo/[email protected], which both peer-require
react >=19; chat/mobile is already there.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 22:54:44 -07:00

79 lines
2.3 KiB
JSON

{
"name": "@hanzochat/data-provider",
"version": "0.8.300",
"description": "data services for Hanzo Chat",
"main": "dist/index.js",
"module": "dist/index.es.js",
"types": "./dist/types/index.d.ts",
"exports": {
".": {
"import": "./dist/index.es.js",
"require": "./dist/index.js",
"types": "./dist/types/index.d.ts"
},
"./react-query": {
"import": "./dist/react-query/index.es.js",
"require": "./dist/react-query/index.js",
"types": "./dist/types/react-query/index.d.ts"
}
},
"scripts": {
"clean": "rimraf dist",
"build": "npm run clean && rollup -c --silent --bundleConfigAsCjs",
"build:watch": "rollup -c -w",
"rollup:api": "npx rollup -c server-rollup.config.js --bundleConfigAsCjs",
"test": "jest --coverage --watch",
"test:ci": "jest --coverage --ci --logHeapUsage",
"verify": "npm run test:ci",
"b:clean": "bun run rimraf dist",
"b:build": "bun run b:clean && bun run rollup -c --silent --bundleConfigAsCjs"
},
"repository": {
"type": "git",
"url": "git+https://github.com/hanzoai/chat.git"
},
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/hanzoai/chat/issues"
},
"homepage": "https://hanzo.ai/chat",
"dependencies": {
"axios": "^1.13.5",
"dayjs": "^1.11.13",
"js-yaml": "^4.1.1",
"zod": "^3.22.4"
},
"devDependencies": {
"@babel/preset-env": "^7.21.5",
"@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.21.0",
"@rollup/plugin-alias": "^5.1.0",
"@rollup/plugin-commonjs": "^29.0.0",
"@rollup/plugin-json": "^6.1.0",
"@rollup/plugin-node-resolve": "^15.1.0",
"@rollup/plugin-replace": "^5.0.5",
"@rollup/plugin-terser": "^0.4.4",
"@types/jest": "^29.5.2",
"@types/js-yaml": "^4.0.9",
"@types/node": "^20.3.0",
"@types/react": "^19.2.0",
"@types/winston": "^2.4.4",
"jest": "^30.2.0",
"jest-junit": "^16.0.0",
"openapi-types": "^12.1.3",
"rimraf": "^6.1.2",
"rollup": "^4.22.4",
"rollup-plugin-peer-deps-external": "^2.2.4",
"rollup-plugin-typescript2": "^0.35.0",
"tslib": "^2.8.1",
"typescript": "^5.0.4"
},
"peerDependencies": {
"@tanstack/react-query": "^4.28.0"
},
"publishConfig": {
"registry": "https://registry.npmjs.org/"
}
}