Enhancement: Implement support for Classified Conversations (Fixes #6414) - #6424
Conversation
b73037c to
775bfa0
Compare
|
Hi @thirumani-vihaan thank you for contributing 👍 . We will review soon |
|
The API was merged, so this can now be properly tested |
|
review is planned for tuesday/wednesday |
Signed-off-by: thirumani-vihaan <arjunthirumani02@gmail.com>
Signed-off-by: thirumani-vihaan <arjunthirumani02@gmail.com>
this is not the live translation that should be disabled Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
rely on actual call system messages in the chatlist instead of lastMessage in conversation (which was errorprone) Assisted-by: Claude Code 2.1.199:claude-sonnet-5 Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
the blinking was too much.. Also extract the string to strings.xml and separate the icon from it Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
4f20f42 to
6de39a4
Compare
|
Thank you for contributing @thirumani-vihaan 👍 |
|
Hello there, We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process. Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6 Thank you for contributing to Nextcloud and we hope to hear from you soon! (If you believe you should not receive this message, you can add yourself to the blocklist.) |
Resolves #6414
This PR implements client-side support for "Classified Conversations", matching the behavior implemented in the Nextcloud backend and web frontend. Classified conversations are highly restricted rooms where data-leaking features are strictly prohibited.
📝 Key Changes:
SpreedFeatures.CLASSIFIED_CONVERSATIONScapability check and bitwise masking (TalkRoom.attributes & 4) through a unifiedConversationUtils.isClassified(...)method.MessageActionsBottomSheet.loadedImagetonullfor classified messages in Jetpack Compose to naturally trigger the server-provided Blurhash fallback, preventing full image downloads.CallActivityto completely disable the call recording button in classified rooms.CLASSIFIEDtoConversationEnums.ObjectTypeand hooked upretentionOfClassifiedRoomto properly display the auto-deletion warning banner.🛡️ Classified conversationbanner to theChatToolbar.🖼️ Screenshots
🚧 TODO
isClassifiedthrough UI state🏁 Checklist
/backport to stable-xx.x🤖 AI (if applicable)