- 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.
- Updated RosettaFirebaseMessagingService to use IO dispatcher for blocking calls.
- Enhanced AvatarRepository with LRU caching and improved coroutine handling for avatar loading.
- Implemented timeout for websocket connection in UnlockScreen.
- Added selection mode functionality in ChatsListScreen with haptic feedback and improved UI for chat actions.
- Improved animated dots in AttachmentComponents for a smoother visual effect.
- Refactored image downloading and caching logic in ChatDetailComponents to streamline the process.
- Optimized SwipeBackContainer to simplify gesture handling.
- Adjusted swipe back behavior in OtherProfileScreen based on image viewer state.
- Introduced `BackgroundBlurOption` data class and `BackgroundBlurPresets` object for managing background blur options.
- Created `AppearanceScreen` composable for selecting background colors and gradients, including a live preview of the selected option.
- Updated `OtherProfileScreen` and `ProfileScreen` to accept and utilize `backgroundBlurColorId` for consistent background blur across profiles.
- Enhanced `CollapsingOtherProfileHeader` and `CollapsingProfileHeader` to apply selected background blur options.
- Added AvatarRepository for handling avatar storage, retrieval, and delivery.
- Created AvatarCacheEntity and AvatarDeliveryEntity for database storage.
- Introduced PacketAvatar for P2P avatar transfer between clients.
- Enhanced RosettaDatabase to include avatar-related tables and migration.
- Developed AvatarFileManager for file operations related to avatars.
- Implemented AvatarImage composable for displaying user avatars.
- Updated ProfileScreen to support avatar selection and updating.
- Added functionality for handling incoming avatar packets in ProtocolManager.
- Added reusable UI components for the Chat Detail Screen in ChatDetailComponents.kt, including DateHeader, TypingIndicator, MessageBubble, and more.
- Introduced MessageInputBar in ChatDetailInput.kt to handle message input and emoji picker functionality.
- Created data models for chat messages and replies in ChatDetailModels.kt, including ChatMessage and ReplyData.
- Implemented utility functions for chat details in ChatDetailUtils.kt, such as date formatting and avatar color generation.
- Added password verification logic in MainActivity to decrypt the private key and seed phrase.
- Updated BackupScreen to handle password verification asynchronously using coroutines.
- Improved UI layout for displaying seed phrases in two columns with colored words.
- Added a copy button for the seed phrase with clipboard functionality.
- Introduced a new composable function, WordItem, for better visual representation of seed phrase words.
- Introduced ProfileLogsScreen for displaying logs related to profile operations.
- Enhanced MainScreen to include navigation to the new logs screen.
- Updated ProfileViewModel to manage logs and handle profile save operations.
- Implemented back navigation and log clearing functionality in ProfileLogsScreen.
- Improved SafetyScreen and ThemeScreen with back gesture handling.
- Refactored BackupScreen and OtherProfileScreen for consistency and better UX.
- Adjusted UI elements for better visibility and interaction feedback.
- Updated ChatDetailScreen to pass user data on profile click.
- Added BackupScreen for seed phrase recovery with password verification.
- Introduced OtherProfileScreen for viewing and managing other users' profiles.
- Created SafetyScreen for account security options including backup and deletion.
- Developed ThemeScreen for theme customization with light, dark, and system modes.
- Implemented UpdatesScreen to display app version and check for updates.
- Removed unused navigation item for updates from ProfileScreen.
- Added ProfileScreen.kt for user profile management.
- Updated MainActivity.kt to integrate ProfileScreen and manage navigation states.
- Created documentation for Profile Screen implementation, navigation flow, and testing checklist.
- Removed SettingsScreen.kt as part of the refactor.
- Added helper components for profile display and editing.
- Ensured compliance with Material 3 design principles and dark/light theme support.