Перейти к основному содержимому
Версия: 5.9.0

Список изменений

5.9.0

Новые возможности

  • Добавлен параметр titleTextInsets: UIEdgeInsets в TextButtonStyle для настройки отступов текста от границ кнопки. Значение по умолчанию: UIEdgeInsets(top: 8, left: 24, bottom: 8, right: 24).
  • Кнопка повтора на экране загрузки чата (LoadingChatViewController.repeatButton) теперь применяет параметры темы — titleTextInsets, cornerRadius, borderWidth — из ChatPlaceholderErrorStyle.repeatButtonStyle вместо захардкоженных значений. Полная кастомизация внешнего вида кнопки повтора через ChatTheme.

Исправлены ошибки

  • Исправлена race condition в CCWebSocketDataProvider: при повторном вызове urlSession(_:task:didCompleteWithError:) после уже закрытого соединения (с кодом, отличным от .goingAway) больше не выполняется повторный cleanup и не отправляется дублирующее событие закрытия.
  • В ChatPlaceholderErrorStyle стиль кнопки повтора теперь корректно задаёт cornerRadius = 8.0 вместо ранее ошибочного borderWidth = 8.0 (закруглённые углы вместо толстой рамки).
  • Кнопка повтора на экране загрузки теперь корректно реагирует на Dynamic Type: ширина шрифта подстраивается под системные настройки (adjustsFontForContentSizeCategory = true), высота кнопки задана через greaterThanOrEqualToConstant: 30 вместо фиксированной — текст крупных размеров больше не обрезается.

Совместимость

  • iOS 14.0+
  • Xcode 16+
  • Swift 5

Рекомендуемые версии сервера

  • Backend ednaChatCenter версии 6.35.0+
  • Datastore ednaChatCenter версии 15 (версия истории v16)

5.8.2

Исправлены ошибки

  • Устранено отключение WebSocket-соединения при открытии чата через push-уведомление.

Документация

  • Добавлена страница Известные ограничения — параметры темы, которые объявлены в API, но не применяются или применяются условно.
  • Уточнены условия применения параметров: NavigationBarStyle.titleTextStyle.font (только при isConfigurable=true), bubbleErrorColor (применяется только к исходящим сообщениям; для входящих игнорируется), HTTPConfig.connectionTimeout (только REST; WebSocket-таймаут — через WSConfig.connectionTimeout).
  • В описание SSLPinningConfig.allowUntrustedSSLCertificate добавлено предупреждение о небезопасности использования в продакшене.
  • Добавлены описания версий API (api17api21) в ChatTransportConfig.APIVersion.

Совместимость

  • iOS 14.0+
  • Xcode 16+
  • Swift 5

Рекомендуемые версии сервера

  • Backend ednaChatCenter версии 6.35.0+
  • Datastore ednaChatCenter версии 15 (версия истории v16)

5.8.1

Исправлены ошибки

  • Исправлена ошибка инициализации чата при вызове updateData(data:) до установки WebSocket-соединения.

5.7.0

Новые возможности

  • Добавлен метод updateData(data:) у объекта ChatUser для обновления данных пользователя после авторизации. Обновлённые данные отправляются на сервер при следующем открытии экрана чата.

Исправлены ошибки

  • Исправлена очистка быстрых ответов при смене режима отображения.
  • Исправлена видимость кнопки поиска в навигационной панели при одновременном включении кнопки клавиатуры и поиска.

Рекомендуемые версии сервера

  • Backend ednaChatCenter версии 6.35.0+
  • Datastore ednaChatCenter версии 15 (версия истории v16)

5.6.0

Новые возможности

  • Добавлен метод prefill(message:) для предзаполнения поля ввода текстом перед открытием чата. Текст подставляется при следующем вызове getChat(), после чего сбрасывается.
  • У ScrollToMessageButtonStyle добавлено свойство alwaysShow: Bool (по умолчанию false). При значении true кнопка прокрутки вниз отображается всегда, даже если нет непрочитанных сообщений.
  • Свойство questionBackgroundColor в SurveyChatMessageStyle помечено как устаревшее. Вместо него используйте questionButtonColor, поддерживающий состояния normal/highlighted/disabled.

Обновлённые опросы (серверная сторона)

  • Опросы могут содержать поле для комментария. Оно отображается, когда оценка ниже порога, заданного сервером через поле clientCommentThreshold в payload опроса. Параметр задаётся на сервере; в SDK настройка не нужна.
  • На API версии .api21+ ответы на опрос отправляются одним сообщением.
  • Сервер может задать время автоматического скрытия опроса через поле hideAfter в payload. Параметр задаётся на сервере; в SDK настройка не нужна.
  • Поле ввода блокируется на время активного опроса, если сервер передаёт флаг blockInput.

Изменения

  • Поле ввода ограничивает длину сообщения до 4000 символов на уровне UI. Вставка текста, превышающего лимит, обрезается.

5.5.0

Исправлены ошибки

  • Исправлено открытие файла, отправленного оператором.
  • Исправлено применение маски сообщений с изображениями.
  • Исправлено применение стилей при динамической смене темы.

Новые возможности

  • Добавлено свойство QuoteStyle.backgroundCornerRadius для скругления углов фона цитаты.

5.4.0

Новые возможности

  • Добавлен стиль OpenGraphViewStyle для настройки отображения ссылок OpenGraph.
  • Добавлена поддержка серверного события CLIENT_UNBLOCKED (разблокировка клиента) — отображается в чате как системное сообщение.
  • Добавлен метод chatCenterUI(chatCenter:didLog:) в ChatCenterUISDKDelegate для приёма SDK-логов в хост-приложение.
  • В ChatConfig добавлен параметр shouldUseRemoteConfig (по умолчанию true) для отключения получения настроек с сервера и использования локальных значений (см. Настройки SDK).

Исправлены ошибки

  • Исправлено применение настроек дизайн-системы.
  • Исправлена работа счётчика непрочитанных уведомлений.

5.3.0

Стабилизация дизайн-системы

В версии 5.3 интерфейс настроек дизайн-системы стабилизирован.

Изменения

  • Переименованы некоторые стили и свойства (в основном добавлены суффиксы Color, Style и др.) — старые имена помечены как устаревшие, Xcode предлагает автоисправление. Полный список — в разделе Известные ограничения.
  • Изменена структура настройки стилей голосовых сообщений.
  • Добавлен билдер (build) для создания стилей через замыкание.
  • Добавлен метод apply для настройки существующих стилей.
Ограничение по настройке компонентов

Вызов apply для компонентов из ChatComponents внутри flow может приводить к глобальному изменению. Создавайте новый компонент через build.


5.0.0

Полное обновление API

Версия 5.0 содержит полностью обновлённый API, несовместимый с версиями 4.x.

Основные изменения

  • Название пода CocoaPods изменено на ChatCenterUI.
  • Новая модель инициализации: ChatTransportConfigChatConfigChatCenterUISDK.
  • Трёхуровневая дизайн-система: токены → компоненты → сценарии (flows).
  • Поддержка светлой и тёмной тем через theme / darkTheme.
  • Новые настройки SSL-пиннинга через ChatNetworkConfig.

Совместимость

  • iOS 14.0+
  • Xcode 16+
  • Swift 5

Миграция: Инструкции по миграции.