Skip to content

Commit c9989ef

Browse files
fix: do not set setting with invalid params
1 parent a4ab272 commit c9989ef

File tree

2 files changed

+8
-12
lines changed

2 files changed

+8
-12
lines changed

src/store/reducers/settings/api.ts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,10 @@ export const settingsApi = api.injectEndpoints({
4545
name,
4646
user,
4747
value,
48-
}: Partial<Omit<SetSingleSettingParams, 'value'>> & {value: unknown}) => {
48+
}: Omit<SetSingleSettingParams, 'value'> & {value: unknown}) => {
4949
try {
50-
if (!name || !user || !window.api?.metaSettings) {
51-
throw new Error(
52-
'Cannot set setting, no MetaSettings API or necessary params are missing',
53-
);
50+
if (!window.api?.metaSettings) {
51+
throw new Error('MetaSettings API is not available');
5452
}
5553

5654
const data = await window.api.metaSettings.setSingleSetting({
@@ -71,10 +69,6 @@ export const settingsApi = api.injectEndpoints({
7169
async onQueryStarted(args, {dispatch, queryFulfilled}) {
7270
const {name, user, value} = args;
7371

74-
if (!name) {
75-
return;
76-
}
77-
7872
// Optimistically update existing cache entry
7973
const patchResult = dispatch(
8074
settingsApi.util.updateQueryData('getSingleSetting', {name, user}, () => value),

src/store/reducers/settings/useSetting.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import React from 'react';
22

3+
import {isNil} from 'lodash';
4+
35
import {useSetting as useLSSetting} from '../../../utils/hooks';
46
import {useTypedSelector} from '../../../utils/hooks/useTypedSelector';
57
import {selectMetaUser} from '../authentication/authentication';
@@ -39,10 +41,10 @@ export function useSetting<T>(name?: string): {
3941
if (!name) {
4042
return;
4143
}
42-
if (window.api?.metaSettings) {
43-
setMetaSetting({user, name, value});
44-
} else {
44+
if (isNil(window.api?.metaSettings)) {
4545
saveSettingToLS(value);
46+
} else if (window.api?.metaSettings && user) {
47+
setMetaSetting({user, name, value});
4648
}
4749
},
4850
[user, name, setMetaSetting, saveSettingToLS],

0 commit comments

Comments
 (0)