Релиз 1.3.7: новый Stream, транспорт вложений и фиксы совместимости
All checks were successful
Android Kernel Build / build (push) Successful in 19m57s

This commit is contained in:
2026-03-29 23:16:38 +05:00
parent ce6bc985be
commit 89259b2a46
12 changed files with 685 additions and 236 deletions

View File

@@ -1695,6 +1695,8 @@ class MessageRepository private constructor(private val context: Context) {
put("preview", attachment.preview)
put("width", attachment.width)
put("height", attachment.height)
put("transportTag", attachment.transportTag)
put("transportServer", attachment.transportServer)
}
jsonArray.put(jsonObj)
}
@@ -1937,6 +1939,8 @@ class MessageRepository private constructor(private val context: Context) {
jsonObj.put("preview", attachment.preview)
jsonObj.put("width", attachment.width)
jsonObj.put("height", attachment.height)
jsonObj.put("transportTag", attachment.transportTag)
jsonObj.put("transportServer", attachment.transportServer)
} else {
// Fallback - пустой blob для IMAGE/FILE
jsonObj.put("id", attachment.id)
@@ -1945,6 +1949,8 @@ class MessageRepository private constructor(private val context: Context) {
jsonObj.put("preview", attachment.preview)
jsonObj.put("width", attachment.width)
jsonObj.put("height", attachment.height)
jsonObj.put("transportTag", attachment.transportTag)
jsonObj.put("transportServer", attachment.transportServer)
}
} catch (e: Exception) {
// Fallback - пустой blob
@@ -1954,6 +1960,8 @@ class MessageRepository private constructor(private val context: Context) {
jsonObj.put("preview", attachment.preview)
jsonObj.put("width", attachment.width)
jsonObj.put("height", attachment.height)
jsonObj.put("transportTag", attachment.transportTag)
jsonObj.put("transportServer", attachment.transportServer)
}
} else {
// Для IMAGE/FILE - НЕ сохраняем blob (пустой)
@@ -1963,6 +1971,8 @@ class MessageRepository private constructor(private val context: Context) {
jsonObj.put("preview", attachment.preview)
jsonObj.put("width", attachment.width)
jsonObj.put("height", attachment.height)
jsonObj.put("transportTag", attachment.transportTag)
jsonObj.put("transportServer", attachment.transportServer)
}
jsonArray.put(jsonObj)

View File

@@ -17,13 +17,15 @@ object ReleaseNotes {
val RELEASE_NOTICE = """
Update v$VERSION_PLACEHOLDER
Hotfix звонков
- Исправлен регресс качества аудио в E2EE звонках после 1.3.5
- Возвращена стабильная схема обработки состояния звонка, как в 1.3.3
- Нативный C++ шифратор (XChaCha20/HSalsa20) оставлен без изменений
Протокол и вложения
- Обновлен Stream под новый серверный формат сериализации
- Добавлена поддержка transportServer/transportTag во вложениях
- Исправлена совместимость шифрования вложений Android -> Desktop
- Улучшена обработка call-аттачментов и рендер карточек звонков
UI
- Сохранено принудительное скрытие клавиатуры на экране звонка
Push-уведомления
- Пуши теперь учитывают mute-чаты корректно
- Заголовок уведомления берет имя отправителя из payload сервера
""".trimIndent()
fun getNotice(version: String): String =