From 0d60fbf3e7f83ef441b9272d89605b9ebb63b0e2 Mon Sep 17 00:00:00 2001 From: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com> Date: Fri, 16 Aug 2024 17:23:11 -0300 Subject: [PATCH] fix: auto saving config (#3395) * remove env definition from vite * add get config query * add save config hook to add info to autosaving and axios * Use save config hook to get info * Create autoSaving variable on flowsManagerStore * Adds autoSaving from store into every place that used the env variables * fix wrong url --------- Co-authored-by: anovazzi1 --- src/frontend/src/App.tsx | 26 +++---------------- .../components/menuBar/index.tsx | 12 ++++----- .../src/controllers/API/helpers/constants.ts | 1 + .../API/queries/config/use-get-config.ts | 25 ++++++++++++++++++ .../src/hooks/flows/use-autosave-flow.ts | 5 ++-- src/frontend/src/hooks/use-save-config.ts | 22 ++++++++++++++++ .../src/modals/flowSettingsModal/index.tsx | 4 +-- src/frontend/src/pages/FlowPage/index.tsx | 4 +-- src/frontend/src/stores/flowsManagerStore.ts | 2 ++ .../src/types/zustand/flowsManager/index.ts | 2 ++ src/frontend/vite.config.mts | 3 --- 11 files changed, 69 insertions(+), 37 deletions(-) create mode 100644 src/frontend/src/controllers/API/queries/config/use-get-config.ts create mode 100644 src/frontend/src/hooks/use-save-config.ts diff --git a/src/frontend/src/App.tsx b/src/frontend/src/App.tsx index 50d9c324b..badf53c43 100644 --- a/src/frontend/src/App.tsx +++ b/src/frontend/src/App.tsx @@ -13,7 +13,7 @@ import { useRefreshAccessToken, } from "./controllers/API/queries/auth"; import { useGetVersionQuery } from "./controllers/API/queries/version"; -import { setupAxiosDefaults } from "./controllers/API/utils"; +import useSaveConfig from "./hooks/use-save-config"; import router from "./routes"; import useAlertStore from "./stores/alertStore"; import useAuthStore from "./stores/authStore"; @@ -56,7 +56,7 @@ export default function App() { login(user["access_token"], "auto"); setUserData(user); setAutoLogin(true); - fetchAllData(); + refreshStars(); // mutateRefresh({ refresh_token: refreshToken }); } }, @@ -70,7 +70,7 @@ export default function App() { logout(); } else { mutateRefresh({ refresh_token: refreshToken }); - fetchAllData(); + refreshStars(); getUser(); } } @@ -96,25 +96,7 @@ export default function App() { return () => clearInterval(intervalId); }, [isLoginPage]); - const fetchAllData = async () => { - setTimeout(async () => { - await Promise.all([refreshStars(), fetchData()]); - }, 1000); - }; - - const fetchData = async () => { - return new Promise(async (resolve, reject) => { - if (isAuthenticated) { - try { - await setupAxiosDefaults(); - resolve(); - } catch (error) { - console.error("Failed to fetch data:", error); - reject(); - } - } - }); - }; + useSaveConfig(); return ( //need parent component with width and height diff --git a/src/frontend/src/components/headerComponent/components/menuBar/index.tsx b/src/frontend/src/components/headerComponent/components/menuBar/index.tsx index f0e2f51d7..a56abc64e 100644 --- a/src/frontend/src/components/headerComponent/components/menuBar/index.tsx +++ b/src/frontend/src/components/headerComponent/components/menuBar/index.tsx @@ -49,7 +49,7 @@ export const MenuBar = ({}: {}): JSX.Element => { const isBuilding = useFlowStore((state) => state.isBuilding); const getTypes = useTypesStore((state) => state.getTypes); const saveFlow = useSaveFlow(); - const shouldAutosave = process.env.LANGFLOW_AUTO_SAVING !== "false"; + const autoSaving = useFlowsManagerStore((state) => state.autoSaving); const currentFlow = useFlowStore((state) => state.currentFlow); const currentSavedFlow = useFlowsManagerStore((state) => state.currentFlow); const updatedAt = currentSavedFlow?.updated_at; @@ -58,7 +58,7 @@ export const MenuBar = ({}: {}): JSX.Element => { const changesNotSaved = customStringify(currentFlow) !== customStringify(currentSavedFlow) && - !shouldAutosave; + !autoSaving; const savedText = updatedAt && changesNotSaved @@ -144,7 +144,7 @@ export const MenuBar = ({}: {}): JSX.Element => { Settings - {!shouldAutosave && ( + {!autoSaving && ( {
- {!shouldAutosave && ( + {!autoSaving && (