Unverified Commit e0e8116c authored by Anomalocaridid's avatar Anomalocaridid Committed by GitHub
Browse files

vesktop: fix crashing when settings.json or state.json are read-only (#368221)

parent 3eecbac9
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
diff --git a/src/main/settings.ts b/src/main/settings.ts
index 6fad97f..dfc64e3 100644
--- a/src/main/settings.ts
+++ b/src/main/settings.ts
@@ -26,8 +26,12 @@ function loadSettings<T extends object = any>(file: string, name: string) {
 
     const store = new SettingsStore(settings);
     store.addGlobalChangeListener(o => {
-        mkdirSync(dirname(file), { recursive: true });
-        writeFileSync(file, JSON.stringify(o, null, 4));
+        try {
+            mkdirSync(dirname(file), { recursive: true });
+            writeFileSync(file, JSON.stringify(o, null, 4));
+        } catch (e) {
+            console.error("Nix: Failed to write settings.", e);
+        }
     });
 
     return store;
+4 −1
Original line number Diff line number Diff line
@@ -69,7 +69,10 @@ stdenv.mkDerivation (finalAttrs: {
  ];

  patches =
    [ ./disable_update_checking.patch ]
    [
      ./disable_update_checking.patch
      ./fix_read_only_settings.patch
    ]
    ++ lib.optional withSystemVencord (
      replaceVars ./use_system_vencord.patch {
        inherit vencord;