feat(ai-settings): status dot = configured × enabled (not test result) #7

Closed
Ghost wants to merge 2 commits from feat/ai-status-dot into develop

Implements docs/backlog/ai-endpoint-status-dot-config-enabled.md.

What

The AI endpoint header dot reflected only the last manual Test endpoint result, so a configured+enabled endpoint stayed gray until probed. It now derives synchronously from the form + feature toggle (no network):

state color meaning
ready green configured and enabled
configured yellow configured but feature off
misconfigured orange feature on but not configured (real misconfig)
off gray not configured, not enabled

configured = model filled and a Base URL present (own or inherited from Chat); API key not required (local servers). A Tooltip makes the state readable without relying on color alone. The Test-endpoint result stays as text next to the button.

Verification

  • pnpm --filter client build clean.
  • Browser (headless Chromium): drove the Chat card through all four states live — gray→orange→yellow→green with matching tooltips; Embeddings/Voice dots confirm Base-URL inheritance. No app errors. Screenshot captured.

🤖 Generated with Claude Code

Implements `docs/backlog/ai-endpoint-status-dot-config-enabled.md`. ## What The AI endpoint header dot reflected only the last manual **Test endpoint** result, so a configured+enabled endpoint stayed gray until probed. It now derives synchronously from the form + feature toggle (no network): | state | color | meaning | |---|---|---| | ready | green | configured **and** enabled | | configured | yellow | configured but feature off | | misconfigured | orange | feature **on** but not configured (real misconfig) | | off | gray | not configured, not enabled | `configured` = model filled **and** a Base URL present (own or inherited from Chat); API key not required (local servers). A `Tooltip` makes the state readable without relying on color alone. The Test-endpoint result stays as text next to the button. ## Verification - `pnpm --filter client build` clean. - Browser (headless Chromium): drove the Chat card through all four states live — gray→orange→yellow→green with matching tooltips; Embeddings/Voice dots confirm Base-URL inheritance. No app errors. Screenshot captured. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Ghost added 2 commits 2026-06-20 05:12:45 +03:00
The endpoint header dot previously reflected only the last manual 'Test
endpoint' result (green=ok / red=fail / gray=never tested), so a configured,
enabled endpoint looked gray until probed. Rebind it to a synchronous
derivation from the form + feature toggle (no network):
  ready (green)        configured AND enabled
  configured (yellow)  configured but feature off
  misconfigured(orange) feature on but not configured (real misconfig)
  off (gray)           not configured and not enabled
'Configured' = model filled AND a Base URL present (own or inherited from
Chat); API key not required (local servers). Adds a Tooltip on the dot so
color isn't the only signal. The Test button result stays as text.

Implements docs/backlog/ai-endpoint-status-dot-config-enabled.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ghost closed this pull request 2026-06-20 22:26:28 +03:00

Pull request closed

Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: vvzvlad/gitmost#7