Summary
Every embedding request fires a Sentry error when the managed backend returns "VOYAGE_API_KEY is not configured". 2,671 events — this is a known config state that should not flood Sentry.
Problem
What happened: Users on the managed embedding path hit the backend which returns 400: "VOYAGE_API_KEY is not configured". This fires a Sentry error on every embedding attempt. Also appears as TAURI-RUST-2 (2,247 events, older message format) — combined ~5K events.
Expected: A missing backend config key is not an app-level error. Should either:
- Suppress from Sentry (add to observability expected-error list)
- Fall back to a different embedding provider
- Surface once as a user-facing config warning, not 2,671 Sentry errors
Impact: 2,671 events (TAURI-RUST-2H5) + 2,247 events (TAURI-RUST-2) = ~5K events total.
Version / Platform: openhuman@0.54.0 through 0.56.0
Solution (optional)
Add "VOYAGE_API_KEY is not configured" to the observability expected-error suppression (same pattern as PR #2850, #2899). This is a backend config state, not a code error.
Acceptance criteria
Related
Summary
Every embedding request fires a Sentry error when the managed backend returns "VOYAGE_API_KEY is not configured". 2,671 events — this is a known config state that should not flood Sentry.
Problem
What happened: Users on the managed embedding path hit the backend which returns 400:
"VOYAGE_API_KEY is not configured". This fires a Sentry error on every embedding attempt. Also appears as TAURI-RUST-2 (2,247 events, older message format) — combined ~5K events.Expected: A missing backend config key is not an app-level error. Should either:
Impact: 2,671 events (TAURI-RUST-2H5) + 2,247 events (TAURI-RUST-2) = ~5K events total.
Version / Platform: openhuman@0.54.0 through 0.56.0
Solution (optional)
Add "VOYAGE_API_KEY is not configured" to the observability expected-error suppression (same pattern as PR #2850, #2899). This is a backend config state, not a code error.
Acceptance criteria
Related