浏览代码

fix: Safely retrieve settings from LocalStorage

kiosion 9 月之前
父节点
当前提交
f30428754f
共有 1 个文件被更改,包括 10 次插入2 次删除
  1. 10 2
      src/routes/(app)/+layout.svelte

+ 10 - 2
src/routes/(app)/+layout.svelte

@@ -81,9 +81,17 @@
 			});
 
 			if (userSettings) {
-				await settings.set(userSettings.ui);
+				settings.set(userSettings.ui);
 			} else {
-				await settings.set(JSON.parse(localStorage.getItem('settings') ?? '{}'));
+				let localStorageSettings = {} as Parameters<(typeof settings)['set']>[0];
+
+				try {
+					localStorageSettings = JSON.parse(localStorage.getItem('settings') ?? '{}');
+				} catch (e: unknown) {
+					console.error('Failed to parse settings from localStorage', e);
+				}
+
+				settings.set(localStorageSettings);
 			}
 
 			await Promise.all([