Skip to content

fix(desktop): settings panels render (model/options, auxiliary, config/schema REST) - #811

Merged
agentforce314 merged 1 commit into
mainfrom
fix/desktop-qa-round3
Aug 8, 2026
Merged

fix(desktop): settings panels render (model/options, auxiliary, config/schema REST)#811
agentforce314 merged 1 commit into
mainfrom
fix/desktop-qa-round3

Conversation

@agentforce314

Copy link
Copy Markdown
Owner

Continuing hands-on desktop QA: the Settings → Model panel was stuck on skeleton loaders. It awaits four REST routes in a Promise.all and three 404'd on clawcodex serve, so the panel never left its loading state. Other panels polled dead routes too (/api/cron/jobs fired 54× while open).

Added the settings-panel REST surface:

  • /api/model/options — session-independent catalog (the same config fallback the WS RPC uses), so the provider/model dropdowns populate.
  • /api/model/auxiliary{main, tasks:[]}; the panel renders "all helper tasks use the main model" (the true state).
  • /api/config/schema{fields:{}}; no dynamic schema in this backend, so the Advanced tab's generated rows degrade to none while the structured panels render from their own fields.
  • /api/cron/jobs {jobs:[]}, /api/audio/elevenlabs/voices {voices:[]} — empty but valid; stops the 404 poll spam.
  • /api/sessions/{id} — single-session detail from the saved transcript.

Verified live

The Model settings panel fully renders: provider (Anthropic Claude) + model (claude-sonnet-4-6) dropdowns, Apply, Reasoning, and the full Auxiliary-models list (Vision/Web extract/Compression/Skills hub/Approval/MCP/Title gen). 54 desktop pytest cases green.

🤖 Generated with Claude Code

…ig/schema REST (QA round 3)

The Settings > Model panel was stuck on skeleton loaders: it awaits four
REST routes in a Promise.all and three of them 404'd on serve
(/api/model/options, /api/model/auxiliary, /api/config/schema), so the
whole panel never left its loading state. Other panels polled dead routes
too (/api/cron/jobs 54x, /api/audio/elevenlabs/voices).

Added the settings-panel REST surface:
- /api/model/options — session-independent catalog (same as the WS RPC's
  config fallback), so the provider/model dropdowns populate.
- /api/model/auxiliary — {main, tasks:[]}; the panel renders 'all helper
  tasks use the main model', which is the true state (no per-task override
  wired yet).
- /api/config/schema — {fields:{}}; no dynamic schema in this backend, so
  the Advanced tab's generated rows degrade to none while the structured
  panels render from their own fields.
- /api/cron/jobs {jobs:[]}, /api/audio/elevenlabs/voices {voices:[]} —
  empty but valid, stopping the 404 poll spam and letting those panels
  settle.
- /api/sessions/{id} — single-session detail from the saved transcript.

Verified live: the Model settings panel fully renders — provider (Anthropic
Claude) + model (claude-sonnet-4-6) selects, Apply, Reasoning, and the full
Auxiliary-models list (Vision/Web extract/Compression/Skills hub/Approval/
MCP/Title gen). 54 desktop pytest cases green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@agentforce314
agentforce314 enabled auto-merge (squash) August 8, 2026 15:47
@agentforce314
agentforce314 merged commit 218272a into main Aug 8, 2026
3 checks passed
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.

1 participant