From 6314f71e5ed541d8b95728ebb34315238feceaf4 Mon Sep 17 00:00:00 2001 From: varsnotwars Date: Fri, 8 Aug 2025 15:33:54 +1000 Subject: [PATCH] fix: appearance not being saved --- web/src/store/user.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/web/src/store/user.ts b/web/src/store/user.ts index e7dc71f7e..50611e6cb 100644 --- a/web/src/store/user.ts +++ b/web/src/store/user.ts @@ -177,6 +177,8 @@ const userStore = (() => { const fetchUserSettings = async () => { if (!state.currentUser) { + console.error("No current user"); + return; } @@ -280,6 +282,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 +299,6 @@ export const initialUserStore = async () => { return; } - // Fetch all user settings - await userStore.fetchUserSettings(); - userStore.state.setPartial({ currentUser: currentUser.name, userMapByName: { @@ -303,6 +306,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) {