mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-27 21:07:01 -06:00
fix(ui): clarify inherited thinking off label (#85223)
Control UI thinking selectors now show inherited disabled reasoning as Inherited: Off while keeping explicit Off distinct.
This commit is contained in:
@@ -51,6 +51,7 @@ Docs: https://docs.openclaw.ai
|
||||
- Agents/Codex: promote a completed final assistant response when a prompt timeout races Codex app-server completion instead of returning an empty timeout envelope. Refs #84516.
|
||||
- Agents: cap heartbeat model bleed context hints by the stored session window when runtime model metadata is unavailable, so overflow recovery advice does not suggest a larger window than the active session actually has.
|
||||
- Control UI/Web Push: use `https://openclaw.ai` as the generated default VAPID subject instead of the old localhost mailbox so iOS PWA push setup uses an Apple-acceptable subject when `OPENCLAW_VAPID_SUBJECT` is unset. Fixes #83134. (#83317) Thanks @IWhatsskill.
|
||||
- Control UI: distinguish inherited thinking-off settings from explicit Off selections so the thinking selector no longer shows two identical Off rows. (#85223) Thanks @amknight.
|
||||
- Agents/Pi: keep embedded session transcript writes from tripping false takeover detection after packaged npm onboarding agent turns.
|
||||
- Codex/TUI: surface Codex-native post-turn compaction failures instead of continuing uncompacted, and keep successful native compaction serialized before local idle/next-turn handling. Fixes #84305. (#85160) Thanks @joshavant.
|
||||
- Memory/search: stop recall tracking from writing dreaming side-effect artifacts when `dreaming.enabled=false`, while preserving normal search results. Fixes #84436. (#84444) Thanks @NianJiuZst.
|
||||
|
||||
@@ -124,8 +124,8 @@ Malformed local-model reasoning tags are handled conservatively. Closed `<think>
|
||||
|
||||
- The web chat thinking selector mirrors the session's stored level from the inbound session store/config when the page loads.
|
||||
- Picking another level writes the session override immediately via `sessions.patch`; it does not wait for the next send and it is not a one-shot `thinkingOnce` override.
|
||||
- The first option is always the clear-override choice. It shows `Inherited: <resolved level>` when the session is inheriting a non-off effective default, or `Off` when inherited thinking is disabled.
|
||||
- Explicit picker choices are labeled as overrides, while preserving provider labels when present (for example `Override: maximum` for a provider-labeled `max` option).
|
||||
- The first option is always the clear-override choice. It shows `Inherited: <resolved level>`, including `Inherited: Off` when inherited thinking is disabled.
|
||||
- Explicit picker choices use their direct level labels while preserving provider labels when present (for example `Maximum` for a provider-labeled `max` option).
|
||||
- The picker uses `thinkingLevels` returned by the gateway session row/defaults, with `thinkingOptions` kept as a legacy label list. The browser UI does not keep its own provider regex list; plugins own model-specific level sets.
|
||||
- `/think:<level>` still works and updates the same stored session level, so chat directives and the picker stay in sync.
|
||||
|
||||
|
||||
@@ -7,9 +7,6 @@ export function normalizeThinkingOptionValue(raw: string): string {
|
||||
|
||||
export function formatInheritedThinkingLabel(effectiveLevel: string | null | undefined): string {
|
||||
const normalized = effectiveLevel ? normalizeThinkingOptionValue(effectiveLevel) : "off";
|
||||
if (!normalized || normalized === "off") {
|
||||
return "Off";
|
||||
}
|
||||
return `Inherited: ${formatThinkingLevelDisplayLabel(normalized)}`;
|
||||
}
|
||||
|
||||
|
||||
@@ -1407,7 +1407,7 @@ describe("chat session controls", () => {
|
||||
]);
|
||||
expect(
|
||||
[...(thinkingSelect?.options ?? [])].map((option) => option.textContent?.trim()),
|
||||
).toEqual(["Off", "Off", "Adaptive", "Extra high", "Maximum"]);
|
||||
).toEqual(["Inherited: Off", "Off", "Adaptive", "Extra high", "Maximum"]);
|
||||
});
|
||||
|
||||
it("labels chat thinking default from the active session row", () => {
|
||||
|
||||
Reference in New Issue
Block a user