web: settings-page API-key save uses full force_refresh; research page's targeted refresh_provider is cheaper

Author: LearningCircuitCreated Sep 18, 2026Updated Sep 18, 2026

Follow-up from PR #6578.

PR #6578 added a targeted model-catalog refresh (GET /settings/api/available-models?refresh_provider=<p>) used by the research page after an llm.<p>.api_key save: one upstream fetch, other providers' 24h DB cache rows and TTLs untouched, cold cache falls back to full discovery, transient failures keep cached rows.

The settings page (settings.js key-save path, ~line 5000) still triggers a full force_refresh=true on key save: a serialized re-probe of every discovered provider (16 providers × up to 30s timeout each on the worst path) and a delete of all cached model rows.

Suggested: adopt the targeted refresh in settings.js the same way research.js does (loadModelOptions(false, providerSegment) equivalent in fetchModelProviders).

Source: LearningCircuit/local-deep-research