signalapp / Signal-Desktop

A private messenger for Windows, macOS, and Linux.
https://signal.org/download
GNU Affero General Public License v3.0
14.5k stars 2.63k forks source link

SIGNAL desktop App doesn't display/receive pictures #6744

Open sallyarmneale opened 8 months ago

sallyarmneale commented 8 months ago

Using a supported version?

Overall summary

Signal Desktop (windows) is not displaying sent or received images. They display perfectly on the mobile app. On the desktop app they just appear as blurred out images.

Steps to reproduce

  1. Go to any chat
  2. send an image
  3. Image does not appear on Desktop app, is fine on mobile.

Expected result

Sent or received images should display on the Desktop app and should be in sync with the mobile app.

Actual result

Images are not displayed on the Desktop app:

image

Screenshots

No response

Signal version

6.43.1

Operating system

Windows 10 Enterprise, 19044.3803, Windows Feature Experience Pack 1000.19053.1000.0

Version of Signal on your phone

6.54.0.8

Link to debug log

Desktop Log: https://debuglogs.org/desktop/6.43.1/60d559da91d78162fad91bc03df9e28d243dc3c2a74cb4206547e09520d463e5.gz

scottnonnenberg-signal commented 8 months ago

@sallyarmneale Is this a new behavior for you? Has anything changed recently on your computer or your network?

I see this error in your logs, which suggests that it could be something with your firewall or network:

FetchError: request to https://cdn2.signal.org/attachments/GUB7cmDtA98bGuM93NiM failed, reason: unable to get local issuer certificate
sallyarmneale commented 8 months ago

Hi @scottnonnenberg-signal I use a VPN for work, but have never had a problem with sending or receiving images until the end of last week - this is a change in behaviour.

scottnonnenberg-signal commented 8 months ago

@sallyarmneale Does this happen for every attachment that you send or receive? Do things work if you turn off your VPN?

If it happens to all attachments, and it works when the VPN is off, then you'll need to talk to your workplace or VPN provider.

p10n commented 6 months ago

I have a similar problem with the Desktop app on OSX. Images work well on the iOS app. Once I have loaded an image on the iPhone app, then it loads on the desktop app as well if i click on it a second time.

Edit: Actually, for getting the images, it is enough when the Signal app is running on my iPhone and I unlock the iPhone. Then, on the desktop, I just need to click on the blurred image again, and it shows as expected.

(I have to admit my Signal install is via homebrew.)

indutny-signal commented 6 months ago

@p10n Sorry about that. Could you provide debug logs from both your phone/desktop next time this happens? Thanks!

babata31 commented 5 months ago

I have exactly the same problem since the last update of Signal App. I don't use VPN.
And lastly today I am unable to send any messages (they are blocked) if prior I tried to send an image on windows app. Is there any solution?

jamiebuilds-signal commented 5 months ago

@babata31 Could you retry it then provide debuglogs from both your phone and desktop devices?

https://support.signal.org/hc/en-us/articles/360007318591-Debug-Logs-and-Crash-Reports

jestranho commented 4 months ago

app.log

I'm having the same issue, it started yesterday when I tried to send a link to a video, and it is continuing today when trying to send images. It works to send from my phone, but not from my desktop.

Here are the logs from when I tried to download the image on my desktop app (full logs attached):

{"level":30,"time":"2024-05-10T17:44:05.243Z","msg":"NotificationService: clearing notification and requesting an update"}
{"level":30,"time":"2024-05-10T17:44:05.247Z","msg":"markConversationRead([REDACTED]d3a ([REDACTED]f76)) {\"newestSentAt\":1715361714926,\"newestUnreadAt\":1714177280187,\"unreadMessages\":0,\"unreadReactions\":0}"}
{"level":30,"time":"2024-05-10T17:44:05.345Z","msg":"queueAttachmentDownloads([REDACTED]1f0.1 1715361714926}): Queueing 1 attachment downloads"}
{"level":30,"time":"2024-05-10T17:44:05.345Z","msg":"queueAttachmentDownloads([REDACTED]1f0.1 1715361714926}): Queueing 1 normal attachment downloads"}
{"level":30,"time":"2024-05-10T17:44:05.348Z","msg":"AttachmentDownloadManager/addJob(1715361714926.attachment.[REDACTED]VE=): starting job immediately"}
{"level":30,"time":"2024-05-10T17:44:05.348Z","msg":"AttachmentDownloadManager/startJob(1715361714926.attachment.[REDACTED]VE=): starting job"}
{"level":30,"time":"2024-05-10T17:44:05.348Z","msg":"queueAttachmentDownloads([REDACTED]1f0.1 1715361714926}): Queued 1 total attachment downloads"}
{"level":30,"time":"2024-05-10T17:44:05.355Z","msg":"AttachmentDownloadManager/runDownloadAttachmentJob/1715361714926.attachment.[REDACTED]VE=: Starting job"}
{"level":30,"time":"2024-05-10T17:44:05.355Z","msg":"AttachmentDownloadManager/runDownloadJobInner(1715361714926.attachment.[REDACTED]VE=): starting"}
{"level":30,"time":"2024-05-10T17:44:05.355Z","msg":"GET (REST) https://cdn2.signal.org/attachments/[REDACTED]fkw"}
{"level":30,"time":"2024-05-10T17:44:05.355Z","msg":"Cycling agent for type undefined-auth"}
{"level":50,"time":"2024-05-10T17:44:05.952Z","msg":"GET (REST) https://cdn2.signal.org/attachments/[REDACTED]fkw 0 Error"}
{"level":30,"time":"2024-05-10T17:44:06.253Z","msg":"show window"}
{"level":30,"time":"2024-05-10T17:44:06.253Z","msg":"NotificationService not updating notifications. Notifications are enabled; app is focused; there is no notification data"}
{"level":30,"time":"2024-05-10T17:44:06.370Z","msg":"checkExpiringMessages: checking for expiring messages"}
{"level":30,"time":"2024-05-10T17:44:06.374Z","msg":"checkExpiringMessages: found no messages to expire"}
{"level":30,"time":"2024-05-10T17:44:06.954Z","msg":"GET (REST) https://cdn2.signal.org/attachments/[REDACTED]fkw"}
{"level":50,"time":"2024-05-10T17:44:07.483Z","msg":"GET (REST) https://cdn2.signal.org/attachments/[REDACTED]fkw 0 Error"}
{"level":30,"time":"2024-05-10T17:44:08.487Z","msg":"GET (REST) https://cdn2.signal.org/attachments/[REDACTED]fkw"}
{"level":50,"time":"2024-05-10T17:44:09.021Z","msg":"GET (REST) https://cdn2.signal.org/attachments/[REDACTED]fkw 0 Error"}
{"level":50,"time":"2024-05-10T17:44:09.023Z","msg":"AttachmentDownloadManager/runDownloadAttachmentJob/1715361714926.attachment.[REDACTED]VE=: Failed to download attachment, attempt 0: HTTPError: promiseAjax catch; code: 0\n    at makeHTTPError ([REDACTED]\\resources\\app.asar\\preload.bundle.js:90:951)\n    at _promiseAjax ([REDACTED]\\resources\\app.asar\\preload.bundle.js:90:19)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async _retryAjax ([REDACTED]\\resources\\app.asar\\preload.bundle.js:90:696)\n    at async Object.oy [as getAttachmentV2] ([REDACTED]\\resources\\app.asar\\preload.bundle.js:91:1830)\n    at async downloadAttachmentV2 ([REDACTED]\\resources\\app.asar\\preload.bundle.js:91:444624)\n    at async downloadAttachment ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:177007)\n    at async runDownloadAttachmentJobInner ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:181001)\n    at async KC.runDownloadAttachmentJob [as runJob] ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:179910)\n    at async KC.startJob ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:184742)\nOriginal stack:\nFetchError: request to https://cdn2.signal.org/attachments/lNoNLRoPx5ZZX84x7fkw failed, reason: read ECONNRESET\n    at ClientRequest.<anonymous> ([REDACTED]\\resources\\app.asar\\node_modules\\node-fetch\\lib\\index.js:1503:11)\n    at ClientRequest.emit (node:events:514:28)\n    at _destroy (node:_http_client:875:13)\n    at onSocketNT (node:_http_client:895:5)\n    at process.processTicksAndRejections (node:internal/process/task_queues:83:21)\nInitial stack:\nError\n    at _outerAjax ([REDACTED]\\resources\\app.asar\\preload.bundle.js:90:867)\n    at Object.oy [as getAttachmentV2] ([REDACTED]\\resources\\app.asar\\preload.bundle.js:91:1836)\n    at downloadAttachmentV2 ([REDACTED]\\resources\\app.asar\\preload.bundle.js:91:444632)\n    at downloadAttachment ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:177013)\n    at runDownloadAttachmentJobInner ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:181007)\n    at async KC.runDownloadAttachmentJob [as runJob] ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:179910)\n    at async KC.startJob ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:184742)\nCaused by: undefined"}
{"level":30,"time":"2024-05-10T17:44:09.040Z","msg":"AttachmentDownloadManager/startJob(1715361714926.attachment.[REDACTED]VE=): job completed with status: retry"}
{"level":30,"time":"2024-05-10T17:44:09.044Z","msg":"AttachmentDownloadManager/startJob(1715361714926.attachment.[REDACTED]VE=): starting job"}
{"level":30,"time":"2024-05-10T17:44:09.048Z","msg":"AttachmentDownloadManager/runDownloadAttachmentJob/1715361714926.attachment.[REDACTED]VE=: Starting job"}
{"level":30,"time":"2024-05-10T17:44:09.048Z","msg":"AttachmentDownloadManager/runDownloadJobInner(1715361714926.attachment.[REDACTED]VE=): starting"}
{"level":30,"time":"2024-05-10T17:44:09.048Z","msg":"GET (REST) https://cdn2.signal.org/attachments/[REDACTED]fkw"}
{"level":50,"time":"2024-05-10T17:44:09.571Z","msg":"GET (REST) https://cdn2.signal.org/attachments/[REDACTED]fkw 0 Error"}
{"level":30,"time":"2024-05-10T17:44:10.053Z","msg":"checkExpiringMessages: checking for expiring messages"}
{"level":30,"time":"2024-05-10T17:44:10.057Z","msg":"checkExpiringMessages: found no messages to expire"}
{"level":30,"time":"2024-05-10T17:44:10.587Z","msg":"GET (REST) https://cdn2.signal.org/attachments/[REDACTED]fkw"}
{"level":50,"time":"2024-05-10T17:44:11.119Z","msg":"GET (REST) https://cdn2.signal.org/attachments/[REDACTED]fkw 0 Error"}
{"level":30,"time":"2024-05-10T17:44:12.120Z","msg":"GET (REST) https://cdn2.signal.org/attachments/[REDACTED]fkw"}
{"level":50,"time":"2024-05-10T17:44:12.655Z","msg":"GET (REST) https://cdn2.signal.org/attachments/[REDACTED]fkw 0 Error"}
{"level":50,"time":"2024-05-10T17:44:12.656Z","msg":"AttachmentDownloadManager/runDownloadAttachmentJob/1715361714926.attachment.[REDACTED]VE=: Failed to download attachment, attempt 1: HTTPError: promiseAjax catch; code: 0\n    at makeHTTPError ([REDACTED]\\resources\\app.asar\\preload.bundle.js:90:951)\n    at _promiseAjax ([REDACTED]\\resources\\app.asar\\preload.bundle.js:90:19)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async _retryAjax ([REDACTED]\\resources\\app.asar\\preload.bundle.js:90:696)\n    at async Object.oy [as getAttachmentV2] ([REDACTED]\\resources\\app.asar\\preload.bundle.js:91:1830)\n    at async downloadAttachmentV2 ([REDACTED]\\resources\\app.asar\\preload.bundle.js:91:444624)\n    at async downloadAttachment ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:177007)\n    at async runDownloadAttachmentJobInner ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:181001)\n    at async KC.runDownloadAttachmentJob [as runJob] ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:179910)\n    at async KC.startJob ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:184742)\nOriginal stack:\nFetchError: request to https://cdn2.signal.org/attachments/lNoNLRoPx5ZZX84x7fkw failed, reason: read ECONNRESET\n    at ClientRequest.<anonymous> ([REDACTED]\\resources\\app.asar\\node_modules\\node-fetch\\lib\\index.js:1503:11)\n    at ClientRequest.emit (node:events:514:28)\n    at _destroy (node:_http_client:875:13)\n    at onSocketNT (node:_http_client:895:5)\n    at process.processTicksAndRejections (node:internal/process/task_queues:83:21)\nInitial stack:\nError\n    at _outerAjax ([REDACTED]\\resources\\app.asar\\preload.bundle.js:90:867)\n    at Object.oy [as getAttachmentV2] ([REDACTED]\\resources\\app.asar\\preload.bundle.js:91:1836)\n    at downloadAttachmentV2 ([REDACTED]\\resources\\app.asar\\preload.bundle.js:91:444632)\n    at downloadAttachment ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:177013)\n    at runDownloadAttachmentJobInner ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:181007)\n    at async KC.runDownloadAttachmentJob [as runJob] ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:179910)\n    at async KC.startJob ([REDACTED]\\resources\\app.asar\\preload.bundle.js:103:184742)\nCaused by: undefined"}
{"level":30,"time":"2024-05-10T17:44:12.672Z","msg":"AttachmentDownloadManager/startJob(1715361714926.attachment.[REDACTED]VE=): job completed with status: retry"}
{"level":30,"time":"2024-05-10T17:44:13.675Z","msg":"checkExpiringMessages: checking for expiring messages"}
{"level":30,"time":"2024-05-10T17:44:13.676Z","msg":"checkExpiringMessages: found no messages to expire"}
trevor-signal commented 4 months ago

@jestranho your log suggests that your connection with our CDN was being closed unexpectedly... does this happen with every attachment you're trying to download / upload or just with certain ones? Is there any pattern about the problematic attachments (e.g. size) that you can notice?

jestranho commented 4 months ago

@trevor-signal, this is happening with every image/video I've tried to either send or receive. I haven't tried other file types. Size doesn't seem to matter, I just tried to send a 67kb image and it is doing the same thing. One thing I have noticed is that this appears to only be an issue when I'm on my work network. I'm not sure how my work network would know what I'm sending via Signal though since messages go through without a problem. It had also worked on Thursday morning, but wasn't working Thursday afternoon.

trevor-signal commented 4 months ago

@trevor-signal, this is happening with every image/video I've tried to either send or receive. I haven't tried other file types. Size doesn't seem to matter, I just tried to send a 67kb image and it is doing the same thing. One thing I have noticed is that this appears to only be an issue when I'm on my work network. I'm not sure how my work network would know what I'm sending via Signal though since messages go through without a problem. It had also worked on Thursday morning, but wasn't working Thursday afternoon.

@jestranho attachments are uploaded/downloaded to/from cdn[2|3].signal.org , whereas messages are sent via chat.signal.org, so it sounds pretty likely that your work network might be blocking the CDN traffic somehow.

trevor-signal commented 4 months ago

Closing this issue as it appears to be network-related.

sallyarmneale commented 4 months ago

@sallyarmneale Does this happen for every attachment that you send or receive? Do things work if you turn off your VPN?

If it happens to all attachments, and it works when the VPN is off, then you'll need to talk to your workplace or VPN provider.

This behaviour also occurs when I am not connected to a VPN, for example when sending a message which contains a URL. Fine on my phone (on same network).

trevor-signal commented 4 months ago

@sallyarmneale can you share update debug logs? We've updated a number of things since this issue was created. Thanks!

sallyarmneale commented 4 months ago

Hi Trevor - here are some updated logs: https://debuglogs.org/desktop/7.8.0/036c19ab35c5a965fd9385bc7dfb6c5f7c4d2629b9351c40049fb0e2ae3a8848.gz

sallyarmneale commented 4 months ago

and phone log is here https://debuglogs.org/ios/7.8.0/e5d2493918b95063de5e6937be6785c1bc2faa84034224828503b3477f549d72.zip

trevor-signal commented 4 months ago

https://debuglogs.org/ios/7.8.0/e5d2493918b95063de5e6937be6785c1bc2faa84034224828503b3477f549d72.zip

We're still seeing the unable to get local issuer certificate error in your logs, which would likely indicate something awry with your network setup or (since your phone works fine on it) perhaps something wrong with the local CA certificate store on your machine.

p10n commented 3 months ago

It seems to be a firewall thing, but I do not understand it. It happens when I am behind a firewall with SSL deep inspection, despite that there is an exception for *.signal.org.

When I bypass all SSL inspection by another policy, the image loaded instantly (without even clicking it).

In the firewall logs, I only see 4 new log entries via the bypass policy. They went out to: ws.gleap.io dgw.c10r.facebook.com ec2-3-65-55-150.eu-central-1.compute.amazonaws.com i.pki.goog

This does not make sense to me. (Or could it be that Signal is using gleap or some other service e.g. for bug-reporting, and depending on a request for that?)

trevor-signal commented 3 months ago

It seems to be a firewall thing, but I do not understand it. It happens when I am behind a firewall with SSL deep inspection, despite that there is an exception for *.signal.org.

When I bypass all SSL inspection by another policy, the image loaded instantly (without even clicking it).

In the firewall logs, I only see 4 new log entries via the bypass policy. They went out to: ws.gleap.io dgw.c10r.facebook.com ec2-3-65-55-150.eu-central-1.compute.amazonaws.com i.pki.goog

This does not make sense to me. (Or could it be that Signal is using gleap or some other service e.g. for bug-reporting, and depending on a request for that?)

@p10n can you share debug logs? Attachment downloads only require a request to our CDN at cdn.signal.org.

err4nt commented 3 months ago

My debug log is attached. Relevant error seems to be ERROR 2024-05-17T00:51:15.185Z AttachmentDownloadManager/runDownloadAttachmentJob/1715651782581.attachment.[REDACTED]ac=: Failed to download attachment, attempt 1: Error: EFAULT: bad address in system call argument, write

I'm running on aarch64 linux (both arch and debian systems have this problem) via the snap package.

debuglog.txt

EDIT: also, highly doubt this is a network problem. My phone on the same network can see images. My husband's computer on the same network running signal-desktop on windows can see images. No VPN in use. I can ping cdn2.signal.org just fine.

ayumi-signal commented 3 months ago

@err4nt Sorry this happening. We don't fully support the community snap but we can try to help with debugging. Is this a recent bug and have attachments worked previously? and if you're able to run the .deb on debian do attachments work there?

err4nt commented 3 months ago

EDIT: forgot to answer questions. Yes, images worked in 7.1.1 before I upgraded to 7.8.0 (and now 7.9.0)

Signal doesn't officlally publish a .deb for aarch64, but I did find a deb of 7.9.0 available on pi-apps. Same problem, same error, debug log attached.

ERROR 2024-05-17T19:09:43.726Z AttachmentDownloadManager/runDownloadAttachmentJob/1715972969655.attachment.[REDACTED]KU=: Failed to download attachment, attempt 0: Error: EFAULT: bad address in system call argument, write

debuglog_deb.txt

ayumi-signal commented 3 months ago

@err4nt thank you for the additional testing and debugging info!

err4nt commented 3 months ago

@err4nt thank you for the additional testing and debugging info!

Of course, anything I can do to get this fixed. I live pretty far from my family and this is the only way I really have to talk to them.

Botspot commented 3 months ago

Same issue here. Cannot send attachments either

scottnonnenberg-signal commented 2 months ago

For anyone experiencing this, please consider providing your debug log here (View -> Debug Log) after you've had trouble with attachments. Thanks!

Botspot commented 2 months ago

debuglog.txt