🐛 Bug Fix
Embedding endpoint test matches doctor classification (fixes #33)
The Test button for OpenAI-compatible embeddings in the Memory configuration panel previously only checked the HTTP status code, which produced misleading results:
- 2xx with wrong body shape — OpenRouter's
/embeddingsreturns 200 with a chat-completion body. Dashboard falsely reported "✓ Connected". - Unresolved
{env:VAR}/{file:path}tokens — the dashboard sent them literally. On macOS GUI launches the dashboard's environment doesn't inherit shell rc files, soEMBED_API_KEYset in~/.zshrcisn't visible to a Finder/Dock-launched dashboard — users got opaque 401 errors instead of actionable guidance. - 404 / 405 vs. generic HTTP errors were collapsed into identical output, losing the "wrong URL / no embeddings API" guidance.
The probe is now a port of the plugin's doctor embedding probe (shipped in v0.13.0). It performs:
- Full substitution of
{env:VAR}and{file:path}tokens before sending the request - Body inspection on 2xx responses to verify the response actually contains
data[0].embeddingas a float array, reporting dimensions on success - Classification into specific outcomes:
ok,auth_failed,endpoint_unsupported,http_error,network_error,timeout,invalid_scheme,unresolved_token - Specific guidance for each outcome — e.g. the
unresolved_tokencase tells you to launch OpenCode from a terminal or rundoctor, rather than showing a useless 401
Users running doctor and the dashboard now see the same text for every failure mode.
🧪 Tests
17 new Rust unit tests cover substitution (env resolution, file resolution, residual detection, whitespace trimming), dimension extraction (valid embeddings, chat-style bodies, empty arrays, non-numeric values), preview truncation, and probe scheme validation.
Upgrade
Auto-update is enabled — existing installations will prompt within 24 hours.
Manual: download from the release assets below, or let the app's built-in Check for Updates... (app menu on macOS, or via the tray icon) pull the new build.
Full Changelog: dashboard-v0.3.0...dashboard-v0.3.1