From 9f8921d3b92a144657566cb10cf24ad4bf7c11de Mon Sep 17 00:00:00 2001 From: varsnotwars Date: Sat, 9 Aug 2025 00:50:46 +1000 Subject: [PATCH] fix: preference not being saved (#4980) Signed-off-by: varsnotwars Co-authored-by: Johnny --- web/src/store/user.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/web/src/store/user.ts b/web/src/store/user.ts index e7dc71f7e..a6dfbc3e4 100644 --- a/web/src/store/user.ts +++ b/web/src/store/user.ts @@ -280,6 +280,10 @@ const userStore = (() => { }; })(); +// TODO: refactor initialUserStore as it has temporal coupling +// need to make it more clear that the order of the body is important +// or it leads to false positives +// See: https://github.com/usememos/memos/issues/4978 export const initialUserStore = async () => { try { const { user: currentUser } = await authServiceClient.getCurrentSession({}); @@ -293,9 +297,6 @@ export const initialUserStore = async () => { return; } - // Fetch all user settings - await userStore.fetchUserSettings(); - userStore.state.setPartial({ currentUser: currentUser.name, userMapByName: { @@ -303,6 +304,10 @@ export const initialUserStore = async () => { }, }); + // must be called after user is set in store + await userStore.fetchUserSettings(); + + // must be run after fetchUserSettings is called. // Apply general settings to workspace if available const generalSetting = userStore.state.userGeneralSetting; if (generalSetting) {