RocketChat / RocketChat/Rocket.Chat.ReactNative
bug: Quoting a message with a photo in iOS breaks encryption and stops web clients from loading messages
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.4k
- Forks
- 1.5k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 90
Description
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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue in the iOS client with an encrypted team, a quoted message, and a photo from the phone gallery. Review the related RocketChat/Rocket.Chat.ReactNative#6817 issue for technical details. Done means the quoted photo message remains encrypted and web clients continue loading messages in the channel.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, react-native, typescript
- Domain
- mobile, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100