signalapp / Signal-Desktop

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

Signal-desktop stuck with empty window #5021

Closed cubar closed 3 years ago

cubar commented 3 years ago

I get this error: {"name":"log","hostname":"de","pid":13187,"level":50,"time":"2021-02-12T21:12:30.594Z","msg":"GET https://textsecure-service.whispersystems.org/v1/config 401 Error","v":0}

so I tried to get the page in Chromium and get "Your connection is not private":

Your connection is not private Attackers might be trying to steal your information from textsecure-service.whispersystems.org (for example, passwords, messages, or credit cards). Learn more NET::ERR_CERT_AUTHORITY_INVALID

Wget https://textsecure-service.whispersystems.org/v1/config gives:

--2021-02-12 21:22:20-- https://textsecure-service.whispersystems.org/v1/config Resolving textsecure-service.whispersystems.org (textsecure-service.whispersystems.org)... 13.248.212.111, 76.223.92.165 Connecting to textsecure-service.whispersystems.org (textsecure-service.whispersystems.org)|13.248.212.111|:443... connected. ERROR: cannot verify textsecure-service.whispersystems.org's certificate, issued by ‘CN=TextSecure,OU=Open Whisper Systems,O=Open Whisper Systems,L=San Francisco,ST=California,C=US’: Self-signed certificate encountered. To connect to textsecure-service.whispersystems.org insecurely, use `--no-check-certificate'.

Tried it on debian and on ubuntu with the same result. Seems to be some problem with the ssl certificate. What can I do about this?

scottnonnenberg-signal commented 3 years ago

The certificate errors you are seeing are not a problem. We use self-signed certificates for Signal servers, instead of the standard set of certificate trust providers that your web browser uses.

The error on startup is a known issue with v1.40.0-beta.6. Please try v1.40.0-beta.7.

cubar commented 3 years ago

@scottnonnenberg-signal : thanks for you answer. I did "git pull" in my local repository which I had cloned from github to be sure I had a fresh copy, followed by: git checkout tags/v1.40.0-beta.7 to checkout the version you mentioned. I am on Linux, but i have no experience with Electron which looks something like a node.js framework. What to do next to compile or start the application? Thanks again, Chuck

cubar commented 3 years ago

@rahmi Thanks for your answer. I tried that and get the following:

$ wget https://textsecure-service.whispersystems.org/v1/config --no-check-certificate --2021-02-13 15:24:38-- https://textsecure-service.whispersystems.org/v1/config Resolving textsecure-service.whispersystems.org (textsecure-service.whispersystems.org)... 13.248.212.111, 76.223.92.165 Connecting to textsecure-service.whispersystems.org (textsecure-service.whispersystems.org)|13.248.212.111|:443... connected. WARNING: cannot verify textsecure-service.whispersystems.org's certificate, issued by ‘CN=TextSecure,OU=Open Whisper Systems,O=Open Whisper Systems,L=San Francisco,ST=California,C=US’: Self-signed certificate encountered. HTTP request sent, awaiting response... 401 Unauthorized

Username/Password Authentication Failed.

Thanks, Chuck

cubar commented 3 years ago

Hi Rahmi, Thanks for your help. I just want to install a signal client on my laptop. The installation procedure on the official github page got signal-desktop installed, then running it resulted in a request to chmod 4775 a certain file (chrome-sandbox). Then I ran signal-desktop resulting in an empty window (no images, no text, no menus). On the xterminal we get the following messages:

$ ./AppRun [32/32] Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /home/chuck/squashfs-root/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: /home/chuck/.config/Signal
config/get: Successfully read user config file
x-attr dependency did not load successfully
config/get: Successfully read ephemeral config file
making app single instance
Gtk-Message: 20:25:24.885: Failed to load module "canberra-gtk-module"
Gtk-Message: 20:25:24.888: Failed to load module "canberra-gtk-module"
{"name":"log","hostname":"de","pid":5511,"level":30,"msg":"app ready","time":"2021-02-13T20:25:25.215Z","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"msg":"starting version 1.39.6","time":"2021-02-13T20:25:25.216Z","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"msg":"media access status undefined undefined","time":"2021-02-13T20:25:25.216Z","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"msg":"updateSchema:\n Current user_version: 21;\n Most recent db schema: 21;\n SQLite version: 3.30.1;\n SQLCipher version: 4.3.0 community;\n (deprecate d) schema_version: 109;\n","time":"2021-02-13T20:25:25.295Z","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"msg":"Initializing BrowserWindow config: {\"show\":true,\"width\":800,\"height\":610,\"minWidth\":680,\"minHeight\":550,\"autoHideMenuBar\":false,\"background Color\":\"#3a76f0\",\"webPreferences\":{\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"contextIsolation\":false,\"preload\":\"/home/chuck/squashfs-root/resources/app.asar/preload.js\",\"nativeWind owOpen\":true,\"spellcheck\":true,\"backgroundThrottling\":false},\"icon\":\"/home/chuck/squashfs-root/resources/app.asar/images/signal-logo-desktop-linux.png\",\"x\":562,\"y\":374}","time":"2021-02-13T20:25:25. 331Z","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"msg":"spellcheck: user locale: nl-NL","time":"2021-02-13T20:25:25.615Z","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"msg":"spellcheck: available spellchecker languages: [\"af\",\"bg\",\"ca\",\"cs\",\"cy\",\"da\",\"de\",\"el\",\"en-AU\",\"en-CA\",\"en-GB\",\"en-US\",\"es\",\ "es-419\",\"es-AR\",\"es-ES\",\"es-MX\",\"es-US\",\"et\",\"fa\",\"fo\",\"fr\",\"he\",\"hi\",\"hr\",\"hu\",\"hy\",\"id\",\"it\",\"ko\",\"lt\",\"lv\",\"nb\",\"nl\",\"pl\",\"pt-BR\",\"pt-PT\",\"ro\",\"ru\",\"sh\",\ "sk\",\"sl\",\"sq\",\"sr\",\"sv\",\"ta\",\"tg\",\"tr\",\"uk\",\"vi\"]","time":"2021-02-13T20:25:25.619Z","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"msg":"spellcheck: setting languages to: [\"nl\"]","time":"2021-02-13T20:25:25.619Z","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"msg":"Begin ensuring permissions","time":"2021-02-13T20:25:25.683Z","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"msg":"Ensuring file permissions for 2 files","time":"2021-02-13T20:25:25.715Z","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"msg":"Finish ensuring permissions in 52ms","time":"2021-02-13T20:25:25.737Z","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":800,\"height\":610,\"x\":562,\"y\":411}","time":"2021-02-13T20:25:26.190Z","v":0} {"name":"log","hostname":"de","pid":5511,"level":30,"msg":"config/set: Saving ephemeral config to disk","time":"2021-02-13T20:25:26.191Z","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:28.653Z","msg":"x-attr dependency did not load successfully","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:28.796Z","msg":"preload complete","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"msg":"updater/start: Updates disabled - not starting new version checks","time":"2021-02-13T20:25:30.582Z","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:29.677Z","msg":"pre-main prep time: 4 ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:29.959Z","msg":"background page reloaded","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:29.959Z","msg":"environment: production","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.082Z","msg":"SQL channel job 1 (getItemById) succeeded in 122ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.082Z","msg":"Storage fetch","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.450Z","msg":"SQL channel job 2 (getAllItems) succeeded in 368ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.474Z","msg":"SQL channel job 3 (createOrUpdateItem) succeeded in 23ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.487Z","msg":"SQL channel job 4 (createOrUpdateItem) succeeded in 13ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.487Z","msg":"SQL channel job 5 (createOrUpdateItem) succeeded in 12ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.488Z","msg":"Starting background data migration. Target version: 10","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.496Z","msg":"GET https://textsecure-service.whispersystems.org/v1/config","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.514Z","msg":"ConversationController: starting initial fetch","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.530Z","msg":"SQL channel job 6 (getAllConversations) succeeded in 15ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.531Z","msg":"ConversationController: done with initial fetch","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.532Z","msg":"SQL channel job 7 (getAllStickerPacks) succeeded in 17ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.532Z","msg":"SQL channel job 8 (getAllStickers) succeeded in 17ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.533Z","msg":"SQL channel job 9 (getRecentStickers) succeeded in 17ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.533Z","msg":"SQL channel job 10 (getRecentEmojis) succeeded in 17ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.534Z","msg":"SQL channel job 11 (getItemById) succeeded in 17ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.535Z","msg":"SQL channel job 12 (getItemById) succeeded in 18ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.535Z","msg":"SQL channel job 13 (getAllIdentityKeys) succeeded in 18ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.535Z","msg":"SignalProtocolStore: Finished caching identityKeys data","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.536Z","msg":"SQL channel job 14 (getAllSessions) succeeded in 18ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.539Z","msg":"SignalProtocolStore: Finished caching sessions data","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.540Z","msg":"SignalProtocolStore: Finished caching preKeys data","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.540Z","msg":"SignalProtocolStore: Finished caching signedPreKeys data","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.541Z","msg":"checkForConflicts: starting...","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.541Z","msg":"checkForConflicts: complete!","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.546Z","msg":"Cleanup: starting...","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.548Z","msg":"Initializing network observer every 5000ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.549Z","msg":"Build expires: 2021-04-20T02:01:52.000Z","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.551Z","msg":"Cleanup: Found 0 messages for cleanup","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.551Z","msg":"Cleanup: complete","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.551Z","msg":"listening for registration events","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.585Z","msg":"opening provisioning socket https://textsecure-service.whispersystems.org","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.593Z","msg":"SQL channel job 18 (getNextExpiringMessage) succeeded in 34ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.595Z","msg":"SQL channel job 19 (getNextTapToViewMessageToAgeOut) succeeded in 35ms","v":0}
{"name":"log","hostname":"de","pid":5511,"level":50,"time":"2021-02-13T20:25:30.908Z","msg":"GET https://textsecure-service.whispersystems.org/v1/config 401 Error","v":0}
{"name":"log","hostname":"de","pid":5511,"level":50,"time":"2021-02-13T20:25:30.910Z","msg":"Top-level unhandled promise rejection: HTTPError: promiseAjax: error response; code: 401\n at makeHTTPError ([REDACTED]/app.asar/ts/textsecure/WebAPI.js:389:15)\n at [REDACTED]/app.asar/ts/textsecure/WebAPI.js:354:24\nOriginal stack:\nError\n at _outerAjax ([REDACTED]/app.asar/ts/textsecure/WebAPI.js:384:21)\n at _ajax ([REDACTED]/app.asar/ts/textsecure/WebAPI.js:532:20)\n at Object.getConfig ([REDACTED]/app.asar/ts/textsecure/WebAPI.js:594:31)\n at Object.exports.refreshRemoteConfig ([REDACTED]/app.asar/ts/RemoteConfig.js:34:36)\n at invokeFunc ([REDACTED]/app.asar/node_modules/lodash/lodash.js:10359:23)\n at leadingEdge ([REDACTED]/app.asar/node_modules/lodash/lodash.js:10369:26)\n at Object.debounced [as maybeRefreshRemoteConfig] ([REDACTED]/app.asar/node_modules/lodash/lodash.js:10436:20)\n at Object.initRemoteConfig ([REDACTED]/app.asar/ts/RemoteConfig.js:19:19)\n at file://[REDACTED]/app.asar/ts/background.js:463:36","v":0} {"name":"log","hostname":"de","pid":5511,"level":30,"time":"2021-02-13T20:25:30.963Z","msg":"provisioning socket open","v":0}

After your last mail I also downloaded "https://gitlab.com/rahmiac/signal-desktop-appimages/-/blob/master/Signal-1.39.6.AppImage" from your repository, installed nodejs and nvm, restarted the terminal session, ran nvm install, nvm run and as shown above finally ./AppRun, resulting in the messages above.

Among these messages we get as mentioned before: {"name":"log","hostname":"de","pid":5511,"level":50,"time":"2021-02-13T20:25:30.908Z","msg":"GET https://textsecure-service.whispersystems.org/v1/config 401 Error","v":0}

In short, this result is very similar to what I got after installing with apt install from the official repository: First, the "config" page cannot be downloaded because of the certificate being self signed. Second, the signal-desktop window is completely empty

I think it would help if the domain *.whispersystems.org would use a genuine certificate (which already has been requested as I understand from @scottnonnenberg-signal). I would recommend Letsencrypt as it's free.

Regards, Chuck

cubar commented 3 years ago

Hello Rahmi, I am running on debian and also tried on ubuntu. I followed the instructions on the official site to install signal-desktop as well as a compiled version in a local git clone after checking out the version with tag v1.40.0-beta.7. All attempts resulted in the same result: running the app gives an empty app window and the config url unreachable because of the certificate problem.

It seems that the v1.40.0-beta.7 version has the same problem as the version on the official page: https://signal.org/download/linux/. We may have to wait for the certificate to be no longer self signed. Thanks so far, Chuck

cubar commented 3 years ago

Hello Rahmi,

Success using the --no-sandbox option with the beta version! It turns out that I ended up with two versions of signal-desktop: One in "/opt/Signal/" and another in "/opt/Signal Beta/".

I am not sure which beta version it is, couldn't quite find out using grep -ril on the folder. To start signal from the command line I use signal-desktop-beta --no-sandbox

Anyways, thank you very much for your help. Cheers, Chuck

scottnonnenberg-signal commented 3 years ago

In the future, when attempting to run the application in development mode, use the forums to work with the community to get things working. I'm going to close this.