signalapp / Signal-iOS

A private messenger for iOS.
https://signal.org
GNU Affero General Public License v3.0
10.78k stars 3.02k forks source link

When sharing an image subject to Signal, transparency is not preserved #5666

Open dcormier opened 1 year ago

dcormier commented 1 year ago

Bug description

On iOS 16 and 17, when selecting the subject of a photo with Apple's Photos app (Apple's docs) and sharing it to Signal, it has a white background instead of transparent.

Steps to reproduce

Actual result: The image has a while background in the preview and when received.

Expected result: The image should have a transparent background in the preview and when received. This would match behaviors of other iOS apps. Gmail, Slack, and Facebook Messenger are some 3rd party iOS apps that handle the transparency correctly. The transparency is well supported in first-party iOS apps, like Messenger and Notes.

Screenshots

Device info

Device: iPhone 11 Pro and iPhone 15 Pro

iOS version: iOS 16.7, 17.0.2, but I've seen this since the initial release of iOS 16 when this feature was added.

Signal version: 6.43.0.8

Link to debug log

https://debuglogs.org/ios/6.43.0/8a8bff239cabad9dfd934b01b4c0a10f3f908b02f66584b379ae6e31cec6873a.zip

Additional thought

I just wanted to share one additional thought. I've seen this sort of problem when an image is resized and effort isn't taken to preserve the transparency during the resize. It's something I've done in my own code, and seen in others. Just a suggestion for whoever investigates this. Of course, that's assuming the image isn't transcoded to a format that doesn't support transparency.

Miguel-Signal commented 11 months ago

Hi @dcormier,

I've gone ahead and filed this bug with our engineering team. While our engineers will be working on a fix, I unfortunately can't give out a specific timeline for a resolution. You may see a fix for this bug included in the release notes for future versions of Signal.

Thanks again for your help in reporting this!

scallister commented 5 months ago

This also applies to images with transparency for group chat icons, Signal does new preserve image transparency there either.