fix(runtime): support Node 24 alongside Node 22 (#303)

* feat(gateways): add health history logging and timeline

* fix(runtime): support Node 24 alongside Node 22
This commit is contained in:
nyk 2026-03-12 22:14:43 +07:00 committed by GitHub
parent cfe7525200
commit 58b6f5a6fc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 10 additions and 9 deletions

View File

@ -54,17 +54,17 @@ cd mission-control
bash install.sh --local bash install.sh --local
``` ```
Requires Node.js 22.x (LTS) and pnpm (auto-installed via corepack if missing). Requires Node.js 22.x (LTS, recommended) or 24.x, and pnpm (auto-installed via corepack if missing).
### Manual Setup ### Manual Setup
> **Requires [pnpm](https://pnpm.io/installation)** and **Node.js 22.x (LTS)**. > **Requires [pnpm](https://pnpm.io/installation)** and **Node.js 22.x (LTS, recommended) or 24.x**.
> Mission Control is validated against Node 22 across local dev, CI, Docker, and standalone deploys. Use `nvm use 22` (or your version manager equivalent) before installing or starting the app. > Mission Control is validated on Node 22 (primary CI/LTS) and supports Node 24 for local dev and deploys. Use `nvm use 22` (or `nvm use 24`) before installing or starting the app.
```bash ```bash
git clone https://github.com/builderz-labs/mission-control.git git clone https://github.com/builderz-labs/mission-control.git
cd mission-control cd mission-control
nvm use 22 nvm use 22 # or: nvm use 24
pnpm install pnpm install
cp .env.example .env # edit with your values cp .env.example .env # edit with your values
pnpm dev # http://localhost:3000 pnpm dev # http://localhost:3000

View File

@ -66,7 +66,7 @@
"vitest": "^2.1.5" "vitest": "^2.1.5"
}, },
"engines": { "engines": {
"node": ">=22 <23" "node": "22.x || 24.x"
}, },
"keywords": [ "keywords": [
"openclaw", "openclaw",

View File

@ -1,15 +1,16 @@
#!/usr/bin/env node #!/usr/bin/env node
const REQUIRED_NODE_MAJOR = 22 const SUPPORTED_NODE_MAJORS = [22, 24]
const current = process.versions.node const current = process.versions.node
const currentMajor = Number.parseInt(current.split('.')[0] || '', 10) const currentMajor = Number.parseInt(current.split('.')[0] || '', 10)
if (currentMajor !== REQUIRED_NODE_MAJOR) { if (!SUPPORTED_NODE_MAJORS.includes(currentMajor)) {
const supported = SUPPORTED_NODE_MAJORS.map((major) => `${major}.x`).join(' or ')
console.error( console.error(
[ [
`error: Mission Control requires Node ${REQUIRED_NODE_MAJOR}.x, but found ${current}.`, `error: Mission Control supports Node ${supported}, but found ${current}.`,
'use `nvm use 22` (or your version manager equivalent) before installing, building, or starting the app.', 'use `nvm use 22` (recommended LTS) or `nvm use 24` before installing, building, or starting the app.',
].join('\n') ].join('\n')
) )
process.exit(1) process.exit(1)