35 lines
1.8 KiB
Kotlin
35 lines
1.8 KiB
Kotlin
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 в 1 с desktop/server
|
||
- Выровнен сетевой контракт пакетов как в desktop: добавлена поддержка 0x10 (push), 0x1A (signal), 0x1B (webrtc), 0x1C (ice)
|
||
- Исправлена нормализация дубликатов своих сообщений из sync: локальные WAITING/ERROR теперь автоматически переходят в DELIVERED
|
||
- Добавлен watchdog для sync-запроса: если ответ на PacketSync завис, запрос перезапускается автоматически
|
||
- Повышена стабильность цикла BATCH_START/BATCH_END/NOT_NEEDED при reconnect
|
||
- Исправлена обработка PacketRead: read-статусы теперь ставятся как в desktop/wss, включая сценарии когда read приходит раньше delivery
|
||
""".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)
|
||
}
|