- Only call refresh_gateway_service_if_loaded on upgrades
- Skip for fresh installs (daemon was just installed and started)
- Fixes Greptile review feedback
- Add install_gateway_daemon_if_needed() function
- Call daemon install and daemon start for new installs
- Skip for upgrades (existing behavior)
- Fixes#48272 where gateway was not installed
Root cause:
The install script only refreshed the gateway service if it was already
loaded, but never installed it for fresh installs.
Fix:
1. Check if gateway daemon is already installed
2. If not, run 'openclaw daemon install'
3. Then run 'openclaw daemon start'
4. Probe the daemon to verify it's running
Tighten installer/runtime consistency so users on Node 22.0-22.11 are blocked before install/runtime drift, with cleaner CLI guidance.
- Enforce Node >=22.12 in scripts/install.sh preflight checks
- Align installer messages to the same 22.12+ runtime floor
- Replace openclaw.mjs thrown version error with stderr+exit to avoid noisy stack traces
Surface a clear Node 22.12+ requirement before npm/install bootstrap work so users avoid misleading downstream errors.
- Add installer shell preflight to block active Node <22 and suggest NVM recovery commands
- Add openclaw.mjs runtime preflight for npm/npx usage with explicit Node version guidance
- Keep messaging actionable for both NVM and non-NVM environments