Релиз 1.4.9: QR-коды, forward parity, звонки, онбординг, UI
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -23,8 +23,8 @@ val gitShortSha = safeGitOutput("rev-parse", "--short", "HEAD") ?: "unknown"
|
||||
// ═══════════════════════════════════════════════════════════
|
||||
// Rosetta versioning — bump here on each release
|
||||
// ═══════════════════════════════════════════════════════════
|
||||
val rosettaVersionName = "1.4.8"
|
||||
val rosettaVersionCode = 50 // Increment on each release
|
||||
val rosettaVersionName = "1.4.9"
|
||||
val rosettaVersionCode = 51 // Increment on each release
|
||||
val customWebRtcAar = file("libs/libwebrtc-custom.aar")
|
||||
|
||||
android {
|
||||
|
||||
@@ -17,19 +17,63 @@ object ReleaseNotes {
|
||||
val RELEASE_NOTICE = """
|
||||
Update v$VERSION_PLACEHOLDER
|
||||
|
||||
Синхронизация (как на Desktop)
|
||||
- Во время sync экран чатов показывает "Updating..." и скрывает шумящие промежуточные индикаторы
|
||||
- На период синхронизации скрываются badge'ы непрочитанного и requests, чтобы список не "прыгал"
|
||||
QR-коды и шеринг
|
||||
- Новый экран QR-кода профиля в стиле Telegram (обои, цветной QR, логотип Rosetta по центру)
|
||||
- 6 тем оформления (3 тёмных + 3 светлых) с circular reveal анимацией при смене
|
||||
- Кнопка смены темы приложения прямо с экрана QR (sun/moon)
|
||||
- QR-сканер через камеру (CameraX + ML Kit) — распознаёт профили и группы
|
||||
- Кнопки Share и Copy Link для шеринга профиля
|
||||
- Deep link поддержка: rosetta:// и https://rosetta.im
|
||||
- Scan QR в боковом меню
|
||||
|
||||
Медиа и вложения
|
||||
- Исправлен кейс, когда фото уже отправлено, но локально оставалось в ERROR с красным индикатором
|
||||
- Для исходящих медиа стабилизирован переход статусов: после успешной отправки фиксируется SENT без ложного timeout->ERROR
|
||||
- Таймаут/ретрай WAITING из БД больше не портит медиа-вложения (применяется только к обычным текстовым ожиданиям)
|
||||
- Для legacy/неподдерживаемых attachment добавлен desktop-style fallback:
|
||||
"This attachment is no longer available because it was sent for a previous version of the app."
|
||||
Группы
|
||||
- Telegram-style выбор участников при создании группы (поиск, чекмарки, чипы)
|
||||
- Автоматическая отправка приглашений выбранным участникам после создания
|
||||
|
||||
Группы и UI
|
||||
- Исправлена геометрия входящих фото в группах: пузырь больше не прилипает к аватарке
|
||||
Forward сообщений
|
||||
- Полностью переработан: убран ре-аплоад картинок на CDN (Desktop/iOS parity)
|
||||
- Добавлен chacha_key_plain для кросс-платформенной совместимости шифрования
|
||||
- Forward bubble подстраивается под размер контента (фотки, текста)
|
||||
- Длинные имена обрезаются "Forwarded from Alex M..." вместо растяжения пузыря
|
||||
- Исправлена отправка forward — сообщения теперь реально доставляются
|
||||
|
||||
Звонки
|
||||
- Анимированный градиентный фон при звонке (3 blob-а, как в iOS)
|
||||
- Аватарки в уведомлениях звонков и на экране входящего
|
||||
- Кнопка Call на экране чужого профиля
|
||||
- Мгновенное сообщение "Missed call" / "Rejected call" для обеих сторон
|
||||
|
||||
Доставка сообщений
|
||||
- Исправлен баг когда галочки доставки не появлялись (DELIVERED → SENT откат)
|
||||
- Статус доставки теперь монотонный: SENDING → SENT → DELIVERED → READ
|
||||
|
||||
Просмотр фото
|
||||
- Исправлен "Failed to load image" в полноэкранном просмотре (fallback на transportTag)
|
||||
- Глобальный ImageBitmapCache доступен в viewer
|
||||
- Исправлена расшифровка фото в reply (chachaKey оригинального сообщения)
|
||||
- Листание предыдущих аватарок пользователя (как на Desktop)
|
||||
|
||||
Онбординг
|
||||
- Новый экран установки профиля (имя + username + аватар) после регистрации
|
||||
- Отдельный экран биометрии с красивым UI
|
||||
- Проверка доступности username в реальном времени
|
||||
- Биометрия теперь привязана к аккаунту (per-account)
|
||||
- Убран экран подтверждения seed phrase
|
||||
- Экран пароля переработан (Telegram-style, без дёрганья)
|
||||
|
||||
UI улучшения
|
||||
- Подсказка эмодзи в стиле Telegram (floating карточка, press-эффект)
|
||||
- Аватарки в результатах поиска
|
||||
- Унифицированы иконки навигации (ChevronLeft) по всему приложению
|
||||
- Статус-бар: чёрные иконки на белом фоне, восстановление при уходе с экрана
|
||||
- Плавная анимация navbar при смене темы
|
||||
- Клавиатура прячется при скролле профиля и навигации между экранами
|
||||
- Emoji-safe обрезка текста в reply-превью
|
||||
- Сепараторы участников в группах
|
||||
- Исправлены дубли дат в чате
|
||||
|
||||
Уведомления
|
||||
- Исправлено декодирование аватарки в push-уведомлениях (base64 prefix)
|
||||
""".trimIndent()
|
||||
|
||||
fun getNotice(version: String): String =
|
||||
|
||||
Reference in New Issue
Block a user