signal icon indicating copy to clipboard operation
signal copied to clipboard

Images sent via Matrix not viewable in Signal App

Open jaller94 opened this issue 2 years ago • 4 comments

Images I send to a bridged room are often not visible in my Signal Android App.

Steps to reproduce

  1. Connect the Signal bridge and open a group room.
  2. Send an image from Element Web.

Expected

In the Signal App on Android, the images are visible both as a preview and when clicking on them.

Actual

In the Signal App on Android, the images don't have previews and may not even be visible when clicking on them (which displays them fullscreen).

Screenshot_20211020-154350

Files (please pin if you want to keep them after 2022-01-01)

https://gateway.pinata.cloud/ipfs/Qmeu51MUY5UfY3cPCC7moiMvt5ttFnfxqniqug9uthGQvf

File Description Preview visible Visible after click
IMG_20210926_141515.jpg 3,8 MB JPG photo 4608x3456 no :heavy_check_mark:
Rectangle-mask.png 27 KB PNG 1024x1024 no no
watercooler.jpg 42 KB JPG 851x851 no no

Software

Signal bridge: 0.2.0 Element Web: 1.9.2 Signal on Android 10: 5.24.17

jaller94 avatar Oct 20 '21 14:10 jaller94

I have only noticed this since enabling e2be, though that may be coincidental.

freaktechnik avatar Oct 28 '21 21:10 freaktechnik

example event (decrypted by element web) that has this issue:

{
  "content": {
    "msgtype": "m.image",
    "body": "img_20211212_170044.jpg",
    "filename": "img_20211212_170044.jpg",
    "file": {
      "url": "mxc://humanoids.be/<mid>",
      "mimetype": "image/jpeg",
      "v": "v2",
      "key": {
        "alg": "A256CTR",
        "ext": true,
        "k": "<key>",
        "key_ops": [
          "encrypt",
          "decrypt"
        ],
        "kty": "oct"
      },
      "iv": "<iv>",
      "hashes": {
        "sha256": "<sha256>"
      }
    },
    "info": {
      "mimetype": "image/jpeg",
      "size": 2261375,
      "thumbnail_file": {
        "url": "mxc://humanoids.be/<tid>",
        "mimetype": "image/jpeg",
        "v": "v2",
        "key": {
          "alg": "A256CTR",
          "ext": true,
          "k": "<key>",
          "key_ops": [
            "encrypt",
            "decrypt"
          ],
          "kty": "oct"
        },
        "iv": "<iv>",
        "hashes": {
          "sha256": "<sha256>"
        }
      },
      "thumbnail_info": {
        "mimetype": "image/jpeg",
        "size": 45438,
        "xyz.amorgan.blurhash": "<bh>"
      }
    }
  },
  "type": "m.room.message",
  "room_id": "!<id>:humanoids.be"
}

The event was created by fluffychat and is flawlessly decrypted (including the image) by element web. The original event was encrypted with m.megolm.v1.aes-sha2. I wonder if it might be an issue where the bridge doesn't immediately have the key to decrypt or similar? When I looked at the media handling code a while ago it seemed like that should be properly decrypting the image, since my suspicion was that images were sent encrypted to Signal.

freaktechnik avatar Dec 13 '21 10:12 freaktechnik

@freaktechnik Encrypted files sent by FluffyChat are not spec-compliant, so they'll fail to decrypt.

tulir avatar Dec 24 '21 11:12 tulir

It works fine with the whatsapp bridge though?

freaktechnik avatar Dec 24 '21 12:12 freaktechnik