Follow-up to PR #1630 (closed OPENHUMAN-TAURI-51, -80, -7Z).
#1630 fixed the IntegrationClient URL-base leak when users set config.api_url to a local-AI endpoint. The same class of bug exists across most non-integrations domains that still call effective_api_url. graycyrus enumerated 38+ call sites in the #1630 review:
billing/ops.rs
team/ops.rs
referral/ops.rs
webhooks/ops.rs
credentials/ops.rs (9 call sites)
channels/controllers/ops.rs (9 call sites)
voice/
socket/
app_state/
core/jsonrpc.rs
Plan
- Rename
effective_integrations_api_url → effective_backend_api_url (more general name; documents that it is the canonical resolver for ALL backend-proxied calls, not just integrations).
- Migrate every
effective_api_url call site that targets the OpenHuman hosted backend to effective_backend_api_url.
- Keep
effective_api_url for the OpenAI-compatible chat-completions client only (src/openhuman/providers/...) — that one legitimately honors the user's local-AI override.
- Add a clippy lint or a CI grep gate to prevent future regressions.
Why
Users on local AI (Ollama, vLLM, LM Studio) currently silently lose every backend feature outside Composio integrations — billing checks, team membership, referral, webhooks, credentials, channels, voice. #1630 only stopped the Sentry flood for the IntegrationClient slice; the underlying UX issue remains for ~9 other domains.
Follow-up to PR #1630 (closed OPENHUMAN-TAURI-51, -80, -7Z).
#1630 fixed the IntegrationClient URL-base leak when users set
config.api_urlto a local-AI endpoint. The same class of bug exists across most non-integrations domains that still calleffective_api_url. graycyrus enumerated 38+ call sites in the #1630 review:billing/ops.rsteam/ops.rsreferral/ops.rswebhooks/ops.rscredentials/ops.rs(9 call sites)channels/controllers/ops.rs(9 call sites)voice/socket/app_state/core/jsonrpc.rsPlan
effective_integrations_api_url→effective_backend_api_url(more general name; documents that it is the canonical resolver for ALL backend-proxied calls, not just integrations).effective_api_urlcall site that targets the OpenHuman hosted backend toeffective_backend_api_url.effective_api_urlfor the OpenAI-compatible chat-completions client only (src/openhuman/providers/...) — that one legitimately honors the user's local-AI override.Why
Users on local AI (Ollama, vLLM, LM Studio) currently silently lose every backend feature outside Composio integrations — billing checks, team membership, referral, webhooks, credentials, channels, voice. #1630 only stopped the Sentry flood for the IntegrationClient slice; the underlying UX issue remains for ~9 other domains.