Skip to content

Commit a7bdbec

Browse files
committed
fix(desktop): rollback general settings on store write failure
1 parent 0f0da20 commit a7bdbec

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

  • apps/desktop/src/routes/(window-chrome)/settings

apps/desktop/src/routes/(window-chrome)/settings/general.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,8 +240,14 @@ function Inner(props: { initialStore: GeneralSettingsStore | null }) {
240240
) => {
241241
console.log(`Handling settings change for ${key}: ${value}`);
242242

243+
const previousValue = settings[key];
243244
setSettings(key as keyof GeneralSettingsStore, value);
244-
generalSettingsStore.set({ [key]: value, ...(extra ?? {}) });
245+
try {
246+
await generalSettingsStore.set({ [key]: value, ...(extra ?? {}) });
247+
} catch (error) {
248+
setSettings(key as keyof GeneralSettingsStore, previousValue);
249+
console.error(`Failed to update ${key}`, error);
250+
}
245251
};
246252

247253
const ostype: OsType = type();

0 commit comments

Comments
 (0)