Список изменений
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 (
api17–api21) в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. - Новая модель инициализации:
ChatTransportConfig→ChatConfig→ChatCenterUISDK. - Трёхуровневая дизайн-система: токены → компоненты → сценарии (flows).
- Поддержка светлой и тёмной тем через
theme/darkTheme. - Новые настройки SSL-пиннинга через
ChatNetworkConfig.
Совместимость
- iOS 14.0+
- Xcode 16+
- Swift 5
Миграция: Инструкции по миграции.