package com.rosetta.messenger.data /** * Release notes for "Rosetta Updates" system messages. * * When releasing a new version, update [RELEASE_NOTICE] below. * The text will be sent once to each user after they update the app. */ object ReleaseNotes { /** * Current release notice shown to users after update. * [VERSION_PLACEHOLDER] will be replaced with the actual version from BuildConfig. */ const val VERSION_PLACEHOLDER = "{version}" val RELEASE_NOTICE = """ Update v$VERSION_PLACEHOLDER Что обновлено после версии 1.2.3 Чат-лист и Requests - Полностью переработано поведение блока Requests: pull-жест, раскрытие и скрытие как у архива в Telegram - Доработана вытягивающаяся анимация: requests сразу появляются первым элементом при pull вниз - Убраны рывки и прыжки списка чатов при анимациях и при пустом списке запросов Чаты и группы - Исправлены групповые баблы и аватарки в стеках сообщений, устранены кривые состояния в медиа-блоках - Исправлена обрезка имени отправителя в групповых медиа-сообщениях - Плашки даты в диалоге приведены к Telegram-стилю, добавлена плавающая верхняя дата при скролле - Сообщение «you joined the group» теперь белого цвета в тёмной теме и на обоях Медиа и локальные данные - Исправлена отправка нескольких фото: добавлен корректный optimistic UI и стабильное отображение до/после перезахода - Экран редактирования фото после камеры унифицирован с редактором фото из галереи - Удалённые сообщения теперь корректно удаляются локально и не возвращаются после открытия диалога Обои и темы - Разделены наборы обоев для светлой и тёмной темы - Исправлено поведение обоев на разных разрешениях: убраны повторения/растяжения, фон отображается стабильнее Навигация и UI - Back-свайп теперь везде скрывает клавиатуру (как на экране поиска) - На экране группы выровнены размеры иконок Encryption Key и Add Members - Улучшен back-свайп на экране Encryption Key: возврат во внутреннюю страницу группы - Приведён к нормальному размер индикатор ошибки в чат-листе Медиапикер и камера - Исправлено затемнение статус-бара при открытии медиапикера: больше не пропадает при активации камеры - Переработано управление системными барами в attach picker и media picker для более естественного Telegram-поведения - Камера в медиапикере теперь корректно блокируется во время закрытия, запись не стартует в момент dismiss Файлы и загрузки - Добавлена пауза и возобновление скачивания файлов прямо из пузырька (иконка pause/resume) - Пауза скачивания теперь реальная: активный сетевой поток останавливается, а не только меняется UI-статус - Resume продолжает загрузку с сохранённого места через HTTP Range (с безопасным fallback на полную перезагрузку, если сервер не поддерживает Range) - Устранено дёргание прогресса при быстрых тапах по скачивающемуся файлу - Прогресс скачивания стал стабильным и не откатывается назад после pause/resume - Обновлён экран активных загрузок: добавлен статус Paused Групповые сообщения - Добавлен truncate для длинных имён отправителей в групповых пузырьках - Убраны переносы в имени отправителя в шапке группового сообщения """.trimIndent() fun getNotice(version: String): String = RELEASE_NOTICE.replace(VERSION_PLACEHOLDER, version) /** Hash of current notice text — used to re-send if text changed within the same version */ val noticeHash: String get() = RELEASE_NOTICE.hashCode().toString(16) }