bug: Quoting a message with a photo in iOS breaks encryption and stops web clients from loading messages

Đang mở
#6,783 3 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
ios, react-native, typescript
Lĩnh vực
mobile, security

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện sự cố trong ứng dụng khách iOS với một team được mã hóa, một tin nhắn được trích dẫn và một ảnh từ thư viện trên điện thoại. Xem issue liên quan RocketChat/Rocket.Chat.ReactNative#6817 để biết các chi tiết kỹ thuật. Được xem là hoàn tất khi tin nhắn ảnh được trích dẫn vẫn được mã hóa và các ứng dụng khách web tiếp tục tải tin nhắn trong channel.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

🐛 bug Tasked
Describe the Bug

When you send an image while quoting someone’s message in an encrypted team, the iOS client sends the msg field as plain text (! unencrypted !), likely truncated at the newline character. This causes base64 decoding errors in browsers and prevents web clients from continuing to use the channel. More technical details about this can be found in issue RocketChat/Rocket.Chat.ReactNative#6817. I created two separate issues because the server side requires validation of incoming data, while the iOS application needs a fix for the described bug.

Steps to Reproduce

In the RocketChat iOS client, you need to quote someone’s message and attach a photo from the phone’s gallery as your own text.

Expected Behavior

No response

Actual Behavior

I prepared a short video demonstrating the bug:
https://www.youtube.com/shorts/zdxIQAOWQg8

Rocket.Chat Server Version

7.12.0

// EDIT: after update to 7.12.1 the problem still exists

Rocket.Chat App Version

4.66.1.107672

Device Name

iPhone 17

OS Version

iOS 26.1

Additional Context

No response

Ngôn ngữ chính
TypeScript
Star
2.4k
Fork
1.5k
Merge trung bình
1 ngày 15 giờ
Pull request đã merge (30 ngày)
29

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của RocketChat/Rocket.Chat.ReactNative

Tất cả issue của RocketChat/Rocket.Chat.ReactNative

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.