- Поднята версия приложения до 1.2.0 (versionCode 22)\n- Синхронизированы статусы отправки между чат-листом и диалогом: SENT отображается как часы до delivery, ERROR теперь стабильно приходит в открытый диалог\n- Доработан Telegram-подобный skeleton в диалоге: shimmer, геометрия пузырей, поддержка групповых аватаров\n- Добавлен плавный автоскролл к баннеру подтверждения нового устройства в чат-листе\n- Выровнены verified-галочки с именами в профилях и в сайдбаре\n- Кнопка Copy Seed Phrase в светлой теме приведена к белому тексту\n- Мелкие UI-правки в чате и компонентах ввода/эмодзи
- Фиксированные табы в профиле и группах
- Fast-scroll с датой в медиа-галерее
- Apple Emoji в аватарах и интерфейсе
- Восстановление ключей группы по инвайт-ссылке
- Улучшено отображение аватаров с эмодзи
- Исправлен переход по своему тэгу в группах
- Убрана лишняя подсветка, исправлен fast-scroll overlay
- Версия 1.1.3 → 1.1.4, versionCode 15 → 16
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Поднят versionName до 1.1.3 и versionCode до 15.
- Обновлены release notes под текущий релиз.
- В notes добавлены изменения по reply/mentions в группах, индикаторам чтения и UX-исправлениям.
- Добавлено восстановление локального ключа группы из инвайта при повторном нажатии, даже если на сервере статус уже JOINED.
- В карточке приглашения сначала восстанавливается ключ, затем открывается группа.
- Включено отображение Apple Emoji для названия/описания группы в GroupInfo и в заголовке группы в чате.
- Обновлён превью-заголовок в GroupSetup на Apple Emoji рендер.
Search Screen:
- Complete Search screen with 4 tabs: Chats, Media, Downloads, Files
- Media grid with real image loading from AttachmentFileManager + CDN fallback
- Fullscreen image viewer with swipe navigation from Media tab
- Downloads tab showing files from rosetta_downloads directory
- Files tab showing file attachments from all chats
- Links tab with URL extraction from messages
Group Features:
- Group invite cards redesigned inside chat bubbles with action button
- In-memory cache for group invite info (no loading on re-enter)
- Group members caching with TTL for faster group info loading
- Encryption key screen redesigned (Telegram-style 12x12 identicon)
- Fixed group members online status using PacketOnlineSubscribe/PacketOnlineState
- Emoji picker integration in GroupSetupScreen with proper keyboard handling
Chat & UI:
- Improved message delivery status handling and indicators
- Enhanced camera handling and UI state management
- File download manager with progress tracking
- Download indicator component
- File opening support in OtherProfileScreen (local, downloaded, blob)
- SwipeBack container improvements
- Theme screen and wallpaper selection enhancements
- FAB positioning fixes for keyboard/emoji panel in GroupSetupScreen
- Added support for standalone group invites in MessageBubble component.
- Improved bubble padding and width handling for group invites.
- Refactored MessageBubble to streamline background and border logic.
- Introduced AnimatedDownloadIndicator for a more engaging download experience.
- Created ThemeWallpapers data structure to manage chat wallpapers.
- Implemented WallpaperSelectorRow and WallpaperSelectorItem for theme customization.
- Updated ThemeScreen to allow wallpaper selection and preview.
- Added new drawable resources for download and search icons.
- Added support for group action system messages in MessageBubble.
- Implemented group invite handling with inline cards for joining groups.
- Updated MessageBubble to display group sender labels and admin badges.
- Enhanced image decryption logic for group attachments.
- Modified BlurredAvatarBackground to load system avatars based on public keys.
- Improved SwipeBackContainer with layer management for better swipe effects.
- Updated VerifiedBadge to use dynamic icons based on user verification status.
- Added new drawable resource for admin badge icon.
- Replaced custom fast blur implementation with RenderScript-based Gaussian blur in BlurredAvatarBackground and AppearanceScreen.
- Updated image processing logic to scale down bitmaps before applying blur for efficiency.
- Simplified blur logic by removing unnecessary pixel manipulation methods.
- Enhanced media preview handling in OtherProfileScreen to utilize new Gaussian blur function.
- Improved code readability and maintainability by consolidating blur functionality.
- Introduced a maximum bitmap decode dimension to prevent excessive memory usage.
- Enhanced base64 to bitmap conversion by extracting payload and applying EXIF orientation.
- Improved error handling for image downloads and decoding processes.
- Simplified media picker and chat input components to manage keyboard visibility more effectively.
- Updated color selection grid to adaptively adjust based on available width.
- Added safety checks for notifications and call actions in profile screens.
- Optimized bitmap decoding in uriToBase64Image to handle large images more efficiently.
- Added local account metadata handling in SearchScreen for improved "Saved Messages" search fallback.
- Updated search logic to include username and account name checks when searching for the user.
- Introduced search logging in SearchUsersViewModel for better debugging and tracking of search queries.
- Refactored image download process in AttachmentComponents to include detailed logging for debugging.
- Created AttachmentDownloadDebugLogger to manage and display download logs.
- Improved DeviceVerificationBanner UI for better user engagement during device verification.
- Adjusted OtherProfileScreen layout to enhance information visibility and user interaction.
- Updated network security configuration to include new Let's Encrypt certificate for CDN.
- Created `archive_filled.xml` for filled archive icon.
- Added `bookmark_outlined.xml` for outlined bookmark icon.
- Introduced `day_theme_filled.xml` for day theme icon.
- Added `folder_outlined.xml` for outlined folder icon.
- Created `gear_outlined.xml` for outlined gear icon.
- Introduced `night_mode.xml` for night mode icon.
- Added lazy composition to skip setup until the screen is first opened, reducing allocations.
- Cleaned up code formatting for better readability.
- Enhanced comments for clarity on functionality.
- Streamlined gesture handling logic for swipe detection and animation.