Photos sent at poor quality even with HD quality set to on, no metadata retained
- [x] I have searched open and closed issues for duplicates
- [x] I am submitting a bug report for existing functionality that does not work as intended
- [x] This isn't a feature request or a discussion topic
Bug description
Photos sent using HD quality are still highly compressed, and the photos received are much darker than the originals for some reason. In addition all exif data is stripped.
Steps to reproduce
-Set media settings to high quality -Send a photo using either the photos picker, or even send using the files picker. Can also send to yourself or from Mac OS and the same result occurs.
**Actual result: A 10MB photo is compressed to less than 2MB and the exif data is stripped. If trying to send the photo as a file the same happens. When trying to send from MacOS, the files received are also much darker for some reason.
Expected result: The HD mode should send the original files and retain all EXIF metadata, as well as file formats. EG if I send a HEIF format file using the file picker it should be received as HEIF not JPEG.
Screenshots
Device info
Device: iPhone 11
iOS version: 18.1.1
Signal version: 7.39
Link to debug log
The high quality mode only increases the quality from standard, it doesn't send the original (like iMessage would). And all EXIF data is stripped for all images (and maybe videos?). Both are for security reasons, as it means they can enforce a single image format on signal and also prevent people from accidentally revealing their location to others
I understand the security perspective, but why not let users decide when they intentionally want to send with the EXIF data intact? The message is encrypted anyway so this shouldn’t be a significant security concern if sent to known parties.
This could also be done with or without preserving the original image quality, so the option to send the original with or without EXIF data would be a good solution. Is there anything preventing this still on signal’s end or is the image quality only due to Apple related limitations?
Lastly, none of the above explains why images sent with the desktop app are darkened in the sending process. Can this be corrected, even independent of the above?
Thanks!
Dealing with this right now. Android is sending much higher quality than iOS even with the setting changed. Even with "High quality" on the iOS devices are sending 360x640 video, while android is doing 720x1280.
As a supplement to the above, it appears that photo file size is limited to approximately 8MB, yet if sending a file much larger files (apparently up to 200MB) can be sent. Sending a photo larger than 8MB as a file to avoid the file size limit also doesn’t work as the file type seems to be detected and the limit stays in place. Why? WhatsApp and other apps are able to make this work as a workaround.
I totally agree with the issue you're describing regarding the photo quality and EXIF data being stripped. It's really frustrating when photos sent with the HD quality setting still get heavily compressed.
In addition to the points you've raised, it would be great if users had the option to choose whether or not to include EXIF metadata when sending images. Sometimes it's useful to keep metadata (e.g. location, camera settings), but other times, users might prefer to send images without it for privacy reasons. Giving us control over this would be a nice feature.
Also, I think it would be really cool if Live Photos could be sent via Signal – with a JPG fallback for compatibility. Currently sending Live Photos seems to be quite a hassle and the fallback would make it smoother for those sending and receiving them.
This is a bit off-topic, but it would also be awesome if photos taken directly within the Signal app could be automatically saved to the Photo app. It would be convenient to have a setting where photos are automatically stored, or even better, where we could have the option to enable this behavior for specific chats or globally. This could help with organization and ease of access.
I Think quality should be improved. Potentially adding a select option when sending a photo or video. A friend sent 3 pages (3x screen in height) and I'm barely able to read it... could be better.
Regarding EXIF ~ it would be insane to be able to enable trust for a contact which will allow EXIF to stay, for example when sharing images with the family
Thanks for all the work on this. I love signal and use it as my main Messager. Keep it up ❤️
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This issue has been closed due to inactivity.
This is quite the dealbreaker honestly. Image quality is the hallmark of a quality messaging app, and may just be enough of a reason to switch back to iMessage for me and my friends. Any image of a monitor has horrible screendoor effect, images of text is often unreadable. If the problem is message history, then simply don't save the highest quality/original version on the server, just let users use the app without NEEDING a fallback channel like iMessage to send images over.
@thefeli73 i'm using Android and I don't really see any difference in images between the original image, standard quality option and high quality option. the only thing that changes is file size. I was using 4K images and even zoomed in to see the pixels.
on the other hand, videos are, indeed, turn out highly compressed. even worse when it comes to video calls.
though maybe it's noticeable only if using some really high quality images. my images were 4 MB size, while yours are 10 MB. I'm really curious how they look
@thefeli73 i'm using Android and I don't really see any difference in images between the original image, standard quality option and high quality option. the only thing that changes is file size. I was using 4K images and even zoomed in to see the pixels.
The file size changes = the image is being compressed, so information is being thrown out without consent. For any dev that might read this: Perhaps someone sends you an image that you later want to edit, and then any loss of information will become very visible, even when you currently don't see a difference with the naked eye. It's very rude to change a users files they're trying to send. Cryptography isn't just about privacy but also integrity, it this breaks file integrity.
on the other hand, videos are, indeed, turn out highly compressed. even worse when it comes to video calls.
Yup. Just let us send the files directly peer to peer.
I mean with videocalls that kind of compression is expected, although FaceTime seems to have figured out how to have good looking videocalls...
though maybe it's noticeable only if using some really high quality images. my images were 4 MB size, while yours are 10 MB. I'm really curious how they look
My images aren't 10MB, ask OP