fix(providers): use correct endpoint for provider disconnect (#1714)

Fix #1462: handleDisconnectProvider called the SDK auth.remove() which
only clears auth credentials from auth.json. Cloud providers configured
in user/project/custom config files were not removed and reappeared
after reload. Now calls DELETE /api/provider/:id/auth?scope=all which
removes the provider from all config sources.

Co-authored-by: Leonid Skorobogatyy <bash@opencode.itc.local>
This commit is contained in:
bashrusakh
2026-06-23 22:38:49 +03:00
committed by GitHub
co-authored by Leonid Skorobogatyy
parent 6e68015389
commit 3db91721cb
@@ -477,9 +477,14 @@ export const ProvidersPage: React.FC = () => {
setAuthBusyKey(busyKey);
try {
const result = await opencodeClient.getSdkClient().auth.remove({ providerID: providerId });
if (result.error) {
throw new Error(t('settings.providers.page.toast.providerDisconnectFailed'));
const response = await runtimeFetch(`/api/provider/${encodeURIComponent(providerId)}/auth?scope=all`, {
method: 'DELETE',
headers: { Accept: 'application/json' },
});
const payload = await response.json().catch(() => null);
if (!response.ok) {
throw new Error(payload?.error || t('settings.providers.page.toast.providerDisconnectFailed'));
}
toast.success(t('settings.providers.page.toast.providerDisconnected'));