signalapp / Signal-Desktop

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

Windows: All button icons are invisible when installed alongside Photoshop 6.0 #4043

Closed michaelcsikos closed 1 year ago

michaelcsikos commented 4 years ago

All buttons and icons are invisible in both light and dark themes in version 1.32.1. I have uninstalled and reinstalled, no change. This is in all conversations and even the close button in Preferences. There are no tool tips so it's impossible to use. There should be tool tips. I have rolled back to 1.29.6.

Now Signal nags me like crazy to install the new one a hundred times per day. How do I disable the automatic updates? It looks like you've disabled the hosts hack.

scottnonnenberg-signal commented 4 years ago

What exactly do you mean by 'buttons and icons are invisible?' Can you provide some screenshots, or describe what you mean more completely?

michaelcsikos commented 4 years ago

The search and menu button images at the top right are invisible, the context buttons for each message are invisible. Literally every image for every button in the whole application is invisible.

Images are visible in Version 1.29.6:

Version 1 29 6

Not visible in Version 1.32.1:

Version 1 32 1

Preferences

Keyboard shortcuts

scottnonnenberg-signal commented 4 years ago

It seems like something perhaps went wrong during setup. What happens if you re-install from https://signal.org/download? Your data will be safe as long as you don't uninstall - a reinstall on top of will not remove data.

michaelcsikos commented 4 years ago

I have reinstalled at least five times.

scottnonnenberg-signal commented 4 years ago

You might try starting Signal.exe from the command line with --disable-gpu or --disable-software-rasterizer - this may tell us that it's some sort of graphics problem on your computer.

What specific version of Windows are you running?

michaelcsikos commented 4 years ago

OK, I tried each arg with 1.32.1, no difference. This PC is running Windows 10 Enterprise LTSB 1607.

The GPUs are:

I have tried closing and reopening on each screen with each arg.

The cmd prompt shows the following:

Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR C:\Users\Michael\AppData\Local\Programs\signal-desktop\resources\app.asar\config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME undefined
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
SIGNAL_ENABLE_HTTP undefined
userData: C:\Users\Michael\AppData\Roaming\Signal
config/get: Successfully read user config file
x-attr dependncy did not load successfully
config/get: Successfully read ephemeral config file
(node:14332) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\Michael\AppData\Local\Temp\b5d1dd1e-70ad-4e42-bc4f-cbb09222d076.tmp.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:14332) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\Michael\AppData\Local\Temp\b5d1dd1e-70ad-4e42-bc4f-cbb09222d076.tmp.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:14332) DeprecationWarning: Passing functions, DOM objects and other non-cloneable JavaScript objects to IPC methods is deprecated and will throw an exception beginning with Electron 9.
(node:14332) DeprecationWarning: Passing functions, DOM objects and other non-cloneable JavaScript objects to IPC methods is deprecated and will throw an exception beginning with Electron 9.
michaelcsikos commented 4 years ago

I installed 1.32.0, and that's where the problem started. So, someone needs to do a Git diff between 1.29.6 and 1.32.0 and work out what broke it. In the meantime, I will stick with 1.29.6 and put up with the constant nagging to install the broken update.

scottnonnenberg-signal commented 4 years ago

The change that likely caused this is the move from Electron 6 to Electron 8, which brings with it many security improvements and fixes. No git diff necessary.

Given that you are the only one who has reported this issue, we're looking for any information you can provide on why your computer might be so unique.

When you open the dev tools (View -> Toggle Developer Tools) are you able to find where the images should be and inspect those elements? Does it look like those files are present on your system, or are then entirely missing? Essentially: is this a rendering problem or a file existence problem?

michaelcsikos commented 4 years ago

The images are all in the application package resources\app.asar, e.g. ../images/icons/v2/add-emoji-outline-24.svg. I extracted the asar and those files do exist in the package. I copied the files into app.asar.unpacked but they still don't display.

thesu1 commented 4 years ago

I have the same issue and am running v 1.3.3.1 on Win 8.1. It's my first install.

No emoji, sticker, recording, or attachment icons. If I hover over the correct area, I can access the functionality though. Also, no "Note to Self" icon. signal compose message

No "x" to close settings: signal settings

No "x" to close keyboard shortcuts: signal keyboard shortcuts

Here's what I see when I inspect element: signal inspect element

When I click on the image link, the file can't be found. signal file not found

Images nowhere in the app.asar or app.asar.unpacked folders.

signal resources

signal file structure

michaelcsikos commented 4 years ago

I'm glad I'm not the only one experiencing this problem. The icons are inside the app.asar file, which is like a compressed folder, that's why Firefox can't see it. There's an asar format plugin for 7-Zip which allows you to extract it. (See here.) The icons do exist in the asar, so I'm quite sure that's not the problem.

If there were tool tips on the invisible buttons it would be so much easier to put up with. Why are there no tool tips?

kenpowers-signal commented 4 years ago

@thesu1 Can you try right-clicking on that URL in the element inspector and then click "Reveal in Sources Panel" on the context menu that comes up?

image

thesu1 commented 4 years ago

@kenpowers-signal I only had "Copy link address" as an option. Not sure what I'm looking for, but I did browse to it in the Sources tab.

2020-04-22 18_17_42-Greenshot

source panel

All the other images look broken.

source panel 2

scottnonnenberg-signal commented 4 years ago

@michaelcsikos @thesu1 When we install Signal Desktop on windows, and when many other people install Signal Desktop on windows, they don't see this. So we're looking for the unique thing about your setup.

Is it something about your display hardware? Or perhaps you're doing something interesting on your filesystem so your AppData directory somehow inaccessible? Anything additional information you can provide would be useful.

thesu1 commented 4 years ago

@scottnonnenberg-signal I can't think of customizations I've done, but here's my setup.

GPU: Intel HD Graphics 4600 Monitor: Dell XPS 2720

2020-04-25 20_00_35-System

Profile photos, including my own, are visible. Perhaps the way the file is referenced makes a difference?

profile pictures

image directories

michaelcsikos commented 4 years ago

Reveal in Sources panel doesn't show up for me, either. My laptop has 6 extra monitors and is running Windows 10 Enterprise 2016 LTSB. Apart from that it should be pretty standard: i7-7700HQ CPU, 32 GB RAM, 64-bit. I listed the GPUs earlier. I don't think there's anything unusual about my %AppData%. The updates work fine which is via the Local app data folder. The message cache works, profile pictures, GIFs, photos and videos display, Preferences, and everything seems fine for me except for the -webkit-mask SVGs.

scottnonnenberg-signal commented 4 years ago

@michaelcsikos @thesu1 One big difference between the broken icons and the attachments which are showing up properly is the location on disk. So let's do a test - what do you see when you start the app? On the loading screen, on the 'Welcome to Signal' screen - do you see the Signal logo?

If that works, it's from the same location as the broken icons.

So that suggests that it's a hardware rendering problem. What happens if you go to Command Prompt and start Signal with these arguments? Signal.exe --disable-gpu --force-cpu-draw?

michaelcsikos commented 4 years ago

I don't see the logo while starting up, even with --disable-gpu --force-cpu-draw. The 3 dots animation displays, though.

scottnonnenberg-signal commented 4 years ago

@michaelcsikos When you start up, it should look like this:

Screen Shot 2020-04-27 at 3 53 06 PM

So we've established that on your windows machine, in particular, we can't extract built-in images from the .asar file. But we can display attachments you receive or send. So it's not graphics; it's some sort of filesystem thing. Hm...

michaelcsikos commented 4 years ago

Do the files get extracted on demand to the app.asar.unpacked folder?

scottnonnenberg-signal commented 4 years ago

No; there's a system inside of Electron that redirects disk access to the .asar archive, which is like a .tar file. All of our built-in images are all in that .asar.

michaelcsikos commented 4 years ago

If there was one image that wasn't in the asar that we could test it would help.

scottnonnenberg-signal commented 4 years ago

@michaelcsikos I don't think that's the right avenue. Given that we can install Signal Desktop on stock windows machines, and this problem doesn't happen, the right next step is to look at the way your computer differs from stock windows. Maybe it's just that you're on Enterprise 2016 LTSB, and it has some weird bug? We don't test on that build of Windows - we test on the Windows 10 build available to everyone.

michaelcsikos commented 4 years ago

@thesu1 is using Windows 8.1 Pro. I tested it on a Win 10 Enterprise 2016 LTSB virtual machine (VMware on my PC) and the images render fine. Is there any other way I can test if files in the asar are accessible?

scottnonnenberg-signal commented 4 years ago

You can manually unpack the .asar file with the npm module asar if you doubt that the files are in there. But keep in mind: if the app runs, files are being pulled out of the .asar just about all of our application code is in there.

michaelcsikos commented 4 years ago

I know the files are there. I renamed the asar and extracted it to a folder named app.asar. Signal runs. I can open the SVG files from this folder, but Signal still doesn't show them.

thesu1 commented 4 years ago

@scottnonnenberg-signal verifying I don't see the logo on startup either. Only "Loading..." and the 3 dots.

miltiad commented 4 years ago

Same issue here on 1.34.2 using Windows 10 Home

TheBlackSheep3 commented 3 years ago

I've experienced the same issue on 1.36.3 using Windows 10 Enterprise.

miltiad commented 3 years ago

Little update: I tried the current beta and I have the same issue. Has anyone found a workaround for this ? It is very annoying. Let me know if you need more information that could help solve this issue.

EvanHahn-Signal commented 3 years ago

I just tried to reproduce this on Windows 10 but everything seemed fine. We're still not sure what's causing this problem. It seems like some people are using Intel HD graphics, which is the only thing people have in common.

@miltiad @TheBlackSheep3 What graphics cards are you using? Screenshots like this one are be useful, too.

TheBlackSheep3 commented 3 years ago

@EvanHahn-Signal Starting the application with --disable-gpu --force-cpu-draw doesn't seem to help either. The Signal logo is also not visible during startup.

GPU NVIDIA GeForce GT 710 Monitor BenQ BL2405

image

miltiad commented 3 years ago

@EvanHahn-Signal Let me know if I can do more tests for you or you need more information. Hope this helps: image image

Also I am using Nvidia driver version 456.55 (the latest)

EvanHahn-Signal commented 3 years ago

Thanks. This suggests that it's not an issue with Intel graphics cards.

I've filed this as a bug, but we don't yet know enough to fix it.

Things to try until we learn more:

  1. Making sure you're on the latest version of Signal Desktop
  2. Make sure your graphics card drivers are up to date
  3. See if this issue occurs in other Electron-based programs, like Slack or Discord
miltiad commented 3 years ago
  1. I have the latest version of Signal Desktop (1.36.3)
  2. Latest Nvidia driver 456.55
  3. I use Slack and Discord all day long and I have no issues to report

Hope that helps a little :)

thesu1 commented 3 years ago
  1. I have the latest version of Signal (1.36.3)
  2. Using latest driver Intel HD Graphics 4600 driver (10.18.14.4264)
  3. Use Slack without issue
scottnonnenberg-signal commented 3 years ago

The next thing I'd ask everyone to check is their permissions and filesystem. Do you have any filesystem links to re-map the location of <User>\AppData\Local\Programs? Do you have any interesting permissions in place on your computer that are different from the default?

miltiad commented 3 years ago

No links here and I keep my Windows 10 install as default as possible. The only two things that are kinda special for me maybe is the fact that my Windows install is in French and that I use the Microsoft account for my Windows session.

See the screenshots below: image image

scottnonnenberg-signal commented 3 years ago

@miltiad What is the 'Microsoft account?'

michaelcsikos commented 3 years ago

@miltiad What is the 'Microsoft account?'

A Microsoft account is an email address instead of a local Windows account: image

I use a local account: image

scottnonnenberg-signal commented 3 years ago

@thesu1 Are you also using a Microsoft-connected Windows account? We're just looking for the common thread here, since there are multiple people running into this problem, and we can't reproduce it.

thesu1 commented 3 years ago

@scottnonnenberg-signal I sign in with a Microsoft account. Wasn't aware you could do it another way. I haven't changed the location of my user folder. 2020-10-12 16_37_58-User Accounts

As a side note, my spouse is running Win10, signs in with a Microsoft account, and CAN view images. Here is his graphics info: 2020-10-12

miltiad commented 3 years ago

I see that the issue is labelled "Need information". Is there anything I can do to help?

EvanHahn-Signal commented 3 years ago

@miltiad We're still unable to reproduce the issue so it's hard for us to debug. Anything that you can give us would be helpful. What kind of graphics card do you have? Are you doing anything unusual with your displays? If you can do a little more digging, are the SVG images present on disk? Are you seeing issues with other Electron-based apps like Slack?

taylorn16 commented 3 years ago

@EvanHahn-Signal I am experiencing the same issue. I use Slack every single day with no issues. Signal version is 1.39.4.

Windows 10 Enterprise. Version 1909. Build 18363.1256

Intel UHD Graphics.

This is incredibly frustrating.

EvanHahn-Signal commented 3 years ago

Thanks for reporting. This will help us debug.

hump commented 3 years ago

Same Problem here with Intel NUC Kit NUC8i7HVK Latest Windows 10 Pro. Latest ATI Radeon Driver. Latest Signal Desktop 1.39.6 Dual Monitor Setup image image

michaelcsikos commented 3 years ago

I think a multi-monitor setup and/or multiple display drivers may have something to do with this. A couple of days ago I was watching a video inside Signal and clicked the full-screen button. Immediately all six of my external monitors went blank and all the open apps moved to my laptop screen. Windows had stopped those three display adapters (all different) because they had "reported a problem". After a reboot I had to disable and then enable each one to get Windows to un-blacklist them.

EvanHahn-Signal commented 3 years ago

The latest beta of Signal Desktop has an upgraded version of Electron, which may solve this issue. If you aren't already, could you try installing the beta of Signal Desktop to see if this addresses your issue? (Don't worry, you can install the beta and production versions side-by-side.)

hump commented 3 years ago

The latest beta of Signal Desktop has an upgraded version of Electron, which may solve this issue. If you aren't already, could you try installing the beta of Signal Desktop to see if this addresses your issue? (Don't worry, you can install the beta and production versions side-by-side.)

Thank you for the hint, but no change regarding this issue for me with the latest beta version. image