mirror of
https://github.com/gosticks/plane.git
synced 2025-10-16 12:45:33 +00:00
[WEB-4956] fix: onboarding redirect with cache busting and code refactor (#7822)
* fix: resolve onboarding completion redirect with cache-busting * chore: code refactor
This commit is contained in:
parent
877c117c37
commit
696635dbb0
@ -85,8 +85,9 @@ export class UserService extends APIService {
|
||||
});
|
||||
}
|
||||
|
||||
async currentUserSettings(): Promise<IUserSettings> {
|
||||
return this.get("/api/users/me/settings/")
|
||||
async currentUserSettings(bustCache: boolean = false): Promise<IUserSettings> {
|
||||
const url = bustCache ? `/api/users/me/settings/?t=${Date.now()}` : "/api/users/me/settings/";
|
||||
return this.get(url)
|
||||
.then((response) => response?.data)
|
||||
.catch((error) => {
|
||||
throw error?.response;
|
||||
|
||||
@ -172,6 +172,14 @@ export class ProfileStore implements IUserProfileStore {
|
||||
runInAction(() => {
|
||||
this.mutateUserProfile({ ...dataToUpdate, is_onboarded: true });
|
||||
});
|
||||
|
||||
// Also fetch from backend to ensure consistency and refresh user settings with cache-busting
|
||||
Promise.all([
|
||||
this.fetchUserProfile(),
|
||||
this.store.user.userSettings.fetchCurrentUserSettings(true), // Cache-busting enabled
|
||||
]).catch((error) => {
|
||||
console.error("Background sync failed:", error);
|
||||
});
|
||||
} catch (error) {
|
||||
runInAction(() => {
|
||||
this.error = {
|
||||
|
||||
@ -23,7 +23,7 @@ export interface IUserSettingsStore {
|
||||
sidebarCollapsed: boolean;
|
||||
isScrolled: boolean;
|
||||
// actions
|
||||
fetchCurrentUserSettings: () => Promise<IUserSettings | undefined>;
|
||||
fetchCurrentUserSettings: (bustCache?: boolean) => Promise<IUserSettings | undefined>;
|
||||
toggleLocalDB: (workspaceSlug: string | undefined, projectId: string | undefined) => Promise<void>;
|
||||
toggleSidebar: (collapsed?: boolean) => void;
|
||||
toggleIsScrolled: (isScrolled?: boolean) => void;
|
||||
@ -113,13 +113,13 @@ export class UserSettingsStore implements IUserSettingsStore {
|
||||
* @description fetches user profile information
|
||||
* @returns {Promise<IUserSettings | undefined>}
|
||||
*/
|
||||
fetchCurrentUserSettings = async () => {
|
||||
fetchCurrentUserSettings = async (bustCache: boolean = false) => {
|
||||
try {
|
||||
runInAction(() => {
|
||||
this.isLoading = true;
|
||||
this.error = undefined;
|
||||
});
|
||||
const userSettings = await this.userService.currentUserSettings();
|
||||
const userSettings = await this.userService.currentUserSettings(bustCache);
|
||||
runInAction(() => {
|
||||
this.isLoading = false;
|
||||
this.data = userSettings;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user