Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: signal-desktop does not start due to database-error #300

Closed
KlausC opened this issue Jul 31, 2024 · 71 comments · Fixed by #321
Closed

[Bug]: signal-desktop does not start due to database-error #300

KlausC opened this issue Jul 31, 2024 · 71 comments · Fixed by #321
Labels
bug Something isn't working

Comments

@KlausC
Copy link

KlausC commented Jul 31, 2024

What happened?

Application starts and an error window pops upDatabase startup error:

grafik

When I follow the instructions and delete all data, I can re-connect the device to the account and send a message.
But after I close the app and try to start again, the same error window re-appears.

What should have happened?

signal-desktop should start without forcing me to delete data and re-connect.

Output of snap info $snap_name

$ snap info signal-desktop
name:      signal-desktop
summary:   Speak Freely - Private Messenger
publisher: Snapcrafters✪
store-url: https://snapcraft.io/signal-desktop
contact:   https://github.com//snapcrafters/signal-desktop/issues
license:   AGPL-3.0-only
description: |
  **Note: To use the Signal desktop app, you must first install Signal on your phone.**
  
  Millions of people use Signal every day for free and instantaneous communication anywhere in the
  world. Send and receive high-fidelity messages, participate in HD voice/video calls, and explore a
  growing set of new features that help you stay connected. Signal's advanced privacy-preserving
  technology is always enabled, so you can focus on sharing the moments that matter with the people
  who matter to you.
  
  - Say anything - State-of-the-art end-to-end encryption (powered by the open source Signal
  Protocol™) keeps your conversations secure. Privacy isn't an optional mode; it's just the way that
  Signal works. Every message, every call, every time.
  - Go fast - Messages are delivered quickly and reliably, even on slow networks. Signal is
  optimized to operate in the most constrained environment possible.
  - Feel free - Signal is a completely independent 501c3 nonprofit. Development is supported by
  users like you. No advertisements. No trackers. No kidding.
  - Be yourself - You can use your existing phone number and address book to securely communicate
  with your friends.
  - Speak up - Whether they live across town or across the ocean, Signal's enhanced audio and video
  quality will make your friends and family feel closer.
  - Whisper in the shadows - Switch to the dark theme if you refuse to see the light.
  
  **Minimize to tray**
  
  Per the request of the Signal developers, this snap does not use the system tray by default. This
  is disabled by default per the request of the Signal developers, because system tray support is
  not stable. Set to `false`, Signal will stop when you close it and will not have a system tray
  icon. You can enable it by running the following command.
  
      snap set signal-desktop tray-icon=true
  
  
  **Are you having issues?**
  
  Let us know by creating a new issue here: https://github.com/snapcrafters/signal-desktop/issues
  
  **Authors**
  
  This snap is maintained by the Snapcrafters community, and is not necessarily endorsed or
  officially maintained by the upstream developers.
commands:
  - signal-desktop
snap-id:      r4LxMVp7zWramXsJQAKdamxy6TAWlaDD
tracking:     latest/stable
refresh-date: today at 11:07 CEST
channels:
  latest/stable:    7.17.0 2024-07-29 (675) 196MB -
  latest/candidate: 7.17.0 2024-07-29 (675) 196MB -
  latest/beta:      ↑                             
  latest/edge:      ↑                             
installed:          7.17.0            (675) 196MB -

Output of snap connections $snap_name

$ snap connections signal-desktop
Interface               Plug                                   Slot                            Notes
audio-playback          signal-desktop:audio-playback          :audio-playback                 -
audio-record            signal-desktop:audio-record            :audio-record                   -
browser-support         signal-desktop:browser-support         :browser-support                -
camera                  signal-desktop:camera                  :camera                         -
content[gnome-42-2204]  signal-desktop:gnome-42-2204           gnome-42-2204:gnome-42-2204     -
content[gtk-3-themes]   signal-desktop:gtk-3-themes            gtk-common-themes:gtk-3-themes  -
content[icon-themes]    signal-desktop:icon-themes             gtk-common-themes:icon-themes   -
content[sound-themes]   signal-desktop:sound-themes            gtk-common-themes:sound-themes  -
desktop                 signal-desktop:desktop                 :desktop                        -
desktop-legacy          signal-desktop:desktop-legacy          :desktop-legacy                 -
gsettings               signal-desktop:gsettings               :gsettings                      -
home                    signal-desktop:home                    :home                           -
network                 signal-desktop:network                 :network                        -
opengl                  signal-desktop:opengl                  :opengl                         -
removable-media         signal-desktop:removable-media         -                               -
screen-inhibit-control  signal-desktop:screen-inhibit-control  :screen-inhibit-control         -
unity7                  signal-desktop:unity7                  :unity7                         -
wayland                 signal-desktop:wayland                 :wayland                        -
x11                     signal-desktop:x11                     :x11                            -

Output of snap version

$ snap version
snap    2.63-0.fc40
snapd   2.63-0.fc40
series  16
fedora  40
kernel  6.9.11-200.fc40.x86_64

Relevant log output

[   34.915452] show_signal: 13 callbacks suppressed
[   34.915457] traps: signal-desktop[5826] trap int3 ip:5561d07c09af sp:7fff4bf89de0 error:0 in signal-desktop[5561cc879000+8646000]
[  458.513720] traps: signal-desktop[8906] trap int3 ip:55586a3745fa sp:7fffdb372b50 error:0 in signal-desktop[55586652b000+8646000]
[  657.018948] traps: signal-desktop[10491] trap int3 ip:5635b7d3fdf6 sp:7ffc5e3ddbf0 error:0 in signal-desktop[5635b25fa000+8646000]
[  761.945716] traps: signal-desktop[11179] trap int3 ip:559fafadddf6 sp:7ffc2b727bd0 error:0 in signal-desktop[559faa398000+8646000]
[ 1736.762010] traps: signal-desktop[12583] trap int3 ip:55f3d9e38df6 sp:7fff3441e600 error:0 in signal-desktop[55f3d46f3000+8646000]

Teminal output of app

$ signal-desktop
Set Windows Application User Model ID (AUMID) { AUMID: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /snap/signal-desktop/675/opt/Signal/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME klausnuc
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
SIGNAL_ENABLE_HTTP undefined
userData: /home/crusius/snap/signal-desktop/675/.config/Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
making app single instance
Error org.freedesktop.DBus.Error.Failed: cannot find desktop file "/var/lib/snapd/desktop/applications/signal-desktop_signal.desktop"
Error org.freedesktop.DBus.Error.Failed: cannot find desktop file "/var/lib/snapd/desktop/applications/signal-desktop_signal.desktop"

(signal-desktop:15129): Gtk-WARNING **: 12:01:03.771: GTK+ module /snap/signal-desktop/675/gnome-platform/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so cannot be loaded.
GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported.
Gtk-Message: 12:01:03.772: Failed to load module "canberra-gtk-module"
Gtk-Message: 12:01:03.772: Failed to load module "pk-gtk-module"

(signal-desktop:15129): Gtk-WARNING **: 12:01:03.773: GTK+ module /snap/signal-desktop/675/gnome-platform/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so cannot be loaded.
GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported.
Gtk-Message: 12:01:03.773: Failed to load module "canberra-gtk-module"
Gtk-Message: 12:01:03.773: Failed to load module "pk-gtk-module"
Warning: build/dns-fallback.json not build, run `yarn generate`
{"level":30,"time":"2024-07-31T10:01:03.982Z","msg":"got fast localeOverride setting null"}
{"level":30,"time":"2024-07-31T10:01:03.983Z","msg":"app.ready: hour cycle preference: UnknownPreference"}
{"level":30,"time":"2024-07-31T10:01:03.983Z","msg":"app.ready: preferred system locales: de-DE, de"}
{"level":30,"time":"2024-07-31T10:01:03.984Z","msg":"locale: Supported locales: af-ZA, ar, az-AZ, bg-BG, bn-BD, bs-BA, ca, cs, da, de, el, en, es, et-EE, eu, fa-IR, fi, fr, ga-IE, gl-ES, gu-IN, he, hi-IN, hr-HR, hu, id, it, ja, ka-GE, kk-KZ, km-KH, kn-IN, ko, ky-KG, lt-LT, lv-LV, mk-MK, ml-IN, mr-IN, ms, my, nb, nl, pa-IN, pl, pt-BR, pt-PT, ro-RO, ru, sk-SK, sl-SI, sq-AL, sr, sv, sw, ta-IN, te-IN, th, tl-PH, tr, ug, uk-UA, ur, vi, yue, zh-CN, zh-HK, zh-Hant"}
{"level":30,"time":"2024-07-31T10:01:03.984Z","msg":"locale: Preferred locales: de-DE, de"}
{"level":30,"time":"2024-07-31T10:01:03.984Z","msg":"locale: Locale Override: null"}
{"level":30,"time":"2024-07-31T10:01:03.985Z","msg":"locale: Matched locale: de"}
{"level":40,"time":"2024-07-31T10:01:04.016Z","msg":"intl.onWarn [@formatjs/intl] \"defaultRichTextElements\" was specified but \"message\" was not pre-compiled. \nPlease consider using \"@formatjs/cli\" to pre-compile your messages for performance.\nFor more details see https://formatjs.io/docs/getting-started/message-distribution"}
{"level":30,"time":"2024-07-31T10:01:04.017Z","msg":"locale: Text info direction for de: ltr"}
{"level":30,"time":"2024-07-31T10:01:04.017Z","msg":"getSQLKey: decrypting key"}
{"level":30,"time":"2024-07-31T10:01:04.017Z","msg":"getSystemTraySetting got value DoNotUseSystemTray"}
{"level":30,"time":"2024-07-31T10:01:04.018Z","msg":"getSystemTraySetting returning DoNotUseSystemTray"}
{"level":30,"time":"2024-07-31T10:01:04.019Z","msg":"app ready"}
{"level":30,"time":"2024-07-31T10:01:04.019Z","msg":"starting version 7.17.0"}
{"level":30,"time":"2024-07-31T10:01:04.019Z","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2024-07-31T10:01:04.020Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2024-07-31T10:01:04.025Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2024-07-31T10:01:04.025Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2024-07-31T10:01:04.026Z","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":1920,\"height\":1008,\"minWidth\":300,\"minHeight\":200,\"autoHideMenuBar\":false,\"titleBarStyle\":\"default\",\"backgroundColor\":\"#3a76f0\",\"webPreferences\":{\"devTools\":false,\"spellcheck\":true,\"enableBlinkFeatures\":\"CSSPseudoDir,CSSLogical\",\"enablePreferredSizeMode\":true,\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"sandbox\":false,\"contextIsolation\":true,\"preload\":\"[REDACTED]/preload.bundle.js\",\"backgroundThrottling\":true,\"disableBlinkFeatures\":\"Accelerated2dCanvas,AcceleratedSmallCanvases\"},\"icon\":\"[REDACTED]/images/signal-logo-desktop-linux.png\",\"x\":0,\"y\":72}"}
{"level":30,"time":"2024-07-31T10:01:04.063Z","msg":"spellcheck: user locales: [\"de-DE\",\"de\"]"}
{"level":30,"time":"2024-07-31T10:01:04.063Z","msg":"spellcheck: available spellchecker languages: [\"af\",\"bg\",\"ca\",\"cs\",\"cy\",\"da\",\"de\",\"de-DE\",\"el\",\"en\",\"en-AU\",\"en-CA\",\"en-GB\",\"en-GB-oxendict\",\"en-US\",\"es\",\"es-419\",\"es-AR\",\"es-ES\",\"es-MX\",\"es-US\",\"et\",\"fa\",\"fo\",\"fr\",\"fr-FR\",\"he\",\"hi\",\"hr\",\"hu\",\"hy\",\"id\",\"it\",\"it-IT\",\"ko\",\"lt\",\"lv\",\"nb\",\"nl\",\"pl\",\"pt\",\"pt-BR\",\"pt-PT\",\"ro\",\"ru\",\"sh\",\"sk\",\"sl\",\"sq\",\"sr\",\"sv\",\"ta\",\"tg\",\"tr\",\"uk\",\"vi\"]"}
{"level":30,"time":"2024-07-31T10:01:04.063Z","msg":"spellcheck: setting languages to: [\"de-DE\",\"de\"]"}
{"level":40,"time":"2024-07-31T10:01:04.264Z","msg":"MainSQL: Database log code=26: file is not a database in \"PRAGMA journal_mode = WAL\""}
{"level":30,"time":"2024-07-31T10:01:04.265Z","msg":"MainSQL: migrateDatabase: Migration without cipher change failed"}
{"level":40,"time":"2024-07-31T10:01:04.320Z","msg":"MainSQL: Database log code=26: statement aborts at 2: [PRAGMA user_version] file is not a database"}
{"level":50,"time":"2024-07-31T10:01:04.321Z","msg":"MainSQL: Database startup error: SqliteError: file is not a database\n    at Database.pragma ([REDACTED]/node_modules/@signalapp/better-sqlite3/lib/methods/pragma.js:11:31)\n    at getUserVersion ([REDACTED]/ts/sql/util.js:132:13)\n    at migrateSchemaVersion ([REDACTED]/ts/sql/Server.js:389:54)\n    at openAndMigrateDatabase ([REDACTED]/ts/sql/Server.js:420:3)\n    at openAndSetUpSQLCipher ([REDACTED]/ts/sql/Server.js:435:14)\n    at Object.initialize ([REDACTED]/ts/sql/Server.js:471:16)\n    at MessagePort.<anonymous> ([REDACTED]/ts/sql/mainWorker.js:84:35)\n    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:820:20)\n    at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28)"}
{"level":50,"time":"2024-07-31T10:01:04.321Z","msg":"MainSQL: runCorruptionChecks: not running the check, no writable instance Error: getUnsafeWritableInstance: globalWritableInstance not set!\n    at getUnsafeWritableInstance ([REDACTED]/ts/sql/Server.js:600:11)\n    at Object.runCorruptionChecks ([REDACTED]/ts/sql/Server.js:4785:10)\n    at respond ([REDACTED]/ts/sql/mainWorker.js:40:29)\n    at MessagePort.<anonymous> ([REDACTED]/ts/sql/mainWorker.js:115:5)"}
{"level":50,"time":"2024-07-31T10:01:04.321Z","msg":"Failed to get zoom factor {}"}
{"level":30,"time":"2024-07-31T10:01:04.689Z","msg":"got fast theme-setting value system"}
{"level":50,"time":"2024-07-31T10:01:05.231Z","msg":"sql.initialize was unsuccessful; returning early"}
{"level":30,"time":"2024-07-31T10:01:05.232Z","msg":"close event {\"readyForShutdown\":false,\"shouldQuit\":false}"}
{"level":30,"time":"2024-07-31T10:01:05.232Z","msg":"maybeRequestCloseConfirmation: Checking to see if close confirmation is needed"}
{"level":50,"time":"2024-07-31T10:01:17.760Z","msg":"onDatabaseError: Quitting application"}
{"level":30,"time":"2024-07-31T10:01:17.763Z","msg":"main window closed event"}
{"level":30,"time":"2024-07-31T10:01:17.764Z","msg":"quit event {\"hasEventBeenPrevented\":false,\"windowCount\":0,\"mainWindowExists\":false}"}
{"level":50,"time":"2024-07-31T10:01:17.766Z","msg":"Error occurred in handler for 'sql-channel': {}"}
{"level":50,"time":"2024-07-31T10:01:17.767Z","msg":"maybeRequestCloseConfirmation: Response never received; continuing with close."}
Unhandled Promise Rejection: Error: Not initialized
    at MainSQL.close (/snap/signal-desktop/675/opt/Signal/resources/app.asar/ts/sql/main.js:104:13)
    at BrowserWindow.<anonymous> (/snap/signal-desktop/675/opt/Signal/resources/app.asar/app/main.js:690:15)
{"level":50,"time":"2024-07-31T10:01:17.768Z","msg":"Unhandled Promise Rejection: Error: Not initialized\n    at MainSQL.close ([REDACTED]/ts/sql/main.js:104:13)\n    at BrowserWindow.<anonymous> ([REDACTED]/app/main.js:690:15)"}
@KlausC KlausC added the bug Something isn't working label Jul 31, 2024
@jnsgruk
Copy link
Member

jnsgruk commented Jul 31, 2024

Hi - is this the first time you've used the snap, or has it started happening since an update?

@KlausC
Copy link
Author

KlausC commented Jul 31, 2024

I observe this since a few days/weeks. Before it worked without issues for some years.

@jnsgruk
Copy link
Member

jnsgruk commented Jul 31, 2024

Hmm, I'd be interested to see the state of the "corrupted" file - I'd be surprised if this is as a result of the snap packaging.

There does seem to be an upstream issue, along with some steps for recovery - are you able to confirm if those steps work for you? signalapp/Signal-Desktop#4513

@jnsgruk
Copy link
Member

jnsgruk commented Jul 31, 2024

Ahh another potential lead here - how's the disk space on your machine?

@KlausC
Copy link
Author

KlausC commented Jul 31, 2024

Disk space seem not to be an issue, whence /var/lib/snap/ subdirs seem all to be complete:

/dev/loop17       188160    188160         0  100% /var/lib/snapd/snap/spotify/77
/dev/loop18       192384    192384         0  100% /var/lib/snapd/snap/signal-desktop/675
/dev/loop16        52608     52608         0  100% /var/lib/snapd/snap/nps-ssh-askpass/205
/dev/loop19       186240    186240         0  100% /var/lib/snapd/snap/spotify/78
/dev/loop20        84096     84096         0  100% /var/lib/snapd/snap/whatsdesk/28
tmpfs            8036488        92   8036396    1% /tmp
/dev/nvme0n1p2    996780    273304    654664   30% /boot
/dev/nvme0n1p3 975097856 641286056 326005032   67% /btrfs_pool
/dev/nvme0n1p3 975097856 641286056 326005032   67% /home

@KlausC
Copy link
Author

KlausC commented Jul 31, 2024

In the first link I did not find hint for recover from a corrupted database. Also if I snap remove signal-desktop and check the ~/snap/signal-desktop is empty, the bug persists after snap install signal-desktop and re-connect and re-start as described in the OP.

@jnsgruk
Copy link
Member

jnsgruk commented Jul 31, 2024

Assuming you have a backup of the messages on another device, you could try snap remove --purge signal-desktop, then reinstall?

@KlausC
Copy link
Author

KlausC commented Jul 31, 2024

Yes, that did not change the behavior.

@jnsgruk
Copy link
Member

jnsgruk commented Jul 31, 2024

Hmm, I'm a little lost on this one for now. Are you able to confirm if the behaviour happens if you install Signal from the deb?

@KlausC
Copy link
Author

KlausC commented Jul 31, 2024

I have no other option than Snap on fedora, afaik.

@KlausC
Copy link
Author

KlausC commented Jul 31, 2024

Correction: while I did not find signal-desktop in the repositories accessible with dnf, it was possible to install from the fedora software GUI. After removing the snap version, that seems to work now with version 7.17.
Of course the local copy of my chats are lost; but still available on my Android mobile.

@wiryonolau
Copy link

Hi also happen to me, started on rev673

debian 12  Debian 6.7.12-1~bpo12+1 xfce
snap signal-desktop  v7.17.0   rev675 

on fresh install everything ok , but after next run always broken. this is the log when running from console
a lot of REDACTED part don't know what its means.

{"level":40,"time":"2024-08-01T02:24:49.409Z","msg":"MainSQL: Database log code=26: file is not a database in \"PRAGMA journal_mode = WAL\""}
{"level":30,"time":"2024-08-01T02:24:49.409Z","msg":"MainSQL: migrateDatabase: Migration without cipher change failed"}
{"level":40,"time":"2024-08-01T02:24:49.461Z","msg":"MainSQL: Database log code=26: statement aborts at 2: [PRAGMA user_version] file is not a database"}
{"level":50,"time":"2024-08-01T02:24:49.461Z","msg":"MainSQL: Database startup error: SqliteError: file is not a database\n    at Database.pragma ([REDACTED]/node_modules/@signalapp/better-sqlite3/lib/methods/pragma.js:11:31)\n    at getUserVersion ([REDACTED]/ts/sql/util.js:132:13)\n    at migrateSchemaVersion ([REDACTED]/ts/sql/Server.js:389:54)\n    at openAndMigrateDatabase ([REDACTED]/ts/sql/Server.js:420:3)\n    at openAndSetUpSQLCipher ([REDACTED]/ts/sql/Server.js:435:14)\n    at Object.initialize ([REDACTED]/ts/sql/Server.js:471:16)\n    at MessagePort.<anonymous> ([REDACTED]/ts/sql/mainWorker.js:84:35)\n    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:820:20)\n    at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28)"}
{"level":50,"time":"2024-08-01T02:24:49.462Z","msg":"MainSQL: runCorruptionChecks: not running the check, no writable instance Error: getUnsafeWritableInstance: globalWritableInstance not set!\n    at getUnsafeWritableInstance ([REDACTED]/ts/sql/Server.js:600:11)\n    at Object.runCorruptionChecks ([REDACTED]/ts/sql/Server.js:4785:10)\n    at respond ([REDACTED]/ts/sql/mainWorker.js:40:29)\n    at MessagePort.<anonymous> ([REDACTED]/ts/sql/mainWorker.js:115:5)"}

@vgallissot
Copy link

Hi, also happened to me, seems related to cipher change at launch (cipher not recognized while opening database file, so considering database corrupt ?).

{"level":30,"time":"2024-08-01T08:18:27.409Z","msg":"spellcheck: setting languages to: [\"en-US\",\"en\"]"}
{"level":40,"time":"2024-08-01T08:18:27.598Z","msg":"MainSQL: Database log code=26: file is not a database in \"PRAGMA journal_mode = WAL\""}
{"level":30,"time":"2024-08-01T08:18:27.598Z","msg":"MainSQL: migrateDatabase: Migration without cipher change failed"}
{"level":40,"time":"2024-08-01T08:18:27.629Z","msg":"MainSQL: Database log code=26: statement aborts at 2: [PRAGMA user_version] file is not a database"}
{"level":50,"time":"2024-08-01T08:18:27.629Z","msg":"MainSQL: Database startup error: SqliteError: file is not a database\n    at Database.pragma ([REDACTED]/node_modules/@signalapp/better-sqlite3/lib/methods/pragma.js:11:31)\n    at getUserVersion ([REDACTED]/ts/sql/util.js:132:13)\n    at migrateSchemaVersion ([REDACTED]/ts/sql/Server.js:389:54)\n    at openAndMigrateDatabase ([REDACTED]/ts/sql/Server.js:420:3)\n    at openAndSetUpSQLCipher ([REDACTED]/ts/sql/Server.js:435:14)\n    at Object.initialize ([REDACTED]/ts/sql/Server.js:471:16)\n    at MessagePort.<anonymous> ([REDACTED]/ts/sql/mainWorker.js:84:35)\n    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:820:20)\n    at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28)"}
{"level":50,"time":"2024-08-01T08:18:27.630Z","msg":"MainSQL: runCorruptionChecks: not running the check, no writable instance Error: getUnsafeWritableInstance: globalWritableInstance not set!\n    at getUnsafeWritableInstance ([REDACTED]/ts/sql/Server.js:600:11)\n    at Object.runCorruptionChecks ([REDACTED]/ts/sql/Server.js:4785:10)\n    at respond ([REDACTED]/ts/sql/mainWorker.js:40:29)\n    at MessagePort.<anonymous> ([REDACTED]/ts/sql/mainWorker.js:115:5)"}
{"level":50,"time":"2024-08-01T08:18:27.630Z","msg":"Failed to get zoom factor {}"}
{"level":30,"time":"2024-08-01T08:18:27.931Z","msg":"got fast theme-setting value system"}
{"level":50,"time":"2024-08-01T08:18:28.342Z","msg":"sql.initialize was unsuccessful; returning early"}
{"level":30,"time":"2024-08-01T08:18:28.343Z","msg":"close event {\"readyForShutdown\":false,\"shouldQuit\":false}"}
{"level":30,"time":"2024-08-01T08:18:28.343Z","msg":"maybeRequestCloseConfirmation: Checking to see if close confirmation is needed"}
{"level":50,"time":"2024-08-01T08:18:30.664Z","msg":"onDatabaseError: Deleting all data"}
{"level":50,"time":"2024-08-01T08:18:30.665Z","msg":"Error occurred in handler for 'sql-channel': {}"}
{"level":40,"time":"2024-08-01T08:18:30.665Z","msg":"MainSQL: removeDB: Removing all database files"}
{"level":30,"time":"2024-08-01T08:18:30.665Z","msg":"main window is ready-to-show"}
{"level":30,"time":"2024-08-01T08:18:30.666Z","msg":"config/remove: Deleting user config from disk"}
{"level":30,"time":"2024-08-01T08:18:30.666Z","msg":"config/remove: Deleted user config from disk"}
{"level":50,"time":"2024-08-01T08:18:30.666Z","msg":"onDatabaseError: Requesting immediate restart after quit"}
{"level":50,"time":"2024-08-01T08:18:30.690Z","msg":"onDatabaseError: Quitting application"}
{"level":30,"time":"2024-08-01T08:18:30.691Z","msg":"main window closed event"}
{"level":30,"time":"2024-08-01T08:18:30.692Z","msg":"quit event {\"hasEventBeenPrevented\":false,\"windowCount\":0,\"mainWindowExists\":false}"}
FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal
----- Native stack trace -----

[1]    8895 IOT instruction  signal-desktop

I tried to uninstall and re-install, I can launch the app and sync with the phone, but same error occurs at every launch, even on the first launch after a fresh install.

I even tried to purge all with: snap remove --purge signal-desktop

@alpha14
Copy link

alpha14 commented Aug 1, 2024

Happened to my installation of signal-destop (7.17.0) a few days ago.
Tried resetting the local data and re linking to phone as proposed by the launcher.
Tried reinstalling, same corruption happened three times in a row.
Before that, It worked for months without any issue.

@jnsgruk
Copy link
Member

jnsgruk commented Aug 1, 2024

Hmm, okay I think this was a bug in Signal 7.17. Looking at the comparison for 7.18 (released last night), there appear to be a few commits related to the sql database on Linux: signalapp/Signal-Desktop@v7.18.0...v7.17.0

I'll kick off the update now.

@jnsgruk
Copy link
Member

jnsgruk commented Aug 1, 2024

Hi all - still waiting on the full build for arm64, but if you're on an amd64 machine, you should be able to try sudo snap refresh signal-desktop --channel latest/candidate to try out the next version and see if that solves the issue.

If you're installing from scratch it'll be sudo snap install signal-desktop --channel latest/candidate

@alpha14
Copy link

alpha14 commented Aug 1, 2024

@jnsgruk Just tried 7.18.0 with a fresh re-link, I still have the same database error upon restarting the application.

@jnsgruk
Copy link
Member

jnsgruk commented Aug 1, 2024

Hmm, looks like this is also an issue on the Flatpak, and on other distros: signalapp/Signal-Desktop#6750

@vgallissot
Copy link

Problem is still here on 7.18 for me.

I had to install 7.15 to get back on a crash-free version. (Source)
# snap install signal-desktop --revision=671

So, whether in 7.16, 7.17 or 7.18, launching Signal-desktop causes a database file error that forces you to delete all the data in 7.17 and 7.18, but the error was recoverable in 7.16 (you had to choose to recover the database at launch).
Each time you launch Signal-desktop 7.17 or 7.18 (new or existing), you have to delete all the data and resynchronise the phone.

@jnsgruk
Copy link
Member

jnsgruk commented Aug 1, 2024

I've been trying to repro all morning and failed. Interesting that is on Fedora 40, which is also where the reported error is upstream.

Is anyone on this thread seeing this with Ubuntu?

@alpha14
Copy link

alpha14 commented Aug 1, 2024

@jnsgruk Yes I'm having that issue on Ubuntu 24.04 (kern 6.9.9)

@vgallissot
Copy link

having this issue on Fedora 29 6.9.11-100.fc39.x86_64

@jnsgruk
Copy link
Member

jnsgruk commented Aug 1, 2024

@jnsgruk Yes I'm having that issue on Ubuntu 24.04 (kern 6.9.9)

Now that's super odd. Can I ask if you're able to repro on a clean Noble VM? I've been trying to with that exact setup, and not been able to.

@jnsgruk
Copy link
Member

jnsgruk commented Aug 1, 2024

Out of interest, if you run snap connect signal-desktop:password-manager-service and re-pair etc., does the issue persist?

@alpha14
Copy link

alpha14 commented Aug 2, 2024

@jnsgruk

$ sudo snap connect signal-desktop:password-manager-service
error: snap "signal-desktop" has no plug named "password-manager-service"

I'll try with a fresh VM and let you know

@jo-oe
Copy link

jo-oe commented Aug 2, 2024

I have the same issue, Fedora 40 (Linux 6.10.1-200.fc40.x86_64) here.
Tried installing 7.18 (from latest/candidate), snap rev 678, problem persists.
With 7.15, snap rev 671, everything works as expected.

@fyptog
Copy link

fyptog commented Aug 2, 2024

I have the same issue in Ubuntu arm64 (ubuntu 24.04, Linux 6.1.0-1021-rockchip - Joshua Riek), on 4 machines.
Rolled back to 7.15.0 (arm64 rev672) because we need Signal Desktop in order to do our work.
sudo snap install signal-desktop --revision=672
sudo snap refresh --hold signal-desktop

@sean-abbott
Copy link

sean-abbott commented Aug 3, 2024

I have this issue on a new pop-os machine, using snap.

snap-id:      r4LxMVp7zWramXsJQAKdamxy6TAWlaDD
tracking:     latest/stable
refresh-date: today at 11:33 EDT
channels:
  latest/stable:    7.18.0 2024-08-02 (679) 183MB -
  latest/candidate: 7.18.0 2024-08-02 (679) 183MB -

Been happening since we got the new machine about a month ago.

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"

I'm trying the revision=671 workaround...and it appears to work. Hopefully this can be resolved before any updates that will break the older client. :-)

@jnsgruk
Copy link
Member

jnsgruk commented Aug 30, 2024

No joy.


$ ldd /snap/signal-desktop/696/opt/Signal/resources/app.asar.unpacked/node_modules/@signalapp/better-sqlite3/build/Release/better_sqlite3.node 

/snap/signal-desktop/696/opt/Signal/resources/app.asar.unpacked/node_modules/@signalapp/better-sqlite3/build/Release/better_sqlite3.node: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by /snap/signal-desktop/696/opt/Signal/resources/app.asar.unpacked/node_modules/@signalapp/better-sqlite3/build/Release/better_sqlite3.node)

/snap/signal-desktop/696/opt/Signal/resources/app.asar.unpacked/node_modules/@signalapp/better-sqlite3/build/Release/better_sqlite3.node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /snap/signal-desktop/696/opt/Signal/resources/app.asar.unpacked/node_modules/@signalapp/better-sqlite3/build/Release/better_sqlite3.node)

        linux-vdso.so.1 (0x00007ffcc1ce3000)

        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9254800000)

        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9254b19000)

        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f92552c9000)

        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9254400000)

        /lib64/ld-linux-x86-64.so.2 (0x00007f92552fb000)

This feels like a separate issue to me, even if related. Can you file an issue to track that separately? Thank you!

@jnsgruk
Copy link
Member

jnsgruk commented Aug 30, 2024

I installed 7.22.2, copied over the folder from an older version, and got Signal-desktop to start again. I lost all data since i made that copy, but at least it starts again.

Okay - and you can open multiple times without seeing the original issue?

@debug686
Copy link

and you can open multiple times without seeing the original issue?

Oops. No, I can not.

@jnsgruk
Copy link
Member

jnsgruk commented Aug 31, 2024

@lizthegrey I did some investigation into your glibc library version mismatch, and I think it's a red herring.

On 24.04 LTS, the command actually works and looks right (because the snap is built on core24):

❯ lxc launch ubuntu:noble tmpbuntu; lxc exec tmpbuntu bash; lxc delete -f tmpbuntu
Creating tmpbuntu
Starting tmpbuntu
root@tmpbuntu:~# snap install signal-desktop
2024-08-31T16:36:34Z INFO Waiting for automatic snapd restart...
signal-desktop 7.22.2 from Snapcrafters✪ installed
root@tmpbuntu:~# ldd /snap/signal-desktop/696/opt/Signal/resources/app.asar.unpacked/node_modules/@signalapp/better-sqlite3/build/Release/better_sqlite3.node
	linux-vdso.so.1 (0x00007f3700f7c000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3700400000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3700e88000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3700e5b000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3700000000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f3700f7e000)
root@tmpbuntu:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS"
root@tmpbuntu:~#

I do observe the same results as you on 22.04:

❯ lxc launch ubuntu:jammy tmpbuntu; lxc exec tmpbuntu bash; lxc delete -f tmpbuntu
Creating tmpbuntu
Starting tmpbuntu
root@tmpbuntu:~# snap install signal-desktop
signal-desktop 7.22.2 from Snapcrafters✪ installed
root@tmpbuntu:~# ldd /snap/signal-desktop/696/opt/Signal/resources/app.asar.unpacked/node_modules/@signalapp/better-sqlite3/build/Release/better_sqlite3.node
/snap/signal-desktop/696/opt/Signal/resources/app.asar.unpacked/node_modules/@signalapp/better-sqlite3/build/Release/better_sqlite3.node: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by /snap/signal-desktop/696/opt/Signal/resources/app.asar.unpacked/node_modules/@signalapp/better-sqlite3/build/Release/better_sqlite3.node)
/snap/signal-desktop/696/opt/Signal/resources/app.asar.unpacked/node_modules/@signalapp/better-sqlite3/build/Release/better_sqlite3.node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /snap/signal-desktop/696/opt/Signal/resources/app.asar.unpacked/node_modules/@signalapp/better-sqlite3/build/Release/better_sqlite3.node)
	linux-vdso.so.1 (0x00007f284dc4d000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f284d200000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f284d519000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f284dc22000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f284ce00000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f284dc4f000)
root@tmpbuntu:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.4 LTS"

However, this is a little misleading, because we're running ldd outside of the context of the snap -- if you enter a shell representative of where the snap is run, you'll see the mismatch no longer exists:

root@tmpbuntu:~# snap run --shell signal-desktop.signal-desktop
root@tmpbuntu:~# ldd /snap/signal-desktop/696/opt/Signal/resources/app.asar.unpacked/node_modules/@signalapp/better-sqlite3/build/Release/better_sqlite3.node
	linux-vdso.so.1 (0x00007f813854e000)
	/snap/signal-desktop/696/gnome-platform/$LIB/bindtextdomain.so => /snap/signal-desktop/696/gnome-platform/lib/x86_64-linux-gnu/bindtextdomain.so (0x00007f8138543000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f8137a00000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8138455000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8138426000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8137600000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f8138550000)

Hopefully this clears things up a bit - although sadly we're no closer to solving the underlying issue, which I still believe to be an upstream bug.

@debug686
Copy link

debug686 commented Sep 4, 2024

Are you in contact with upstream? Are they aware of this issue? It's probably better if you, as a maintainer, contacted them, not me as a random user.
There is also this issue:
signalapp/Signal-Desktop#7005
Maybe related?

@AceSlash
Copy link

AceSlash commented Sep 6, 2024

I have the same issue on Fedora 40. Signal is simply unusable.

@debug686
Copy link

@jnsgruk
#300 (comment)

@jnsgruk
Copy link
Member

jnsgruk commented Sep 10, 2024

Yes, I've raised the issue a few times, contacted them out of band and tried to engage through other Github issues, but so far haven't really got any traction.

@martinl
Copy link

martinl commented Sep 11, 2024

I have same Issue on Rocky Linux 9.4 with latest updates

Downgrading to 7.15.0 works as a workaround:
snap remove signal-desktop && snap install signal-desktop --revision=671

@debug686
Copy link

@martinl

Downgrading to 7.15.0 works as a workaround

Does this retain the chat history, done in the initial launch, of a broken version?

@martinl
Copy link

martinl commented Sep 11, 2024

I had different issue now with 7.15.0 when I had it running for a while - QR code to add new device popped up randomly after about 30 mins and chat history was gone on desktop each time I added desktop device back via mobile app.

@quasi8
Copy link

quasi8 commented Sep 13, 2024

I'm still having the same issue with the new version. Testing requires linking a device and opening/closing the application to ensure it opens subsequent times without losing the data.

@fyptog

This comment was marked as off-topic.

@martinl
Copy link

martinl commented Oct 1, 2024 via email

@vgallissot
Copy link

Unfortunately, 7.15.0 is now expired and cannot be launched anymore.

Just upgraded to 7.26.0 and the problem still exist: application is unusable, it crashes at start (same errors as first posts).

2024-10-01 10:49:05.479: ERROR CORE sqlcipher_page_cipher: hmac check failed for pgno=1
2024-10-01 10:49:05.479: ERROR CORE sqlite3Codec: error decrypting page 1 data: 1
2024-10-01 10:49:05.479: ERROR CORE sqlcipher_codec_ctx_set_error 1
{"level":40,"time":"2024-10-01T08:49:05.480Z","msg":"MainSQL: Database log code=26: file is not a database in \"PRAGMA journal_mode = WAL\""}
{"level":30,"time":"2024-10-01T08:49:05.480Z","msg":"MainSQL: migrateDatabase: Migration without cipher change failed"}
2024-10-01 10:49:05.515: ERROR CORE sqlcipher_page_cipher: hmac check failed for pgno=1
2024-10-01 10:49:05.515: ERROR CORE sqlite3Codec: error decrypting page 1 data: 1
2024-10-01 10:49:05.515: ERROR CORE sqlcipher_codec_ctx_set_error 1
{"level":40,"time":"2024-10-01T08:49:05.516Z","msg":"MainSQL: Database log code=26: statement aborts at 2: [PRAGMA user_version] file is not a database"}
{"level":50,"time":"2024-10-01T08:49:05.516Z","msg":"MainSQL: Database startup error: SqliteError: file is not a database\n    at Database.pragma ([REDACTED]/node_modules/@signalapp/better-sqlite3/lib/methods/pragma.js:11:31)\n    at getUserVersion ([REDACTED]/ts/sql/util.js:132:13)\n    at migrateSchemaVersion ([REDACTED]/ts/sql/Server.js:406:54)\n    at openAndMigrateDatabase ([REDACTED]/ts/sql/Server.js:438:5)\n    at openAndSetUpSQLCipher ([REDACTED]/ts/sql/Server.js:460:14)\n    at initialize ([REDACTED]/ts/sql/Server.js:507:10)\n    at MessagePort.<anonymous> ([REDACTED]/ts/sql/mainWorker.js:69:41)\n    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:820:20)\n    at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28)"}
{"level":50,"time":"2024-10-01T08:49:05.516Z","msg":"Failed to get zoom factor {\"name\":\"SqliteError\"}"}
{"level":30,"time":"2024-10-01T08:49:05.818Z","msg":"got fast theme-setting value system"}
{"level":50,"time":"2024-10-01T08:49:06.278Z","msg":"sql.initialize was unsuccessful; returning early"}
{"level":30,"time":"2024-10-01T08:49:06.279Z","msg":"close event {\"readyForShutdown\":false,\"shouldQuit\":false}"}
{"level":30,"time":"2024-10-01T08:49:06.279Z","msg":"maybeRequestCloseConfirmation: Checking to see if close confirmation is needed"}
{"level":50,"time":"2024-10-01T08:49:47.614Z","msg":"onDatabaseError: Quitting application"}

@jnsgruk
Copy link
Member

jnsgruk commented Oct 1, 2024

I have a couple of things to try if anyone is willing, to see if we can get a workaround... first up...

Can you try resetting, and starting Signal from the command-line using signal-desktop --password-store="basic". Then close it, and restart with the same command and see if the issue persists?

(You may need to completely remove signal with sudo snap remove signal-desktop --purge and reinstall before trying this to make sure)

@jnsgruk
Copy link
Member

jnsgruk commented Oct 1, 2024

Another option to try and rule out any confinement issues is to run the binary without confinement. You can do that by opening a terminal and running:

/snap/signal-desktop/current/opt/Signal/signal-desktop --no-sandbox

@vgallissot
Copy link

I confirm that works fine launching with signal-desktop --password-store="basic" once removed and installed in latest version.

Closing and launching again signal-desktop works as long as I'm launching with --password-store="basic".

As soon as I'm launching without this option, same error occurs.

First launch after install logs
# signal-desktop --password-store="basic"
libpxbackend-1.0.so: cannot open shared object file: No such file or directory
Failed to load module: /home/user/snap/signal-desktop/common/.cache/gio-modules/libgiolibproxy.so
Set Windows Application User Model ID (AUMID) { AUMID: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /snap/signal-desktop/708/opt/Signal/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME user-device1
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
SIGNAL_ENABLE_HTTP undefined
userData: /home/user/snap/signal-desktop/708/.config/Signal
config/start: Did not find user config file (or it was empty), cache is now empty object
config/start: Did not find ephemeral config file (or it was empty), cache is now empty object
making app single instance
Error org.freedesktop.DBus.Error.Failed: cannot find desktop file "/var/lib/snapd/desktop/applications/signal-desktop_signal.desktop"
Error org.freedesktop.DBus.Error.Failed: cannot find desktop file "/var/lib/snapd/desktop/applications/signal-desktop_signal.desktop"
Gtk-Message: 14:07:52.696: Failed to load module "pk-gtk-module"
Gtk-Message: 14:07:52.698: Failed to load module "pk-gtk-module"
{"level":30,"time":"2024-10-01T12:07:52.899Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:07:52.903Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:07:52.903Z","msg":"initializing localeOverride setting null"}
{"level":30,"time":"2024-10-01T12:07:52.903Z","msg":"app.ready: hour cycle preference: UnknownPreference"}
{"level":30,"time":"2024-10-01T12:07:52.903Z","msg":"app.ready: preferred system locales: en-US, en"}
{"level":30,"time":"2024-10-01T12:07:52.904Z","msg":"locale: Supported locales: af-ZA, ar, az-AZ, bg-BG, bn-BD, bs-BA, ca, cs, da, de, el, en, es, et-EE, eu, fa-IR, fi, fr, ga-IE, gl-ES, gu-IN, he, hi-IN, hr-HR, hu, id, it, ja, ka-GE, kk-KZ, km-KH, kn-IN, ko, ky-KG, lt-LT, lv-LV, mk-MK, ml-IN, mr-IN, ms, my, nb, nl, pa-IN, pl, pt-BR, pt-PT, ro-RO, ru, sk-SK, sl-SI, sq-AL, sr, sv, sw, ta-IN, te-IN, th, tl-PH, tr, ug, uk-UA, ur, vi, yue, zh-CN, zh-HK, zh-Hant"}
{"level":30,"time":"2024-10-01T12:07:52.904Z","msg":"locale: Preferred locales: en-US, en"}
{"level":30,"time":"2024-10-01T12:07:52.904Z","msg":"locale: Locale Override: null"}
{"level":30,"time":"2024-10-01T12:07:52.906Z","msg":"locale: Matched locale: en"}
{"level":40,"time":"2024-10-01T12:07:52.950Z","msg":"intl.onWarn [@formatjs/intl] \"defaultRichTextElements\" was specified but \"message\" was not pre-compiled. \nPlease consider using \"@formatjs/cli\" to pre-compile your messages for performance.\nFor more details see https://formatjs.io/docs/getting-started/message-distribution"}
{"level":30,"time":"2024-10-01T12:07:52.951Z","msg":"locale: Text info direction for en: ltr"}
{"level":40,"time":"2024-10-01T12:07:52.951Z","msg":"getSQLKey: got key from config, but it wasn't a string"}
{"level":30,"time":"2024-10-01T12:07:52.951Z","msg":"key/initialize: Generating new encryption key, since we did not find it on disk"}
{"level":30,"time":"2024-10-01T12:07:52.952Z","msg":"getSQLKey: updating plaintext key in the config"}
{"level":30,"time":"2024-10-01T12:07:52.952Z","msg":"config/set: Saving user config to disk"}
{"level":30,"time":"2024-10-01T12:07:52.956Z","msg":"config/set: Saved user config to disk"}
{"level":30,"time":"2024-10-01T12:07:52.958Z","msg":"getSystemTraySetting got no value, returning Uninitialized"}
{"level":30,"time":"2024-10-01T12:07:52.959Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:07:52.960Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:07:52.960Z","msg":"app.ready: setting system-tray-setting to DoNotUseSystemTray"}
{"level":30,"time":"2024-10-01T12:07:52.961Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:07:52.962Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:07:52.964Z","msg":"app ready"}
{"level":30,"time":"2024-10-01T12:07:52.964Z","msg":"starting version 7.26.0"}
{"level":30,"time":"2024-10-01T12:07:52.964Z","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2024-10-01T12:07:52.976Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:07:52.978Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:07:52.978Z","msg":"saving theme-setting value system"}
{"level":30,"time":"2024-10-01T12:07:52.978Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:07:52.979Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:07:52.979Z","msg":"initializing spellcheck setting true"}
{"level":30,"time":"2024-10-01T12:07:52.979Z","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":800,\"height\":610,\"minWidth\":300,\"minHeight\":200,\"autoHideMenuBar\":false,\"titleBarStyle\":\"default\",\"backgroundColor\":\"#3a76f0\",\"webPreferences\":{\"devTools\":false,\"spellcheck\":true,\"enableBlinkFeatures\":\"CSSPseudoDir,CSSLogical\",\"enablePreferredSizeMode\":true,\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"sandbox\":false,\"contextIsolation\":true,\"preload\":\"[REDACTED]/preload.wrapper.js\",\"backgroundThrottling\":true,\"disableBlinkFeatures\":\"Accelerated2dCanvas,AcceleratedSmallCanvases\"},\"icon\":\"[REDACTED]/images/signal-logo-desktop-linux.png\"}"}
{"level":30,"time":"2024-10-01T12:07:53.032Z","msg":"spellcheck: user locales: [\"en-US\",\"en\"]"}
{"level":30,"time":"2024-10-01T12:07:53.033Z","msg":"spellcheck: available spellchecker languages: [\"af\",\"bg\",\"ca\",\"cs\",\"cy\",\"da\",\"de\",\"de-DE\",\"el\",\"en\",\"en-AU\",\"en-CA\",\"en-GB\",\"en-GB-oxendict\",\"en-US\",\"es\",\"es-419\",\"es-AR\",\"es-ES\",\"es-MX\",\"es-US\",\"et\",\"fa\",\"fo\",\"fr\",\"fr-FR\",\"he\",\"hi\",\"hr\",\"hu\",\"hy\",\"id\",\"it\",\"it-IT\",\"ko\",\"lt\",\"lv\",\"nb\",\"nl\",\"pl\",\"pt\",\"pt-BR\",\"pt-PT\",\"ro\",\"ru\",\"sh\",\"sk\",\"sl\",\"sq\",\"sr\",\"sv\",\"ta\",\"tg\",\"tr\",\"uk\",\"vi\"]"}
{"level":30,"time":"2024-10-01T12:07:53.033Z","msg":"spellcheck: setting languages to: [\"en-US\",\"en\"]"}
{"level":30,"time":"2024-10-01T12:07:53.034Z","msg":"spellcheck: dictionary download begin: en"}
{"level":30,"time":"2024-10-01T12:07:53.034Z","msg":"spellcheck: dictionary download begin: en-US"}
{"level":30,"time":"2024-10-01T12:07:53.105Z","msg":"MainSQL: migrateSchemaVersion: Migrating from schema_version 0 to user_version 0"}
{"level":30,"time":"2024-10-01T12:07:53.108Z","msg":"MainSQL: updateSchema:\n  Current user_version: 0;\n  Most recent db schema: 1210;\n  SQLite version: 3.46.1;\n  SQLCipher version: 4.6.1 community;\n  (deprecated) schema_version: 0;\n"}
{"level":30,"time":"2024-10-01T12:07:53.108Z","msg":"MainSQL: updateToSchemaVersion1: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.109Z","msg":"MainSQL: updateToSchemaVersion1: success!"}
{"level":30,"time":"2024-10-01T12:07:53.109Z","msg":"MainSQL: updateToSchemaVersion2: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.110Z","msg":"MainSQL: updateToSchemaVersion2: success!"}
{"level":30,"time":"2024-10-01T12:07:53.110Z","msg":"MainSQL: updateToSchemaVersion3: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.111Z","msg":"MainSQL: updateToSchemaVersion3: success!"}
{"level":30,"time":"2024-10-01T12:07:53.111Z","msg":"MainSQL: updateToSchemaVersion4: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.112Z","msg":"MainSQL: updateToSchemaVersion4: success!"}
{"level":30,"time":"2024-10-01T12:07:53.112Z","msg":"MainSQL: updateToSchemaVersion6: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.113Z","msg":"MainSQL: updateToSchemaVersion6: success!"}
{"level":30,"time":"2024-10-01T12:07:53.114Z","msg":"MainSQL: updateToSchemaVersion7: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.115Z","msg":"MainSQL: updateToSchemaVersion7: success!"}
{"level":30,"time":"2024-10-01T12:07:53.115Z","msg":"MainSQL: updateToSchemaVersion8: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.116Z","msg":"MainSQL: updateToSchemaVersion8: success!"}
{"level":30,"time":"2024-10-01T12:07:53.116Z","msg":"MainSQL: updateToSchemaVersion9: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.117Z","msg":"MainSQL: updateToSchemaVersion9: success!"}
{"level":30,"time":"2024-10-01T12:07:53.117Z","msg":"MainSQL: updateToSchemaVersion10: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.118Z","msg":"MainSQL: updateToSchemaVersion10: success!"}
{"level":30,"time":"2024-10-01T12:07:53.119Z","msg":"MainSQL: updateToSchemaVersion11: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.120Z","msg":"MainSQL: updateToSchemaVersion11: success!"}
{"level":30,"time":"2024-10-01T12:07:53.120Z","msg":"MainSQL: updateToSchemaVersion12: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.121Z","msg":"MainSQL: updateToSchemaVersion12: success!"}
{"level":30,"time":"2024-10-01T12:07:53.121Z","msg":"MainSQL: updateToSchemaVersion13: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.122Z","msg":"MainSQL: updateToSchemaVersion13: success!"}
{"level":30,"time":"2024-10-01T12:07:53.122Z","msg":"MainSQL: updateToSchemaVersion14: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.123Z","msg":"MainSQL: updateToSchemaVersion14: success!"}
{"level":30,"time":"2024-10-01T12:07:53.123Z","msg":"MainSQL: updateToSchemaVersion15: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.125Z","msg":"MainSQL: updateToSchemaVersion15: success!"}
{"level":30,"time":"2024-10-01T12:07:53.125Z","msg":"MainSQL: updateToSchemaVersion16: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.127Z","msg":"MainSQL: updateToSchemaVersion16: success!"}
{"level":30,"time":"2024-10-01T12:07:53.127Z","msg":"MainSQL: updateToSchemaVersion17: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.128Z","msg":"MainSQL: updateToSchemaVersion17: success!"}
{"level":30,"time":"2024-10-01T12:07:53.128Z","msg":"MainSQL: updateToSchemaVersion18: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.129Z","msg":"MainSQL: updateToSchemaVersion18: success!"}
{"level":30,"time":"2024-10-01T12:07:53.129Z","msg":"MainSQL: updateToSchemaVersion19: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.130Z","msg":"MainSQL: updateToSchemaVersion19: success!"}
{"level":30,"time":"2024-10-01T12:07:53.130Z","msg":"MainSQL: updateToSchemaVersion20: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.133Z","msg":"MainSQL: updateToSchemaVersion20: success!"}
{"level":30,"time":"2024-10-01T12:07:53.133Z","msg":"MainSQL: updateToSchemaVersion21: success!"}
{"level":30,"time":"2024-10-01T12:07:53.134Z","msg":"MainSQL: updateToSchemaVersion22: success!"}
{"level":30,"time":"2024-10-01T12:07:53.135Z","msg":"MainSQL: updateToSchemaVersion23: success!"}
{"level":30,"time":"2024-10-01T12:07:53.136Z","msg":"MainSQL: updateToSchemaVersion24: success!"}
{"level":30,"time":"2024-10-01T12:07:53.139Z","msg":"MainSQL: updateToSchemaVersion25: success!"}
{"level":30,"time":"2024-10-01T12:07:53.140Z","msg":"MainSQL: updateToSchemaVersion26: success!"}
{"level":30,"time":"2024-10-01T12:07:53.141Z","msg":"MainSQL: updateToSchemaVersion27: success!"}
{"level":30,"time":"2024-10-01T12:07:53.142Z","msg":"MainSQL: updateToSchemaVersion28: success!"}
{"level":30,"time":"2024-10-01T12:07:53.143Z","msg":"MainSQL: updateToSchemaVersion29: success!"}
{"level":30,"time":"2024-10-01T12:07:53.144Z","msg":"MainSQL: updateToSchemaVersion30: success!"}
{"level":30,"time":"2024-10-01T12:07:53.144Z","msg":"MainSQL: updateToSchemaVersion31: starting..."}
{"level":30,"time":"2024-10-01T12:07:53.145Z","msg":"MainSQL: updateToSchemaVersion31: success!"}
{"level":30,"time":"2024-10-01T12:07:53.147Z","msg":"MainSQL: updateToSchemaVersion32: success!"}
{"level":30,"time":"2024-10-01T12:07:53.148Z","msg":"MainSQL: updateToSchemaVersion33: success!"}
{"level":30,"time":"2024-10-01T12:07:53.149Z","msg":"MainSQL: updateToSchemaVersion34: success!"}
{"level":30,"time":"2024-10-01T12:07:53.149Z","msg":"MainSQL: updateToSchemaVersion35: success!"}
{"level":30,"time":"2024-10-01T12:07:53.150Z","msg":"MainSQL: updateToSchemaVersion36: success!"}
{"level":30,"time":"2024-10-01T12:07:53.152Z","msg":"MainSQL: updateToSchemaVersion37: success!"}
{"level":30,"time":"2024-10-01T12:07:53.156Z","msg":"MainSQL: updateToSchemaVersion38: success!"}
{"level":30,"time":"2024-10-01T12:07:53.158Z","msg":"MainSQL: updateToSchemaVersion39: success!"}
{"level":30,"time":"2024-10-01T12:07:53.158Z","msg":"MainSQL: updateToSchemaVersion40: success!"}
{"level":30,"time":"2024-10-01T12:07:53.162Z","msg":"MainSQL: updateToSchemaVersion41: success!"}
{"level":30,"time":"2024-10-01T12:07:53.163Z","msg":"MainSQL: updateToSchemaVersion42: success!"}
{"level":30,"time":"2024-10-01T12:07:53.163Z","msg":"MainSQL: updateToSchemaVersion43: About to iterate through 0 conversations"}
{"level":30,"time":"2024-10-01T12:07:53.163Z","msg":"MainSQL: updateToSchemaVersion43: About to iterate through 0 messages"}
{"level":30,"time":"2024-10-01T12:07:53.163Z","msg":"MainSQL: updateToSchemaVersion43: Updated 0 messages"}
{"level":30,"time":"2024-10-01T12:07:53.164Z","msg":"MainSQL: updateToSchemaVersion43: success!"}
{"level":30,"time":"2024-10-01T12:07:53.165Z","msg":"MainSQL: updateToSchemaVersion44: success!"}
{"level":30,"time":"2024-10-01T12:07:53.167Z","msg":"MainSQL: updateToSchemaVersion45: success!"}
{"level":30,"time":"2024-10-01T12:07:53.168Z","msg":"MainSQL: updateToSchemaVersion46: success!"}
{"level":30,"time":"2024-10-01T12:07:53.172Z","msg":"MainSQL: updateToSchemaVersion47: our UUID not found"}
{"level":30,"time":"2024-10-01T12:07:53.173Z","msg":"MainSQL: updateToSchemaVersion47: success!"}
{"level":30,"time":"2024-10-01T12:07:53.174Z","msg":"MainSQL: updateToSchemaVersion48: success!"}
{"level":30,"time":"2024-10-01T12:07:53.175Z","msg":"MainSQL: updateToSchemaVersion49: success!"}
{"level":30,"time":"2024-10-01T12:07:53.176Z","msg":"MainSQL: updateToSchemaVersion50: success!"}
{"level":30,"time":"2024-10-01T12:07:53.177Z","msg":"MainSQL: updateToSchemaVersion51: success!"}
{"level":30,"time":"2024-10-01T12:07:53.178Z","msg":"MainSQL: updateToSchemaVersion52: success!"}
{"level":30,"time":"2024-10-01T12:07:53.178Z","msg":"MainSQL: updateToSchemaVersion53: About to iterate through 0 conversations"}
{"level":30,"time":"2024-10-01T12:07:53.178Z","msg":"MainSQL: updateToSchemaVersion53: Updated 0 conversations"}
{"level":30,"time":"2024-10-01T12:07:53.178Z","msg":"MainSQL: updateToSchemaVersion53: success!"}
{"level":30,"time":"2024-10-01T12:07:53.180Z","msg":"MainSQL: updateToSchemaVersion54: success!"}
{"level":30,"time":"2024-10-01T12:07:53.180Z","msg":"MainSQL: updateToSchemaVersion55: success!"}
{"level":30,"time":"2024-10-01T12:07:53.182Z","msg":"MainSQL: updateToSchemaVersion56: success!"}
{"level":30,"time":"2024-10-01T12:07:53.183Z","msg":"MainSQL: updateToSchemaVersion57: success!"}
{"level":30,"time":"2024-10-01T12:07:53.184Z","msg":"MainSQL: updateToSchemaVersion58: success!"}
{"level":30,"time":"2024-10-01T12:07:53.185Z","msg":"MainSQL: updateToSchemaVersion59: success!"}
{"level":30,"time":"2024-10-01T12:07:53.186Z","msg":"MainSQL: updateToSchemaVersion60: success!"}
{"level":30,"time":"2024-10-01T12:07:53.193Z","msg":"MainSQL: updateToSchemaVersion61: success!"}
{"level":30,"time":"2024-10-01T12:07:53.194Z","msg":"MainSQL: updateToSchemaVersion62: success!"}
{"level":30,"time":"2024-10-01T12:07:53.195Z","msg":"MainSQL: updateToSchemaVersion63: success!"}
{"level":30,"time":"2024-10-01T12:07:53.196Z","msg":"MainSQL: updateToSchemaVersion64: success!"}
{"level":30,"time":"2024-10-01T12:07:53.199Z","msg":"MainSQL: updateToSchemaVersion65: success!"}
{"level":30,"time":"2024-10-01T12:07:53.200Z","msg":"MainSQL: updateToSchemaVersion66: success!"}
{"level":30,"time":"2024-10-01T12:07:53.201Z","msg":"MainSQL: updateToSchemaVersion67: success!"}
{"level":30,"time":"2024-10-01T12:07:53.206Z","msg":"MainSQL: updateToSchemaVersion68: success!"}
{"level":30,"time":"2024-10-01T12:07:53.207Z","msg":"MainSQL: updateToSchemaVersion69: success!"}
{"level":30,"time":"2024-10-01T12:07:53.208Z","msg":"MainSQL: updateToSchemaVersion70: success!"}
{"level":30,"time":"2024-10-01T12:07:53.214Z","msg":"MainSQL: updateToSchemaVersion71: success!"}
{"level":30,"time":"2024-10-01T12:07:53.216Z","msg":"MainSQL: updateToSchemaVersion72: success!"}
{"level":30,"time":"2024-10-01T12:07:53.224Z","msg":"MainSQL: updateToSchemaVersion73: success!"}
{"level":30,"time":"2024-10-01T12:07:53.225Z","msg":"MainSQL: updateToSchemaVersion74: success!"}
{"level":30,"time":"2024-10-01T12:07:53.225Z","msg":"MainSQL: updateToSchemaVersion75: success!"}
{"level":30,"time":"2024-10-01T12:07:53.228Z","msg":"MainSQL: updateToSchemaVersion76: success!"}
{"level":30,"time":"2024-10-01T12:07:53.230Z","msg":"MainSQL: updateToSchemaVersion77: success!"}
{"level":30,"time":"2024-10-01T12:07:53.231Z","msg":"MainSQL: updateToSchemaVersion78: success!"}
{"level":30,"time":"2024-10-01T12:07:53.231Z","msg":"MainSQL: updateToSchemaVersion79: success!"}
{"level":30,"time":"2024-10-01T12:07:53.232Z","msg":"MainSQL: updateToSchemaVersion80: success!"}
{"level":30,"time":"2024-10-01T12:07:53.241Z","msg":"MainSQL: updateToSchemaVersion81: success!"}
{"level":30,"time":"2024-10-01T12:07:53.243Z","msg":"MainSQL: updateToSchemaVersion82: success!"}
{"level":30,"time":"2024-10-01T12:07:53.245Z","msg":"MainSQL: updateToSchemaVersion83: success!"}
{"level":30,"time":"2024-10-01T12:07:53.246Z","msg":"MainSQL: updateToSchemaVersion84: success!"}
{"level":30,"time":"2024-10-01T12:07:53.247Z","msg":"MainSQL: updateToSchemaVersion85: success!"}
{"level":30,"time":"2024-10-01T12:07:53.248Z","msg":"MainSQL: updateToSchemaVersion86: success!"}
{"level":30,"time":"2024-10-01T12:07:53.248Z","msg":"MainSQL: updateToSchemaVersion87(cleanup)/kyberPreKeys: Our PNI not found"}
{"level":30,"time":"2024-10-01T12:07:53.248Z","msg":"MainSQL: updateToSchemaVersion87(cleanup)/preKeys: Our PNI not found"}
{"level":30,"time":"2024-10-01T12:07:53.248Z","msg":"MainSQL: updateToSchemaVersion87(cleanup)/signedPreKeys: Our PNI not found"}
{"level":30,"time":"2024-10-01T12:07:53.248Z","msg":"MainSQL: updateToSchemaVersion87(cleanup): success!"}
{"level":30,"time":"2024-10-01T12:07:53.278Z","msg":"MainSQL: updateToSchemaVersion88: updating 0 conversations"}
{"level":30,"time":"2024-10-01T12:07:53.278Z","msg":"MainSQL: updateToSchemaVersion88: Our UUID not found"}
{"level":30,"time":"2024-10-01T12:07:53.278Z","msg":"MainSQL: updateToSchemaVersion88: Our PNI not found"}
{"level":30,"time":"2024-10-01T12:07:53.278Z","msg":"MainSQL: updateToSchemaVersion88: updating 0 sessions"}
{"level":30,"time":"2024-10-01T12:07:53.278Z","msg":"MainSQL: updateToSchemaVersion88: updating messages"}
{"level":30,"time":"2024-10-01T12:07:53.278Z","msg":"MainSQL: updateToSchemaVersion88: updated 0 messages"}
{"level":30,"time":"2024-10-01T12:07:53.278Z","msg":"MainSQL: updateToSchemaVersion88: updating 0 preKeys"}
{"level":30,"time":"2024-10-01T12:07:53.278Z","msg":"MainSQL: updateToSchemaVersion88: updating 0 signedPreKeys"}
{"level":30,"time":"2024-10-01T12:07:53.278Z","msg":"MainSQL: updateToSchemaVersion88: updating 0 kyberPreKeys"}
{"level":30,"time":"2024-10-01T12:07:53.278Z","msg":"MainSQL: updateToSchemaVersion88: updated 0 jobs"}
{"level":30,"time":"2024-10-01T12:07:53.280Z","msg":"MainSQL: updateToSchemaVersion88: success!"}
{"level":30,"time":"2024-10-01T12:07:53.287Z","msg":"MainSQL: updateToSchemaVersion89: success!"}
{"level":30,"time":"2024-10-01T12:07:53.288Z","msg":"MainSQL: updateToSchemaVersion90: removed screenshotData from 0 message"}
{"level":30,"time":"2024-10-01T12:07:53.288Z","msg":"MainSQL: updateToSchemaVersion90: success!"}
{"level":30,"time":"2024-10-01T12:07:53.296Z","msg":"MainSQL: updateToSchemaVersion91: Found 0 keys"}
{"level":30,"time":"2024-10-01T12:07:53.297Z","msg":"MainSQL: updateToSchemaVersion91: success!"}
{"level":30,"time":"2024-10-01T12:07:53.297Z","msg":"MainSQL: updateToSchemaVersion920/kyberPreKeys: Our PNI not found"}
{"level":30,"time":"2024-10-01T12:07:53.297Z","msg":"MainSQL: updateToSchemaVersion920/signedPreKeys: Our PNI not found"}
{"level":30,"time":"2024-10-01T12:07:53.297Z","msg":"MainSQL: updateToSchemaVersion920: Done with deletions"}
{"level":30,"time":"2024-10-01T12:07:53.298Z","msg":"MainSQL: updateToSchemaVersion920: user_version set to 920. Starting vacuum..."}
{"level":30,"time":"2024-10-01T12:07:53.308Z","msg":"MainSQL: updateToSchemaVersion920: Vacuum complete."}
{"level":30,"time":"2024-10-01T12:07:53.308Z","msg":"MainSQL: updateToSchemaVersion920: success!"}
{"level":30,"time":"2024-10-01T12:07:53.309Z","msg":"MainSQL: updateToSchemaVersion930: success!"}
{"level":30,"time":"2024-10-01T12:07:53.310Z","msg":"MainSQL: updateToSchemaVersion940: success!"}
{"level":30,"time":"2024-10-01T12:07:53.310Z","msg":"MainSQL: updateToSchemaVersion950: success!"}
{"level":30,"time":"2024-10-01T12:07:53.312Z","msg":"MainSQL: updateToSchemaVersion960: Our ACI not found"}
{"level":30,"time":"2024-10-01T12:07:53.312Z","msg":"MainSQL: updateToSchemaVersion960: not running, pni is normalized"}
{"level":30,"time":"2024-10-01T12:07:53.312Z","msg":"MainSQL: updateToSchemaVersion960: success!"}
{"level":30,"time":"2024-10-01T12:07:53.313Z","msg":"MainSQL: updateToSchemaVersion970: success! fts optimize took 1ms"}
{"level":30,"time":"2024-10-01T12:07:53.314Z","msg":"MainSQL: updateToSchemaVersion980: success!"}
{"level":30,"time":"2024-10-01T12:07:53.315Z","msg":"MainSQL: updateToSchemaVersion990: success!"}
{"level":30,"time":"2024-10-01T12:07:53.316Z","msg":"MainSQL: updateToSchemaVersion1000: success!"}
{"level":30,"time":"2024-10-01T12:07:53.317Z","msg":"MainSQL: updateToSchemaVersion1010: success!"}
{"level":30,"time":"2024-10-01T12:07:53.317Z","msg":"MainSQL: updateToSchemaVersion1020: not linked"}
{"level":30,"time":"2024-10-01T12:07:53.317Z","msg":"MainSQL: updateToSchemaVersion1020: success!"}
{"level":30,"time":"2024-10-01T12:07:53.324Z","msg":"MainSQL: updateToSchemaVersion1030: success!"}
{"level":30,"time":"2024-10-01T12:07:53.324Z","msg":"MainSQL: updateToSchemaVersion1040: loaded 0 existing jobs"}
{"level":30,"time":"2024-10-01T12:07:53.326Z","msg":"MainSQL: updateToSchemaVersion1040: transferred 0 rows, removed 0"}
{"level":30,"time":"2024-10-01T12:07:53.327Z","msg":"MainSQL: updateToSchemaVersion1040: success!"}
{"level":30,"time":"2024-10-01T12:07:53.328Z","msg":"MainSQL: updateToSchemaVersion1050: success!"}
{"level":30,"time":"2024-10-01T12:07:53.330Z","msg":"MainSQL: updateToSchemaVersion1060: success!"}
{"level":30,"time":"2024-10-01T12:07:53.331Z","msg":"MainSQL: updateToSchemaVersion1070: success!"}
{"level":30,"time":"2024-10-01T12:07:53.332Z","msg":"MainSQL: updateToSchemaVersion1080: success!"}
{"level":30,"time":"2024-10-01T12:07:53.333Z","msg":"MainSQL: updateToSchemaVersion1090: success!"}
{"level":30,"time":"2024-10-01T12:07:53.334Z","msg":"MainSQL: updateToSchemaVersion1100: success!"}
{"level":30,"time":"2024-10-01T12:07:53.336Z","msg":"MainSQL: updateToSchemaVersion1110: success!"}
{"level":30,"time":"2024-10-01T12:07:53.337Z","msg":"MainSQL: updateToSchemaVersion1120: success!"}
{"level":30,"time":"2024-10-01T12:07:53.338Z","msg":"MainSQL: updateToSchemaVersion1130: success!"}
{"level":30,"time":"2024-10-01T12:07:53.340Z","msg":"MainSQL: updateToSchemaVersion1140: success!"}
{"level":30,"time":"2024-10-01T12:07:53.341Z","msg":"MainSQL: updateToSchemaVersion1150: success!"}
{"level":30,"time":"2024-10-01T12:07:53.342Z","msg":"MainSQL: updateToSchemaVersion1160: success!"}
{"level":30,"time":"2024-10-01T12:07:53.343Z","msg":"MainSQL: updateToSchemaVersion1170: success!"}
{"level":30,"time":"2024-10-01T12:07:53.345Z","msg":"MainSQL: updateToSchemaVersion1180: success!"}
{"level":30,"time":"2024-10-01T12:07:53.349Z","msg":"MainSQL: updateToSchemaVersion1190: success!"}
{"level":30,"time":"2024-10-01T12:07:53.350Z","msg":"MainSQL: updateToSchemaVersion1200: success!"}
{"level":30,"time":"2024-10-01T12:07:53.352Z","msg":"MainSQL: updateToSchemaVersion1210: success!"}
{"level":30,"time":"2024-10-01T12:07:53.352Z","msg":"MainSQL: enableFTS5SecureDelete: enabling"}
{"level":30,"time":"2024-10-01T12:07:53.355Z","msg":"MainSQL: updateSchema: optimize took 1ms"}
{"level":30,"time":"2024-10-01T12:07:53.723Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2024-10-01T12:07:54.211Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2024-10-01T12:07:54.215Z","msg":"System tray service: created"}
{"level":30,"time":"2024-10-01T12:07:54.215Z","msg":"System tray service: updating main window. Previously, there was not a window, and now there is"}
{"level":30,"time":"2024-10-01T12:07:54.215Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-10-01T12:07:54.215Z","msg":"Begin ensuring permissions"}
{"level":30,"time":"2024-10-01T12:07:54.216Z","msg":"Ensuring file permissions for 4 files"}
{"level":30,"time":"2024-10-01T12:07:54.216Z","msg":"Finish ensuring permissions in 1ms"}
{"level":30,"time":"2024-10-01T12:07:54.218Z","msg":"main window is ready-to-show"}
{"level":30,"time":"2024-10-01T12:07:54.219Z","msg":"showing main window"}
{"level":30,"time":"2024-10-01T12:07:54.220Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-10-01T12:07:54.258Z","msg":"deleteAllBadges: deleted 0 files"}
{"level":30,"time":"2024-10-01T12:07:54.259Z","msg":"MainSQL: removeKnownStickers: About to iterate through 0 stickers"}
{"level":30,"time":"2024-10-01T12:07:54.259Z","msg":"MainSQL: removeKnownStickers: Done processing 0 stickers"}
{"level":30,"time":"2024-10-01T12:07:54.260Z","msg":"deleteAllStickers: deleted 0 files"}
{"level":30,"time":"2024-10-01T12:07:54.260Z","msg":"MainSQL: removeKnownDraftAttachments: About to iterate through 0 conversations"}
{"level":30,"time":"2024-10-01T12:07:54.260Z","msg":"MainSQL: removeKnownDraftAttachments: Done processing 0 conversations"}
{"level":30,"time":"2024-10-01T12:07:54.260Z","msg":"deleteAllDraftAttachments: deleted 0 files"}
{"level":30,"time":"2024-10-01T12:07:54.261Z","msg":"cleanupOrphanedAttachments: found 0 attachments on disk"}
{"level":30,"time":"2024-10-01T12:07:54.261Z","msg":"cleanupOrphanedAttachments: found 0 downloads on disk"}
{"level":30,"time":"2024-10-01T12:07:54.261Z","msg":"MainSQL: getKnownConversationAttachments: About to iterate through 0"}
{"level":30,"time":"2024-10-01T12:07:54.262Z","msg":"MainSQL: getKnownConversationAttachments: Done processing"}
{"level":30,"time":"2024-10-01T12:07:54.262Z","msg":"cleanupOrphanedAttachments: found 0 conversation attachments (0 missing), 0 remain"}
{"level":30,"time":"2024-10-01T12:07:54.262Z","msg":"cleanupOrphanedAttachments: found 0 downloads (0 missing), 0 remain"}
{"level":30,"time":"2024-10-01T12:07:54.262Z","msg":"cleanupOrphanedAttachments: took 5ms"}
{"level":30,"time":"2024-10-01T12:07:54.263Z","msg":"MainSQL: pageMessages(XXX): Starting iteration through 0 messages"}
{"level":30,"time":"2024-10-01T12:07:54.314Z","msg":"MainSQL: finishPageMessages(XXX): reached the end after processing 0 messages"}
{"level":30,"time":"2024-10-01T12:07:54.314Z","msg":"cleanupOrphanedAttachments: found 0 message attachments, (0 missing) 0 remain"}
{"level":30,"time":"2024-10-01T12:07:54.315Z","msg":"deleteAll: deleted 0 files"}
{"level":30,"time":"2024-10-01T12:07:54.315Z","msg":"cleanupOrphanedAttachments: found 0 downloads (0 missing) 0 remain"}
{"level":30,"time":"2024-10-01T12:07:54.315Z","msg":"deleteAllDownloads: deleted 0 files"}
{"level":30,"time":"2024-10-01T12:07:54.315Z","msg":"deleteOrphanedAttachments: took 53ms"}
{"level":30,"time":"2024-10-01T12:07:54.317Z","msg":"updater/start: Updates disabled - not starting new version checks"}
{"level":30,"time":"2024-10-01T12:07:54.319Z","msg":"Prevent display sleep service: allowing display sleep"}
{"level":30,"time":"2024-10-01T12:07:54.319Z","msg":"Background throttling enabled because no call is active"}
{"level":30,"time":"2024-10-01T12:07:54.324Z","msg":"MainSQL: getAllUnprocessedIds"}
{"level":30,"time":"2024-10-01T12:07:58.036Z","msg":"spellcheck: dictionary download success: en"}
{"level":30,"time":"2024-10-01T12:07:58.037Z","msg":"spellcheck: dictionary download success: en-US"}
{"level":30,"time":"2024-10-01T12:07:58.037Z","msg":"spellcheck: dictionary initialized: en"}
{"level":30,"time":"2024-10-01T12:07:58.038Z","msg":"spellcheck: dictionary initialized: en-US"}
{"level":30,"time":"2024-10-01T12:08:23.717Z","msg":"Updating BrowserWindow config: %s {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":800,\"height\":610,\"x\":2718,\"y\":215}"}
{"level":30,"time":"2024-10-01T12:08:23.718Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:08:23.729Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:08:26.452Z","msg":"Updating BrowserWindow config: %s {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":937,\"height\":692,\"x\":2718,\"y\":215}"}
{"level":30,"time":"2024-10-01T12:08:26.452Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:08:26.462Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:08:30.120Z","msg":"Updating BrowserWindow config: %s {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":937,\"height\":692,\"x\":2283,\"y\":146}"}
{"level":30,"time":"2024-10-01T12:08:30.121Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:08:30.131Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:08:31.805Z","msg":"Updating BrowserWindow config: %s {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":937,\"height\":692,\"x\":2293,\"y\":148}"}
{"level":30,"time":"2024-10-01T12:08:31.805Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:08:31.816Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:08:32.723Z","msg":"Updating BrowserWindow config: %s {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":937,\"height\":692,\"x\":2301,\"y\":149}"}
{"level":30,"time":"2024-10-01T12:08:32.723Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:08:32.734Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:08:39.665Z","msg":"Updating BrowserWindow config: %s {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":937,\"height\":692,\"x\":2886,\"y\":157}"}
{"level":30,"time":"2024-10-01T12:08:39.665Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:08:39.666Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2024-10-01T12:10:24.474Z","msg":"MainSQL: getAllUnprocessedIds"}
{"level":30,"time":"2024-10-01T12:10:24.761Z","msg":"MainSQL: getAllUnprocessedIds"}
{"level":30,"time":"2024-10-01T12:10:24.773Z","msg":"App loaded - time: 151811"}
{"level":30,"time":"2024-10-01T12:10:24.773Z","msg":"SQL init - time: 409"}
{"level":30,"time":"2024-10-01T12:10:24.773Z","msg":"Preload - time: 480"}
{"level":30,"time":"2024-10-01T12:10:24.773Z","msg":"WebSocket connect - time: 150581"}
{"level":30,"time":"2024-10-01T12:10:24.773Z","msg":"Processed count: 0"}
{"level":30,"time":"2024-10-01T12:10:24.773Z","msg":"Messages per second: 0"}
{"level":30,"time":"2024-10-01T12:11:02.448Z","msg":"close event {\"readyForShutdown\":false,\"shouldQuit\":false}"}
{"level":30,"time":"2024-10-01T12:11:02.449Z","msg":"maybeRequestCloseConfirmation: Checking to see if close confirmation is needed"}
{"level":30,"time":"2024-10-01T12:11:02.450Z","msg":"maybeRequestCloseConfirmation: Response received"}
{"level":30,"time":"2024-10-01T12:11:02.452Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-10-01T12:11:02.453Z","msg":"requestShutdown: Requesting close of mainWindow..."}
{"level":30,"time":"2024-10-01T12:11:02.463Z","msg":"requestShutdown: Response received"}
{"level":30,"time":"2024-10-01T12:11:02.477Z","msg":"before-quit event {\"readyForShutdown\":true,\"shouldQuit\":false,\"hasEventBeenPrevented\":false,\"windowCount\":1,\"mainWindowExists\":true,\"mainWindowIsFullScreen\":false}"}
{"level":30,"time":"2024-10-01T12:11:02.477Z","msg":"System tray service: markShouldQuit"}
{"level":30,"time":"2024-10-01T12:11:02.477Z","msg":"close event {\"readyForShutdown\":true,\"shouldQuit\":true}"}
{"level":30,"time":"2024-10-01T12:11:02.478Z","msg":"main window closed event"}
{"level":30,"time":"2024-10-01T12:11:02.478Z","msg":"System tray service: updating main window. Previously, there was a window, and now there is not"}
{"level":30,"time":"2024-10-01T12:11:02.478Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-10-01T12:11:02.478Z","msg":"will-quit event {\"hasEventBeenPrevented\":false,\"windowCount\":0,\"mainWindowExists\":false}"}
{"level":30,"time":"2024-10-01T12:11:02.478Z","msg":"quit event {\"hasEventBeenPrevented\":false,\"windowCount\":0,\"mainWindowExists\":false}"}
Second launch after install logs
# signal-desktop --password-store="basic"
Set Windows Application User Model ID (AUMID) { AUMID: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /snap/signal-desktop/708/opt/Signal/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME user-device1
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
SIGNAL_ENABLE_HTTP undefined
userData: /home/user/snap/signal-desktop/708/.config/Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
making app single instance
Error org.freedesktop.DBus.Error.Failed: cannot find desktop file "/var/lib/snapd/desktop/applications/signal-desktop_signal.desktop"
Error org.freedesktop.DBus.Error.Failed: cannot find desktop file "/var/lib/snapd/desktop/applications/signal-desktop_signal.desktop"
Gtk-Message: 14:11:12.211: Failed to load module "pk-gtk-module"
Gtk-Message: 14:11:12.212: Failed to load module "pk-gtk-module"
{"level":30,"time":"2024-10-01T12:11:12.403Z","msg":"got fast localeOverride setting null"}
{"level":30,"time":"2024-10-01T12:11:12.403Z","msg":"app.ready: hour cycle preference: UnknownPreference"}
{"level":30,"time":"2024-10-01T12:11:12.403Z","msg":"app.ready: preferred system locales: en-US, en"}
{"level":30,"time":"2024-10-01T12:11:12.404Z","msg":"locale: Supported locales: af-ZA, ar, az-AZ, bg-BG, bn-BD, bs-BA, ca, cs, da, de, el, en, es, et-EE, eu, fa-IR, fi, fr, ga-IE, gl-ES, gu-IN, he, hi-IN, hr-HR, hu, id, it, ja, ka-GE, kk-KZ, km-KH, kn-IN, ko, ky-KG, lt-LT, lv-LV, mk-MK, ml-IN, mr-IN, ms, my, nb, nl, pa-IN, pl, pt-BR, pt-PT, ro-RO, ru, sk-SK, sl-SI, sq-AL, sr, sv, sw, ta-IN, te-IN, th, tl-PH, tr, ug, uk-UA, ur, vi, yue, zh-CN, zh-HK, zh-Hant"}
{"level":30,"time":"2024-10-01T12:11:12.404Z","msg":"locale: Preferred locales: en-US, en"}
{"level":30,"time":"2024-10-01T12:11:12.404Z","msg":"locale: Locale Override: null"}
{"level":30,"time":"2024-10-01T12:11:12.405Z","msg":"locale: Matched locale: en"}
{"level":40,"time":"2024-10-01T12:11:12.434Z","msg":"intl.onWarn [@formatjs/intl] \"defaultRichTextElements\" was specified but \"message\" was not pre-compiled. \nPlease consider using \"@formatjs/cli\" to pre-compile your messages for performance.\nFor more details see https://formatjs.io/docs/getting-started/message-distribution"}
{"level":30,"time":"2024-10-01T12:11:12.434Z","msg":"locale: Text info direction for en: ltr"}
{"level":30,"time":"2024-10-01T12:11:12.435Z","msg":"getSQLKey: using legacy key"}
{"level":30,"time":"2024-10-01T12:11:12.435Z","msg":"getSystemTraySetting got value DoNotUseSystemTray"}
{"level":30,"time":"2024-10-01T12:11:12.436Z","msg":"getSystemTraySetting returning DoNotUseSystemTray"}
{"level":30,"time":"2024-10-01T12:11:12.437Z","msg":"app ready"}
{"level":30,"time":"2024-10-01T12:11:12.437Z","msg":"starting version 7.26.0"}
{"level":30,"time":"2024-10-01T12:11:12.438Z","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2024-10-01T12:11:12.442Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2024-10-01T12:11:12.461Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2024-10-01T12:11:12.461Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2024-10-01T12:11:12.461Z","msg":"visibleOnAnyScreen(window): x=2886, y=157, width=937, height=692"}
{"level":30,"time":"2024-10-01T12:11:12.462Z","msg":"visibleOnAnyScreen(display #1881264395124803): x=0, y=360, width=1920, height=1080"}
{"level":30,"time":"2024-10-01T12:11:12.462Z","msg":"visibleOnAnyScreen(display #8): x=1920, y=0, width=2560, height=1440"}
{"level":30,"time":"2024-10-01T12:11:12.462Z","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":937,\"height\":692,\"minWidth\":300,\"minHeight\":200,\"autoHideMenuBar\":false,\"titleBarStyle\":\"default\",\"backgroundColor\":\"#3a76f0\",\"webPreferences\":{\"devTools\":false,\"spellcheck\":true,\"enableBlinkFeatures\":\"CSSPseudoDir,CSSLogical\",\"enablePreferredSizeMode\":true,\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"sandbox\":false,\"contextIsolation\":true,\"preload\":\"[REDACTED]/preload.wrapper.js\",\"backgroundThrottling\":true,\"disableBlinkFeatures\":\"Accelerated2dCanvas,AcceleratedSmallCanvases\"},\"icon\":\"[REDACTED]/images/signal-logo-desktop-linux.png\",\"x\":2886,\"y\":157}"}
{"level":30,"time":"2024-10-01T12:11:12.514Z","msg":"spellcheck: user locales: [\"en-US\",\"en\"]"}
{"level":30,"time":"2024-10-01T12:11:12.514Z","msg":"spellcheck: available spellchecker languages: [\"af\",\"bg\",\"ca\",\"cs\",\"cy\",\"da\",\"de\",\"de-DE\",\"el\",\"en\",\"en-AU\",\"en-CA\",\"en-GB\",\"en-GB-oxendict\",\"en-US\",\"es\",\"es-419\",\"es-AR\",\"es-ES\",\"es-MX\",\"es-US\",\"et\",\"fa\",\"fo\",\"fr\",\"fr-FR\",\"he\",\"hi\",\"hr\",\"hu\",\"hy\",\"id\",\"it\",\"it-IT\",\"ko\",\"lt\",\"lv\",\"nb\",\"nl\",\"pl\",\"pt\",\"pt-BR\",\"pt-PT\",\"ro\",\"ru\",\"sh\",\"sk\",\"sl\",\"sq\",\"sr\",\"sv\",\"ta\",\"tg\",\"tr\",\"uk\",\"vi\"]"}
{"level":30,"time":"2024-10-01T12:11:12.514Z","msg":"spellcheck: setting languages to: [\"en-US\",\"en\"]"}
{"level":30,"time":"2024-10-01T12:11:12.576Z","msg":"MainSQL: updateSchema:\n  Current user_version: 1210;\n  Most recent db schema: 1210;\n  SQLite version: 3.46.1;\n  SQLCipher version: 4.6.1 community;\n  (deprecated) schema_version: 504;\n"}
{"level":30,"time":"2024-10-01T12:11:12.906Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2024-10-01T12:11:13.371Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2024-10-01T12:11:13.376Z","msg":"System tray service: created"}
{"level":30,"time":"2024-10-01T12:11:13.376Z","msg":"System tray service: updating main window. Previously, there was not a window, and now there is"}
{"level":30,"time":"2024-10-01T12:11:13.376Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-10-01T12:11:13.376Z","msg":"Begin ensuring permissions"}
{"level":30,"time":"2024-10-01T12:11:13.377Z","msg":"main window is ready-to-show"}
{"level":30,"time":"2024-10-01T12:11:13.377Z","msg":"showing main window"}
{"level":30,"time":"2024-10-01T12:11:13.378Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-10-01T12:11:13.378Z","msg":"Ensuring file permissions for 4 files"}
{"level":30,"time":"2024-10-01T12:11:13.379Z","msg":"Finish ensuring permissions in 3ms"}
{"level":30,"time":"2024-10-01T12:11:13.514Z","msg":"MainSQL: getAllUnprocessedIds"}
{"level":30,"time":"2024-10-01T12:11:13.515Z","msg":"Prevent display sleep service: allowing display sleep"}
{"level":30,"time":"2024-10-01T12:11:13.515Z","msg":"Background throttling enabled because no call is active"}
{"level":30,"time":"2024-10-01T12:11:13.730Z","msg":"MainSQL: getAllUnprocessedIds"}
{"level":30,"time":"2024-10-01T12:11:13.735Z","msg":"updater/start: Updates disabled - not starting new version checks"}
{"level":30,"time":"2024-10-01T12:11:13.738Z","msg":"App loaded - time: 1302"}
{"level":30,"time":"2024-10-01T12:11:13.738Z","msg":"SQL init - time: 158"}
{"level":30,"time":"2024-10-01T12:11:13.738Z","msg":"Preload - time: 460"}
{"level":30,"time":"2024-10-01T12:11:13.738Z","msg":"WebSocket connect - time: 386"}
{"level":30,"time":"2024-10-01T12:11:13.738Z","msg":"Processed count: 0"}
{"level":30,"time":"2024-10-01T12:11:13.738Z","msg":"Messages per second: 0"}
{"level":30,"time":"2024-10-01T12:12:23.059Z","msg":"close event {\"readyForShutdown\":false,\"shouldQuit\":false}"}
{"level":30,"time":"2024-10-01T12:12:23.059Z","msg":"maybeRequestCloseConfirmation: Checking to see if close confirmation is needed"}
{"level":30,"time":"2024-10-01T12:12:23.060Z","msg":"maybeRequestCloseConfirmation: Response received"}
{"level":30,"time":"2024-10-01T12:12:23.060Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-10-01T12:12:23.061Z","msg":"requestShutdown: Requesting close of mainWindow..."}
{"level":30,"time":"2024-10-01T12:12:23.074Z","msg":"requestShutdown: Response received"}
{"level":30,"time":"2024-10-01T12:12:23.091Z","msg":"before-quit event {\"readyForShutdown\":true,\"shouldQuit\":false,\"hasEventBeenPrevented\":false,\"windowCount\":1,\"mainWindowExists\":true,\"mainWindowIsFullScreen\":false}"}
{"level":30,"time":"2024-10-01T12:12:23.091Z","msg":"System tray service: markShouldQuit"}
{"level":30,"time":"2024-10-01T12:12:23.091Z","msg":"close event {\"readyForShutdown\":true,\"shouldQuit\":true}"}
{"level":30,"time":"2024-10-01T12:12:23.092Z","msg":"main window closed event"}
{"level":30,"time":"2024-10-01T12:12:23.092Z","msg":"System tray service: updating main window. Previously, there was a window, and now there is not"}
{"level":30,"time":"2024-10-01T12:12:23.092Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-10-01T12:12:23.092Z","msg":"will-quit event {\"hasEventBeenPrevented\":false,\"windowCount\":0,\"mainWindowExists\":false}"}
{"level":30,"time":"2024-10-01T12:12:23.093Z","msg":"quit event {\"hasEventBeenPrevented\":false,\"windowCount\":0,\"mainWindowExists\":false}"}

jnsgruk added a commit to jnsgruk/signal-desktop that referenced this issue Oct 1, 2024
See snapcrafters#300
An upstream Chrome issue blocks the correct inovation of libsecret from within
snap/flatpak environments, which means that Signal loses access to the encryption
key used to encrypt the local database, and needs to be re-linked (losing all message
history) every time it's launched.
@jnsgruk
Copy link
Member

jnsgruk commented Oct 1, 2024

Okay, I've got two PRs up that could solve this issue.

The first to test, and my preferred route, is: #322 - there are testing instructions in the PR.

The second just implements using the --password-store=basic parameter be default, which is objectively less secure, but will work it seems (that's #321).

@jnsgruk jnsgruk reopened this Oct 1, 2024
@jnsgruk
Copy link
Member

jnsgruk commented Oct 1, 2024

Fixed in #321, just released into latest/stable

@jnsgruk jnsgruk closed this as completed Oct 1, 2024
@vgallissot
Copy link

I can confirm the patch works.

People need to uninstall and reinstall signal-desktop again (following error occurs at startup) :
Screenshot from 2024-10-02 11-17-53

Then, re-opening the application several times works as expected: no more errors.

Thank you very much for the fix @jnsgruk 🙏

@debug686
Copy link

debug686 commented Oct 3, 2024

This has fixed something!

For users with a broken database:
If you have an old backup, from before database encryption, of the snap/signal-desktop snap folder, you can copy over the .config .local .pki files into the current folder, and replace the current folders. Then start signal-desktop using the latest version and it will use the correct encryption this time.

This way you don't have to re-link and you get to keep at least some of your chat history.

Thank you for your hard work, @jnsgruk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.