diff --git a/app/src/lib/hooks/useSettings.ts b/app/src/lib/hooks/useSettings.ts index e6fc49d2..40750be7 100644 --- a/app/src/lib/hooks/useSettings.ts +++ b/app/src/lib/hooks/useSettings.ts @@ -42,8 +42,15 @@ export function useCaptureSettings() { queryClient.setQueryData(CAPTURE_SETTINGS_KEY, ctx.previous); } }, - onSettled: (data) => { + onSettled: (data, _err, patch) => { if (data) queryClient.setQueryData(CAPTURE_SETTINGS_KEY, data); + // /capture/readiness resolves stt_model / llm_model live on each + // call, but its cached response keeps serving the previous + // model's state until the next 5 s poll. Invalidate on model + // swaps so the readiness checklist re-checks immediately. + if (patch.stt_model !== undefined || patch.llm_model !== undefined) { + queryClient.invalidateQueries({ queryKey: ['capture-readiness'] }); + } }, });