luminoso / fedora-copr-signal-desktop

https://copr.fedorainfracloud.org/coprs/luminoso/Signal-Desktop/
19 stars 5 forks source link

Tray icon stopped working on Fedora after signal-desktop-1.31.0-5 #2

Closed ykne closed 4 years ago

ykne commented 4 years ago

Has signal-desktop changed tray icon code? However original signal-desktop from on Ubuntu has no problems displaying tray icon. Other desktop applications like Xpad continue showing its icons as usual.

luminoso commented 4 years ago

I did indeed made changes in the code, but nothing related to the tray icon.

ykne commented 4 years ago

I am using GNOME, fresh clean Fedora 31 and 32 default setup in pristine test environment, gnome-shell-extension-topicons-plus package installed for icons to work. signal-desktop.desktop are correct, application behaviour after launch from menu and command line is identical. If signal-desktop-1.31.0-5.fc31.x86_64.rpm is installed in Fedora 32 then tray icon appears. I did not see any tray icon related changes in spec file as well so it must be in signal-desktop code itself between included in 1.31.0-5 and next version rpm package.

luminoso commented 4 years ago

I've tested and I can replicate the issue.

It looks like being tracked by Signal-Desktop team: https://github.com/signalapp/Signal-Desktop/issues/4132

Maybe Signal's change from electron 6.x to 8.x between signal release 1.31.x and 1.33.x may have triggered an electron issue: https://github.com/electron/electron/issues/21445

I don't see anything that I can do in the build process to mitigate the issue

ykne commented 4 years ago

Thank you for providing references. However I am puzzled why tray icon issue is not reproducible in GNOME Ubuntu 18.04 LTS. Signal-desktop is installed according to official instructions. What is present in Ubuntu GNOME which missing in other distributions?

luminoso commented 4 years ago

From what I saw maybe it is libdbusmenu-gtk4. On Fedora the maximum gtk version that I see for libdbusmenu is gtk3

ykne commented 4 years ago

Do you know how to find exact set of changes in signal-desktop code between 1.31.0-5 and next rpm? Only new electron or other code changes?

luminoso commented 4 years ago

A lot of other changes also. Here you can see the changelist and also the code that changed between 1.31.0 and 1.33.4

ykne commented 4 years ago

I wonder if reverting a switch to electron 8 in package.json restores tray icon and does not cause negative effects.

luminoso commented 4 years ago

I patched package.json and did a build with electron 6.1.11

You can download the result here: signal-desktop-1.33.4-1.fc32.x86_64.rpm I didn't test it. If you want to give it a try please report if it works.

ykne commented 4 years ago

Surprisingly, did not help. Apparently the problem is someplace else.

luminoso commented 4 years ago

Hum.. I don't have any more ideas how to solve this in the build-layer. I think for now the best is to wait for the upstream fix, unless you have any other recommendation

luminoso commented 4 years ago

Sorry, I double checked and I didn't correctly patched the spec file to build with electron 6. That last rpm was still built against electron 8.x

Can you please re-test with this one?

signal-desktop-eletron6-1.33.4-1.fc32.x86_64.rpm

ykne commented 4 years ago

Unhandled Promise Rejection: TypeError: Cannot read property 'includes' of undefined at /usr/lib64/signal-desktop/resources/app.asar/app/spell_check.js:12:22 at Array.filter () at getLanguages (/usr/lib64/signal-desktop/resources/app.asar/app/spell_check.js:11:59) at exports.setup (/usr/lib64/signal-desktop/resources/app.asar/app/spell_check.js:28:21) at createWindow (/usr/lib64/signal-desktop/resources/app.asar/main.js:329:3) at async App. (/usr/lib64/signal-desktop/resources/app.asar/main.js:930:3)

luminoso commented 4 years ago

Humm ok. Let's see how upstream progresses then

ykne commented 4 years ago

Tray icon appears to work in recent builds.

luminoso commented 4 years ago

Awesome. So it was indeed an upstream issue. Thank you for letting me know. Closing