From e57fa51412ccca7e8c9d877a1bed7637f6f55c95 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Wed, 20 May 2026 12:56:18 +0100 Subject: [PATCH] fix(update): preserve post-core host version (cherry picked from commit e8d8c5dd6f3bbc32f5b62e8eac7798429522bb1e) --- src/cli/update-cli.test.ts | 1 + src/cli/update-cli/update-command.ts | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/cli/update-cli.test.ts b/src/cli/update-cli.test.ts index 3a3434417e6..06a4e66e34a 100644 --- a/src/cli/update-cli.test.ts +++ b/src/cli/update-cli.test.ts @@ -824,6 +824,7 @@ describe("update-cli", () => { expect(call?.[2]?.env?.NODE_DISABLE_COMPILE_CACHE).toBe("1"); expect(call?.[2]?.env?.OPENCLAW_UPDATE_POST_CORE).toBe("1"); expect(call?.[2]?.env?.OPENCLAW_UPDATE_POST_CORE_CHANNEL).toBe("dev"); + expect(call?.[2]?.env?.OPENCLAW_COMPATIBILITY_HOST_VERSION).toBe("1.0.0"); expect(updateNpmInstalledPlugins).not.toHaveBeenCalled(); expect(runDaemonInstall).not.toHaveBeenCalled(); expect(runDaemonRestart).not.toHaveBeenCalled(); diff --git a/src/cli/update-cli/update-command.ts b/src/cli/update-cli/update-command.ts index 7df3b7ecacb..3cff597d5e5 100644 --- a/src/cli/update-cli/update-command.ts +++ b/src/cli/update-cli/update-command.ts @@ -2678,6 +2678,7 @@ async function continuePostCoreUpdateInFreshProcess(params: { const resultPath = path.join(resultDir, "plugins.json"); const installRecordsPath = path.join(resultDir, "plugin-install-records.json"); const sourceConfigPath = path.join(resultDir, "source-config.json"); + const postCoreHostVersion = await readPackageVersion(params.root); try { await writePostCorePluginInstallRecordsFile(installRecordsPath, params.pluginInstallRecords); @@ -2695,6 +2696,9 @@ async function continuePostCoreUpdateInFreshProcess(params: { [POST_CORE_UPDATE_RESULT_PATH_ENV]: resultPath, [POST_CORE_UPDATE_INSTALL_RECORDS_PATH_ENV]: installRecordsPath, [POST_CORE_UPDATE_STARTED_AT_ENV]: String(params.updateStartedAtMs), + ...(postCoreHostVersion === null + ? {} + : { OPENCLAW_COMPATIBILITY_HOST_VERSION: postCoreHostVersion }), ...(params.preUpdateConfig ? { [POST_CORE_UPDATE_SOURCE_CONFIG_PATH_ENV]: sourceConfigPath } : {}),