RocketChat / RocketChat/Rocket.Chat.ReactNative

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

Open
#6,783 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

🐛 bug Tasked
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.