mautrix / meta

A Matrix-Facebook Messenger and Instagram DM puppeting bridge.
GNU Affero General Public License v3.0
146 stars 11 forks source link

Media sent to Messenger over WhatsApp can't be viewed on Messenger #42

Open Virkkunen opened 5 months ago

Virkkunen commented 5 months ago

Media sent to Messenger over WhatsApp can't be viewed on Messenger, where pictures display as a blank message and when tapped a toast appear saying "Couldn't load high-resolution image" and videos are just an empty spot that can't be interacted with. The issue happens both on a self hosted instance running mautrix-meta v0.2.0+dev.fc1de15f (Mar 18 2024, 21:32:15) on Facebook mode and a secret chat, and via Beeper. Media is viewable without issues over Element Web, Element X and the new Beeper client, but not on the Messenger app.

Source for an image:

{
  "type": "m.room.message",
  "room_id": "!exwpRQianGBrZdaKqY:vrkknn.net",
  "sender": "@vrkknn:vrkknn.net",
  "content": {
    "body": "image.png",
    "info": {
      "size": 43972,
      "mimetype": "image/png",
      "w": 726,
      "h": 327,
      "xyz.amorgan.blurhash": "L24_-B%NMas7.A%N%2xaxFxu%Oxa"
    },
    "msgtype": "m.image",
    "m.mentions": {},
    "url": "mxc://vrkknn.net/iVcgxfSALekvxQsdjcihjQdt"
  },
  "origin_server_ts": 1710863079352,
  "unsigned": {
    "age": 7055875,
    "transaction_id": "m1710863081720.9"
  },
  "event_id": "$FK-e--g2Hm87rwzRQJZyT9CzbiKLFMYcVVVjyNCpNOo",
  "user_id": "@vrkknn:vrkknn.net",
  "age": 7055875
}

Source for a video:

{
  "type": "m.room.message",
  "room_id": "!exwpRQianGBrZdaKqY:vrkknn.net",
  "sender": "@vrkknn:vrkknn.net",
  "content": {
    "body": "video.mp4",
    "fi.mau.double_puppet_source": "mautrix-meta",
    "info": {
      "mimetype": "video/mp4",
      "size": 4229418
    },
    "m.mentions": {},
    "msgtype": "m.video",
    "url": "mxc://vrkknn.net/HFoXnlQmVjwfocNklUZhepSh"
  },
  "origin_server_ts": 1710757134911,
  "unsigned": {
    "age": 113468464
  },
  "event_id": "$poHEXAC4mnnUe4RniotAG0Vx9QLCtv-PhwmvPxKeBvE",
  "user_id": "@vrkknn:vrkknn.net",
  "age": 113455542
}

tempFileForShare_20240319-183517 tempFileForShare_20240319-183613 tempFileForShare_20240319-183652

Virkkunen commented 5 months ago

Apparently the issue with videos happen when sharing from the media picker, but not when recording straight from the app (Element X in this case) This is a video recorded from the app:

{
  "type": "m.room.message",
  "sender": "@vrkknn:vrkknn.net",
  "content": {
    "body": "20240319_185502.mp4",
    "info": {
      "duration": 4020,
      "h": 2160,
      "mimetype": "video/mp4",
      "size": 48375680,
      "thumbnail_info": {
        "h": 3840,
        "mimetype": "image/jpeg",
        "size": 504643,
        "w": 2160
      },
      "thumbnail_url": "mxc://vrkknn.net/ZMXFJyPTTDWnsqzDzaGhafSQ",
      "w": 3840,
      "xyz.amorgan.blurhash": "K1Bc+:SBJL2}w]S52#JfSh"
    },
    "msgtype": "m.video",
    "url": "mxc://vrkknn.net/fTxzZhNjfmrhvNaIPddWyDqw"
  },
  "origin_server_ts": 1710870933461,
  "unsigned": {
    "age": 58
  },
  "event_id": "$uyW38NCX4osKPY2J-03iQgbKKdypQFXywvgw5g2WpxU",
  "room_id": "!exwpRQianGBrZdaKqY:vrkknn.net"
}

And this is one shared from the picker:

{
  "type": "m.room.message",
  "sender": "@vrkknn:vrkknn.net",
  "content": {
    "body": "video.mp4",
    "fi.mau.double_puppet_source": "mautrix-meta",
    "info": {
      "mimetype": "video/mp4",
      "size": 1154677
    },
    "m.mentions": {},
    "msgtype": "m.video",
    "url": "mxc://vrkknn.net/FSlesxHrvlLXzNuYhUhGYlsy"
  },
  "origin_server_ts": 1710870970021,
  "unsigned": {
    "age": 60
  },
  "event_id": "$Xo8Y-HOXIusOkzU-BuMUmjYCm3BBFiOLkWkSRMGnljM",
  "room_id": "!exwpRQianGBrZdaKqY:vrkknn.net"
}
Virkkunen commented 5 months ago

It seems this is happening at random, some times sending any media (images, videos) over Element Web, Element X or Beeper will work just fine on Messenger, other times I cannot view them on Messenger. Here's an image that was sent via Beeper (the new app) to a secret conversation on Messenger that was unable to be displayed:

{
  "type": "m.room.message",
  "room_id": "!exwpRQianGBrZdaKqY:vrkknn.net",
  "sender": "@vrkknn:vrkknn.net",
  "content": {
    "body": "image.jpg",
    "fi.mau.double_puppet_source": "mautrix-meta",
    "info": {
      "h": 1367,
      "mimetype": "image/jpeg",
      "size": 1831797,
      "w": 720
    },
    "m.mentions": {},
    "msgtype": "m.image",
    "url": "mxc://vrkknn.net/BHsDgjNOTrjVIUClUoZkgUcp"
  },
  "origin_server_ts": 1711007506668,
  "unsigned": {
    "age": 4810493
  },
  "event_id": "$LqaX9yLPcWC5_dCZ5TIhzU1t93vyOXJjTF-XlbVwtMQ",
  "user_id": "@vrkknn:vrkknn.net",
  "age": 4810367
}

And here's the same image, sent over Messenger:

{
  "type": "m.room.message",
  "sender": "@vrkknn:vrkknn.net",
  "content": {
    "body": "image.jpg",
    "fi.mau.double_puppet_source": "mautrix-meta",
    "info": {
      "h": 1367,
      "mimetype": "image/jpeg",
      "size": 100071,
      "w": 720
    },
    "m.mentions": {},
    "msgtype": "m.image",
    "url": "mxc://vrkknn.net/CFQxuXaQZrQRnoZIHwiUoKXC"
  },
  "origin_server_ts": 1711012257530,
  "unsigned": {
    "age": 54
  },
  "event_id": "$6ue0aUxeyd9IkY4tKjpKWaWwardEKTDKHUWqlchrKKo",
  "room_id": "!exwpRQianGBrZdaKqY:vrkknn.net"
}

image00 image01

Virkkunen commented 4 months ago

According to Beeper's changelog,

Images would not render in Messenger due to missing width/height metadata

Could this be the issue in here? I have noticed some failed images do not have such info when inspecting the source