feat(settings): protect model provider deletion and cascade credential updates
- Block deletion of a model provider when it is referenced by any agent, returning an error that lists the agent names so the user knows what to unlink first - When a provider's api_url or api_key is updated, automatically propagate the new credentials to all dependent agents: updates env_json in the database and patches on-disk config files (Claude Code settings.json, Gemini settings.json, Codex auth.json + config.toml, OpenCode auth.json) using the same field names and structure as the agent settings UI - Fix error message display in provider dialogs for both Tauri and web transports, which throw plain objects rather than Error instances Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -97,8 +97,14 @@ export function EditModelProviderDialog({
|
||||
toast.success(t("editSuccess"))
|
||||
handleOpenChange(false)
|
||||
onProviderUpdated()
|
||||
} catch (err) {
|
||||
const msg = err instanceof Error ? err.message : String(err)
|
||||
} catch (err: unknown) {
|
||||
const raw = err as Record<string, unknown>
|
||||
const msg =
|
||||
typeof raw?.message === "string"
|
||||
? raw.message
|
||||
: err instanceof Error
|
||||
? err.message
|
||||
: String(err)
|
||||
setError(msg)
|
||||
} finally {
|
||||
setLoading(false)
|
||||
|
||||
Reference in New Issue
Block a user