signalapp / Signal-Desktop

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

7.3 and later: Unable to attach files #6957

Closed flexibeast closed 3 months ago

flexibeast commented 3 months ago

Using a supported version?

Overall summary

i'm using Signal Desktop on Gentoo with OpenRC, under the Wayfire compositor, via an ebuild provided by the main gentoo repo, which fetches official releases. Since the 7.3 release, clicking on the 'paperclip' icon does nothing.

Steps to reproduce

  1. Go to any conversation.
  2. Click the 'paperclip' icon.

Expected result

A file dialog should be opened, allowing me to select a file to be attached.

Actual result

No visual indication is given that the click has been received, and no file dialog is opened. No errors or warnings are printed when running from a terminal; the following output is all that was printed during the time when the paperclip icon was clicked:

{"level":30,"time":"2024-08-01T04:23:07.593Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2024-08-01T04:23:07.606Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2024-08-01T04:23:09.097Z","msg":"Updating BrowserWindow config: %s {\"maximized\":true,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":1914,\"height\":982,\"x\":3,\"y\":43}"}
{"level":30,"time":"2024-08-01T04:23:09.098Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2024-08-01T04:23:09.111Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2024-08-01T04:23:11.959Z","msg":"Updating BrowserWindow config: %s {\"maximized\":true,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":1914,\"height\":982,\"x\":-1917,\"y\":43}"}
{"level":30,"time":"2024-08-01T04:23:11.959Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2024-08-01T04:23:11.967Z","msg":"config/set: Saved ephemeral config to disk"}

Screenshots

No response

Signal version

7.18

Operating system

Gentoo Linux

Version of Signal on your phone

7.11.4

Link to debug log

https://debuglogs.org/desktop/7.18.0/aef2ee5e7b42c2eb08f27f25593ea8f61c1379b3bf918041ff25fcd06919e76e.gz

ayumi-signal commented 3 months ago

Thank you for this report! Signal Desktop is running on top of the Electron platform, which provides APIs for most low-level OS interactions that we do in the app. In case of this particular issue, it appears to be an Electron issue and not a bug in our code. For the best chance of getting this fixed, you can help by filing a bug on their project, and consider creating an Electron Fiddle to help Electron maintainers reproduce the issue and increase the chances of the resolution. We appreciate your time and hope to see this issue fixed!

flexibeast commented 3 months ago

Thank you for your reply. However, i find it problematic. Although, as a (FOSS) dev myself, i understand where your ENOTOURPROBLEM response is coming from, and although i'm certainly willing to take this issue to the Electron project:

Even though the issue here is not a bug in the Signal code, and there is thus no Signal code to be fixed, the bug still impacts Signal end-users, in that functionality nominally provided by Signal is not actually working. It therefore feels inappropriate to mark this bug - acknowledged by you as such - as 'closed' simply because it's Somebody Else's Problem to fix. Given the increasing focus on software supply-chain issues, including attacks (such as on the JS ecosystems in particular!), i would hope that the Signal project would want to be actively engaged when there are issues in its supply chain that impact end-users, rather than washing their hands of an issue by marking it 'closed'. It's not 'closed' from an end-user point-of-view.

flexibeast commented 3 months ago

My apologies for the long delay in responding; i've been overwhelmed by personal matters (including chronic health issues).

Thank you for re-opening the issue as "Upstream Change Needed".

In my previous post, i noted:

the Electron issue tracker says i need to provide the version(s) of Electron [but] i have no idea how to ascertain how to determine which version of Electron you vendored with the relevant Signal versions. Nor do i have any idea of which specific part of the Signal code base uses which specific part of the Electron code base in order to futz around with Electron Fiddle.

Could you please provide that information so that i can open an issue on the Electron issue tracker?

jamiebuilds-signal commented 3 months ago

It's usually best to try and reproduce things on the latest version of Electron, we try to keep it updated in Signal.

It likely has something to do with the dialog.showOpenDialog on your particular OS: https://www.electronjs.org/docs/latest/api/dialog#dialogshowopendialogbrowserwindow-options

Otherwise, we don't offer support for Gentoo Linux, so it is correct that this issue should be closed unless the bug can be reproduced on an OS that we do support.

flexibeast commented 3 months ago

Okay, i'll test with the latest version of Electron.

Given what you've written, i'd like to suggest that Signal explicitly state that only Debian-based Linux distros are supported, rather than claiming that 'Linux' in a generic sense is supported. The "About" blurb for this repo currently says:

A private messenger for Windows, macOS, and Linux.

The opening sentence of the README says:

Signal Desktop links with Signal on Android or iOS and lets you message from your Windows, macOS, and Linux computers.

And the download button on the general Download page has the label "Download for Linux".

The 'download/linux' page certainly does say:

Signal for Debian-based Distros

# NOTE: These instructions only work for 64-bit Debian-based # Linux distributions such as Ubuntu, Mint etc."

But to me, this only suggests the instructions only being applicable to 64-bit Debian-based distros, not that there is no support for any non-Debian distros - including Fedora-based distros such as RHEL, Oracle Linux and Rocky Linux, as well as Arch and Arch-based distros such as EndeavourOS and Manjaro.

On a more general note, Signal is leaving an increasingly sour taste in my mouth. Earlier this week i suggested to someone that they set up Signal, which they did, on their Android phone - only to find that they couldn't link their only non-phone computing device, an Android tablet which they use extensively. Some research turned up this comment on r/signal from seven months ago regarding the on-again off-again situation in this regard, despite this functionality apparently being currently available in Molly. i accept that being a Gentoo user puts me on the margins of the margins of your overall user base, but surely Android is not marginal; and i find it .... odd, at best, that a cryptocurrency wallet has been implemented ahead of support for linking Android devices.

i accept the closure of this ticket, and won't comment here further.