diff --git a/src/frontend/package-lock.json b/src/frontend/package-lock.json index e4f7a30ab..7aa230dd7 100644 --- a/src/frontend/package-lock.json +++ b/src/frontend/package-lock.json @@ -41,7 +41,6 @@ "class-variance-authority": "^0.6.1", "clsx": "^1.2.1", "cmdk": "^1.0.0", - "debounce-promise": "^3.1.2", "dompurify": "^3.0.5", "dotenv": "^16.4.5", "emoji-regex": "^10.3.0", @@ -53,6 +52,7 @@ "million": "^3.0.6", "moment": "^2.29.4", "openseadragon": "^4.1.1", + "p-debounce": "^4.0.0", "playwright": "^1.42.0", "react": "^18.2.21", "react-ace": "^10.1.0", @@ -5698,11 +5698,6 @@ "node": ">=12" } }, - "node_modules/debounce-promise": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/debounce-promise/-/debounce-promise-3.1.2.tgz", - "integrity": "sha512-rZHcgBkbYavBeD9ej6sP56XfG53d51CD4dnaw989YX/nZ/ZJfgRx/9ePKmTNiUiyQvh4mtrMoS3OAWW+yoYtpg==" - }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -10050,6 +10045,15 @@ "node": ">=8" } }, + "node_modules/p-debounce": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-debounce/-/p-debounce-4.0.0.tgz", + "integrity": "sha512-4Ispi9I9qYGO4lueiLDhe4q4iK5ERK8reLsuzH6BPaXn53EGaua8H66PXIFGrW897hwjXp+pVLrm/DLxN0RF0A==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, "node_modules/p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", diff --git a/src/frontend/package.json b/src/frontend/package.json index a33d73e08..c9219b5e5 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -36,7 +36,6 @@ "class-variance-authority": "^0.6.1", "clsx": "^1.2.1", "cmdk": "^1.0.0", - "debounce-promise": "^3.1.2", "dompurify": "^3.0.5", "dotenv": "^16.4.5", "emoji-regex": "^10.3.0", @@ -48,6 +47,7 @@ "million": "^3.0.6", "moment": "^2.29.4", "openseadragon": "^4.1.1", + "p-debounce": "^4.0.0", "playwright": "^1.42.0", "react": "^18.2.21", "react-ace": "^10.1.0", diff --git a/src/frontend/src/stores/flowsManagerStore.ts b/src/frontend/src/stores/flowsManagerStore.ts index f256dc14c..48a2d7892 100644 --- a/src/frontend/src/stores/flowsManagerStore.ts +++ b/src/frontend/src/stores/flowsManagerStore.ts @@ -1,5 +1,5 @@ -import * as debounce from "debounce-promise"; import { cloneDeep } from "lodash"; +import pDebounce from "p-debounce"; import { Edge, Node, Viewport, XYPosition } from "reactflow"; import { create } from "zustand"; import { SAVE_DEBOUNCE_TIME } from "../constants/constants"; @@ -128,7 +128,7 @@ const useFlowsManagerStore = create((set, get) => ({ set({ saveLoading: true }); // set saveLoading true immediately return get().saveFlowDebounce(flow, silent); // call the debounced function directly }, - saveFlowDebounce: debounce((flow: FlowType, silent?: boolean) => { + saveFlowDebounce: pDebounce((flow: FlowType, silent?: boolean) => { set({ saveLoading: true }); return new Promise((resolve, reject) => { updateFlowInDatabase(flow)