From e39d3b42230402de098bd32751b1d251f527e764 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Mon, 4 May 2026 15:37:58 -0700 Subject: [PATCH] fix(mattermost): clarify model picker runtime behavior --- CHANGELOG.md | 1 + extensions/mattermost/src/mattermost/model-picker.test.ts | 2 ++ extensions/mattermost/src/mattermost/model-picker.ts | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b1fc1900bd..4adf07b2379 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -64,6 +64,7 @@ Docs: https://docs.openclaw.ai - Channels/plugins: key bundled package-state probes, env/config presence, and read-only command defaults by channel id instead of manifest plugin id, preserving setup and native-command detection for channel plugins whose package id differs from the channel alias. Thanks @vincentkoc. - Docker: prune package-excluded plugin dist directories from runtime images unless the build explicitly opts that plugin in, so official external plugins such as Feishu stay install-on-demand instead of shipping partial metadata without compiled runtime output. Fixes #77424. Thanks @vincentkoc. - Model switching: include the exact additive allowlist repair command when `/model ... --runtime ...` targets a blocked model, and make Telegram's model picker say that it changes only the session model while leaving the runtime unchanged. Thanks @vincentkoc. +- Mattermost: clarify that the model picker only changes the session model and that runtime switches require `/oc_model --runtime `. Thanks @vincentkoc. - Doctor/config: keep active `auth.profiles` metadata intact when `doctor --fix` strips stale secret fields from configs, repairing legacy `:default` API-key profile metadata when model fallbacks or explicit `model@profile` refs still depend on it. Fixes #77400. - CLI/update: disable and skip plugins that fail package-update plugin sync, so a broken npm/ClawHub/git/marketplace plugin cannot turn a successful OpenClaw package update into a failed update result. Thanks @vincentkoc. - CLI/update: use an absolute POSIX npm script shell during package-manager updates, so restricted PATH environments can still run dependency lifecycle scripts while updating from `--tag main`. Fixes #77530. Thanks @PeterTremonti. diff --git a/extensions/mattermost/src/mattermost/model-picker.test.ts b/extensions/mattermost/src/mattermost/model-picker.test.ts index 753c9218aeb..a3c8d02c949 100644 --- a/extensions/mattermost/src/mattermost/model-picker.test.ts +++ b/extensions/mattermost/src/mattermost/model-picker.test.ts @@ -57,6 +57,8 @@ describe("Mattermost model picker", () => { expect(view.text).toContain("Current: openai/gpt-5"); expect(view.text).toContain("Tap below to browse models"); expect(view.text).toContain("/oc_model to switch"); + expect(view.text).toContain("Browse keeps the current runtime"); + expect(view.text).toContain("/oc_model --runtime "); expect(view.buttons[0]?.[0]?.text).toBe("Browse providers"); }); diff --git a/extensions/mattermost/src/mattermost/model-picker.ts b/extensions/mattermost/src/mattermost/model-picker.ts index d5f1a7c6d2b..20d2206f564 100644 --- a/extensions/mattermost/src/mattermost/model-picker.ts +++ b/extensions/mattermost/src/mattermost/model-picker.ts @@ -273,7 +273,7 @@ export function renderMattermostModelSummaryView(params: { "", "Tap below to browse models, or use:", "/oc_model to switch", - "/oc_model --runtime for runtime", + "Browse keeps the current runtime; use /oc_model --runtime to switch runtime too", "/oc_model status for details", ].join("\n"), buttons: [