diff --git a/app/src/main/java/com/rosetta/messenger/ui/chats/components/ImageViewerScreen.kt b/app/src/main/java/com/rosetta/messenger/ui/chats/components/ImageViewerScreen.kt index 367c709..225ca0c 100644 --- a/app/src/main/java/com/rosetta/messenger/ui/chats/components/ImageViewerScreen.kt +++ b/app/src/main/java/com/rosetta/messenger/ui/chats/components/ImageViewerScreen.kt @@ -637,7 +637,9 @@ fun ImageViewerScreen( // ═══════════════════════════════════════════════════════════ // 📝 CAPTION BAR - Telegram-style снизу с анимацией // ═══════════════════════════════════════════════════════════ - val currentCaption = currentImage?.caption ?: "" + val rawCaption = currentImage?.caption ?: "" + // Filter out encrypted/garbled captions (base64 strings without spaces) + val currentCaption = if (rawCaption.isNotBlank() && !rawCaption.contains(' ') && rawCaption.length > 40 && rawCaption.matches(Regex("^[A-Za-z0-9+/=:]+$"))) "" else rawCaption if (currentCaption.isNotEmpty()) { AnimatedVisibility( visible = showControls && animationState == 1 && !isClosing, diff --git a/app/src/main/java/com/rosetta/messenger/ui/settings/OtherProfileScreen.kt b/app/src/main/java/com/rosetta/messenger/ui/settings/OtherProfileScreen.kt index f224484..225f2c3 100644 --- a/app/src/main/java/com/rosetta/messenger/ui/settings/OtherProfileScreen.kt +++ b/app/src/main/java/com/rosetta/messenger/ui/settings/OtherProfileScreen.kt @@ -1391,11 +1391,11 @@ private fun extractDownloadTagFromPreview(preview: String): String { private fun decryptStoredMessageText(encryptedText: String, privateKey: String): String { if (encryptedText.isBlank()) return "" - if (privateKey.isBlank()) return encryptedText + if (privateKey.isBlank()) return "" return try { - CryptoManager.decryptWithPassword(encryptedText, privateKey) ?: encryptedText + CryptoManager.decryptWithPassword(encryptedText, privateKey) ?: "" } catch (_: Exception) { - encryptedText + "" } }