From 66cc21fc29c9aafec74ee7d17a278f4a917f337f Mon Sep 17 00:00:00 2001 From: k1ngsterr1 Date: Wed, 8 Apr 2026 23:36:51 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=BB=D0=B8=D0=B7=201.4.9:=20QR-?= =?UTF-8?q?=D0=BA=D0=BE=D0=B4=D1=8B,=20forward=20parity,=20=D0=B7=D0=B2?= =?UTF-8?q?=D0=BE=D0=BD=D0=BA=D0=B8,=20=D0=BE=D0=BD=D0=B1=D0=BE=D1=80?= =?UTF-8?q?=D0=B4=D0=B8=D0=BD=D0=B3,=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- app/build.gradle.kts | 4 +- .../rosetta/messenger/data/ReleaseNotes.kt | 66 +++++++++++++++---- 2 files changed, 57 insertions(+), 13 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 8bcae18..d2916c6 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -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 { diff --git a/app/src/main/java/com/rosetta/messenger/data/ReleaseNotes.kt b/app/src/main/java/com/rosetta/messenger/data/ReleaseNotes.kt index a105bc9..42fce44 100644 --- a/app/src/main/java/com/rosetta/messenger/data/ReleaseNotes.kt +++ b/app/src/main/java/com/rosetta/messenger/data/ReleaseNotes.kt @@ -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 =