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 Звонки и lockscreen - MainActivity больше не открывается поверх экрана блокировки: чаты не раскрываются без разблокировки устройства - Во входящем полноэкранном звонке отключено автоматическое снятие keyguard - Исправлено краткое появление "Unknown" при завершении полноэкранного звонка - При принятии звонка из push добавлено восстановление auth из локального кеша и ускорена отправка ACCEPT Сеть и протокол - Добавлено ожидание активной сети перед reconnect (ConnectivityManager callback + timeout fallback) - Разрешена pre-auth отправка call/WebRTC/ICE пакетов после открытия сокета - Очередь исходящих пакетов теперь сбрасывается сразу в onOpen и отправляется state-aware Стабильность UI - Crash Details защищён от очень больших логов (без падений при открытии тяжёлых отчётов) - SharedMedia fast-scroll overlay стабилизирован от NaN/Infinity координат """.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) }