Skip to content

fix: remove fallback models config when skipped in configure wizard#1

Open
KChow-ctrl wants to merge 450 commits into
mainfrom
fix/issue-60769
Open

fix: remove fallback models config when skipped in configure wizard#1
KChow-ctrl wants to merge 450 commits into
mainfrom
fix/issue-60769

Conversation

@KChow-ctrl
Copy link
Copy Markdown
Owner

Summary

When running openclaw configure and selecting "Skip for now" or leaving the fallback models field empty, the old fallback configuration now properly gets removed from openclaw.json instead of persisting.

Changes

  • Modified applyModelFallbacksFromSelection in model-picker.ts to explicitly remove the fallbacks field when the selection is empty or has only one item
  • This ensures that configuring "Skip for now" properly clears stale fallback model configuration

Testing

  • Verified that existing tests still pass
  • The fix handles the case where user selects "Skip for now" in model picker

Fixes openclaw#60769

steipete and others added 30 commits April 1, 2026 07:46
openclaw#58736)

* fix(memory): prefer --mask over --glob for qmd collection pattern flag

qmd 2.0.1 silently ignores the --glob flag when creating collections,
causing all patterns (e.g. MEMORY.md, memory.md) to fall back to the
default **/*.md glob. This leads to collection conflicts when multiple
collections target the same workspace directory with different patterns.

The existing flag negotiation logic in addCollection() tries --glob
first (when collectionPatternFlag is null), and since qmd accepts the
flag without error, OpenClaw never falls back to --mask. The result is
that memory-root-{agent} gets created with **/*.md instead of MEMORY.md,
and memory-alt-{agent} fails with a duplicate path+pattern conflict.

Fix: default collectionPatternFlag to '--mask' so the working flag is
tried first. The fallback to --glob is preserved for older qmd versions
that may not support --mask.

* docs(changelog): note qmd collection flag fix

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Merged via squash.

Prepared head SHA: a9dfeb0
Co-authored-by: wittam-01 <271711640+wittam-01@users.noreply.github.com>
Co-authored-by: odysseus0 <8635094+odysseus0@users.noreply.github.com>
Reviewed-by: @odysseus0
* fix(status): filter stale task rows

* test(status): use real task snapshot semantics

* fix(status): prefer failure task context in recent failures
… (thanks @obviyus)

* fix: restore bundled runtime dependency provisioning

* fix: ship npm runner in packed installs

* fix: address bundled runtime staging review feedback

* fix: include npm runner in docker build contexts

* fix: restore bundled runtime dependency provisioning (openclaw#58782) (thanks @obviyus)

* fix: allow caret specs through windows npm cmd (openclaw#58782) (thanks @obviyus)
vincentkoc and others added 30 commits April 2, 2026 15:29
… missing (openclaw#58829)

* fix(qqbot): lazy-load silk-wasm to avoid hard failure when package is missing

Replace the static top-level import with a cached dynamic import helper.
If silk-wasm is unavailable the plugin loads normally; voice encode/decode
degrades gracefully instead of crashing the module at load time.

* fix(qqbot): store in-flight Promise in loadSilkWasm to prevent duplicate imports

Concurrent cold-start calls to loadSilkWasm() before the first import()
resolves would each fire a separate dynamic import. Storing the Promise
instead of the resolved value (matching the detectFfmpeg pattern in
platform.ts) ensures all concurrent callers await the same import,
keeping the codebase consistent and avoiding redundant parallel loads.

* QQBot: add changelog for silk-wasm lazy load

* QQBot: move changelog entry for PR openclaw#58829

---------

Co-authored-by: sliverp <870080352@qq.com>
Co-authored-by: Sliverp <38134380+sliverp@users.noreply.github.com>
* fix: harden Feishu comment-thread delivery

* fix: harden Feishu comment-thread delivery (openclaw#59129) (thanks @wittam-01)

---------

Co-authored-by: George Zhang <georgezhangtj97@gmail.com>
…59384)

Merged via squash.

Prepared head SHA: 981aa35
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
* fix: normalize kimi anthropic tool payloads

* fix: normalize kimi anthropic tool payloads (openclaw#59440)
* fix(browser): keep static helper seams cold

* fix(browser): narrow sandbox helper facade imports

* fix(browser): harden host inspection helpers
* fix(providers): centralize stream request headers

* Update src/agents/provider-request-config.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
…ation (openclaw#59112)

* fix(exec): strip invalid security/ask enum values during config normalization

* fix(exec): narrow invalid approvals config cleanup

---------

Co-authored-by: scoootscooob <zhentongfan@gmail.com>
* fix: keep acp prompts alive across gateway reconnects

* fix: bound ACP prompts after disconnect grace

* fix: preserve ACP send timeout semantics

* fix: defer pre-ack ACP disconnect failures

* fix: reconcile ACP runs after reconnect

* fix: keep ACP reconnect deadlines monotonic

* fix: keep pre-ack ACP deadlines after reconnect

* fix: keep ACP prompts alive across gateway reconnects (openclaw#59473)

* fix: reject superseded ACP pre-ack prompts (openclaw#59473)

* style: format ACP reconnect regression updates (openclaw#59473)

* style: format ACP reconnect regression updates (openclaw#59473)

* fix: guard ACP send acceptance by run id (openclaw#59473)

* fix: scope ACP reconnect deadline by prompt (openclaw#59473)

* fix: recheck ACP prompts at reconnect deadline (openclaw#59473)

* fix: key ACP reconnect deadline by run (openclaw#59473)
…juliabush)

* fix(ui): install devDependencies during ui:build

* fix: keep ui:build self-heal documented (openclaw#59267) (thanks @juliabush)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
* fix(qqbot): restrict structured payload local paths

* fix(qqbot): narrow structured payload file access

* test(qqbot): cover payload path traversal guards

* fix(qqbot): reduce structured payload log exposure

* fix(qqbot): preserve inline image payload URLs
* fix(doc):update wecom doc and qq
doc

* Update CHANGELOG with recent changes and enhancements

Added various updates including new features, improvements, and documentation changes across multiple components.
* Slack: filter thread context by allowlist

* Slack: honor room thread allowlists

* Slack: keep open-room thread context

* Slack: keep non-room thread context

* Changelog: add Slack thread context fix
Add .mp3 and audio/mpeg detection in resolveFeishuOutboundMediaKind() so that
TTS-generated audio files (typically .mp3) are sent as voice messages
instead of file attachments in Feishu.

Fixes openclaw#59588
When running openclaw configure and selecting "Skip for now" or leaving the
fallback models field empty, the old fallback configuration now properly gets
removed from openclaw.json instead of persisting.

This fixes issue openclaw#60769 where stale fallback models would cause 404 errors
when the primary model fails.

Fixes openclaw#60769
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: openclaw configure does not fully remove fallback models when selecting "Skip for now"