From 84cb77bbbc8847b9809d97506df1adc6d375cbc8 Mon Sep 17 00:00:00 2001 From: "openclaw-docs-sync[bot]" Date: Fri, 1 May 2026 08:28:44 +0000 Subject: [PATCH] chore(sync): mirror docs from openclaw/openclaw@e131eaecb502cbb8afd3008023db721df087fad5 --- .openclaw-sync/source.json | 4 ++-- docs/cli/update.md | 8 ++++++-- docs/gateway/protocol.md | 2 +- docs/install/updating.md | 7 +++++++ 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index 67c786177..8df6f3264 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "465d1b0d4ba3522b361e6e835e62ef662221308d", - "syncedAt": "2026-05-01T08:25:44.341Z" + "sha": "e131eaecb502cbb8afd3008023db721df087fad5", + "syncedAt": "2026-05-01T08:26:55.953Z" } diff --git a/docs/cli/update.md b/docs/cli/update.md index 0e29c06aa..e3ed3764c 100644 --- a/docs/cli/update.md +++ b/docs/cli/update.md @@ -82,7 +82,11 @@ install method aligned: - `beta` → prefers npm dist-tag `beta`, but falls back to `latest` when beta is missing or older than the current stable release. -The Gateway core auto-updater (when enabled via config) reuses this same update path. +The Gateway core auto-updater (when enabled via config) launches the CLI update path +outside the live Gateway request handler. Control-plane `update.run` package-manager +updates force a non-deferred update restart after the package swap, because the old +Gateway process may still have in-memory chunks that point at files removed by the +new package. For package-manager installs, `openclaw update` resolves the target package version before invoking the package manager. npm global installs use a staged @@ -151,7 +155,7 @@ If an exact pinned npm plugin update resolves to an artifact whose integrity dif Post-update plugin sync failures fail the update result and stop restart follow-up work. Fix the plugin install or update error, then rerun `openclaw update`. -When the updated Gateway starts, enabled bundled plugin runtime dependencies are staged before plugin activation. Update-triggered restarts drain any active runtime-dependency staging before closing the Gateway, so service-manager restarts do not interrupt an in-flight npm install. +When the updated Gateway starts, enabled bundled plugin runtime dependencies are staged before plugin activation. Package-manager `update.run` restarts bypass the normal idle deferral after the package tree has been swapped, so the old process cannot keep lazy-loading removed chunks. Service-manager restarts still drain runtime-dependency staging before closing the Gateway. If pnpm bootstrap still fails, the updater stops early with a package-manager-specific error instead of trying `npm run build` inside the checkout. diff --git a/docs/gateway/protocol.md b/docs/gateway/protocol.md index e243f2509..35459dace 100644 --- a/docs/gateway/protocol.md +++ b/docs/gateway/protocol.md @@ -378,7 +378,7 @@ enumeration of `src/gateway/server-methods/*.ts`. - `config.apply` validates + replaces the full config payload. - `config.schema` returns the live config schema payload used by Control UI and CLI tooling: schema, `uiHints`, version, and generation metadata, including plugin + channel schema metadata when the runtime can load it. The schema includes field `title` / `description` metadata derived from the same labels and help text used by the UI, including nested object, wildcard, array-item, and `anyOf` / `oneOf` / `allOf` composition branches when matching field documentation exists. - `config.schema.lookup` returns a path-scoped lookup payload for one config path: normalized path, a shallow schema node, matched hint + `hintPath`, and immediate child summaries for UI/CLI drill-down. Lookup schema nodes keep the user-facing docs and common validation fields (`title`, `description`, `type`, `enum`, `const`, `format`, `pattern`, numeric/string/array/object bounds, and flags like `additionalProperties`, `deprecated`, `readOnly`, `writeOnly`). Child summaries expose `key`, normalized `path`, `type`, `required`, `hasChildren`, plus the matched `hint` / `hintPath`. - - `update.run` runs the gateway update flow and schedules a restart only when the update itself succeeded. + - `update.run` runs the gateway update flow and schedules a restart only when the update itself succeeded. Package-manager updates force a non-deferred update restart after the package swap so the old Gateway process does not keep lazy-loading from a replaced `dist` tree. - `update.status` returns the latest cached update restart sentinel, including the post-restart running version when available. - `wizard.start`, `wizard.next`, `wizard.status`, and `wizard.cancel` expose the onboarding wizard over WS RPC. diff --git a/docs/install/updating.md b/docs/install/updating.md index e967c5e62..bbc8d1878 100644 --- a/docs/install/updating.md +++ b/docs/install/updating.md @@ -168,6 +168,13 @@ The auto-updater is off by default. Enable it in `~/.openclaw/openclaw.json`: The gateway also logs an update hint on startup (disable with `update.checkOnStart: false`). For downgrade or incident recovery, set `OPENCLAW_NO_AUTO_UPDATE=1` in the gateway environment to block automatic applies even when `update.auto.enabled` is configured. Startup update hints can still run unless `update.checkOnStart` is also disabled. +Package-manager updates requested through the live Gateway control-plane handler +force a non-deferred update restart after the package swap. That avoids leaving +an old in-memory process around long enough to lazy-load chunks from a package +tree that has already been replaced. Shell `openclaw update` remains the +preferred path for supervised installs because it can stop and restart the +service around the update. + ## After updating