0.134.92

Fixed

  • Проверка провайдера из формы модалки: кнопка «Проверить подключение» в модалках создания/редактирования провайдера теперь проверяет реквизиты из формы (до сохранения), а не сохранённые. Раньше при редактировании проверялся сохранённый конфиг — нельзя было убедиться в работоспособности новых api_key/api_base до их сохранения. Пустой api_key в форме фолбэчится на расшифрованный сохранённый ключ (не нужно вводить заново, если не меняется). Путь создания переведён с legacy TestProvider (Chat Completion, тратил токены) на TestConnectivity (GET /models, бесплатно) — оба пути унифицированы. Кэш testCache обновляется только при проверке сохранённого конфига (кнопка в списке), так что бейдж отражает персистенное состояние, а не эксперименты в модалке.

Security

  • Защита от утечки ключа через тест-эндпоинт: POST /providers/{id}/test отвергает тело, где provider не совпадает с сохранённым типом — иначе API-клиент мог бы перенаправить расшифрованный сохранённый ключ на сторонний endpoint. Сохранённый ключ дешифруется только если форма его не предоставляет. Добавлены scheme-валидация api_base (только абсолютные http(s) URL) и http.MaxBytesReader (64 KiB) для тест-хендлеров.

Changed

  • Инвалидация кэша при Update: после изменения провайдера testCache сбрасывается, чтобы бейдж в списке переключался на свежую проверку health-checker’а, а не показывал устаревший результат до истечения TTL.
  • Новый эндпоинт POST /api/v1/providers/test (без id) для проверки unsaved-конфига из модалки создания; legacy POST /settings/provider/test помечен deprecated (без фронтенд-потребителя).