Page MenuHomePhorge

D13861.1768845932.diff
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

D13861.1768845932.diff

diff --git a/lib/shared/dm-ops/dm-ops-queue-handler.react.js b/lib/shared/dm-ops/dm-ops-queue-handler.react.js
--- a/lib/shared/dm-ops/dm-ops-queue-handler.react.js
+++ b/lib/shared/dm-ops/dm-ops-queue-handler.react.js
@@ -63,7 +63,6 @@
}, [prune]);
const threadInfos = useSelector(threadInfoSelector);
- const prevThreadInfosRef = React.useRef({});
const queuedThreadOperations = useSelector(
state => state.queuedDMOperations.threadQueue,
@@ -95,14 +94,20 @@
const { enqueue } = useActionsQueue(processItem);
- React.useEffect(() => {
- const prevThreadInfos = prevThreadInfosRef.current;
- prevThreadInfosRef.current = threadInfos;
+ const runningThreadOperations = React.useRef<Set<string>>(new Set());
+ React.useEffect(() => {
for (const threadID in queuedThreadOperations) {
- if (!threadInfos[threadID] || prevThreadInfos[threadID]) {
+ if (!threadInfos[threadID]) {
+ continue;
+ }
+
+ if (runningThreadOperations.current.has(threadID)) {
continue;
}
+
+ runningThreadOperations.current.add(threadID);
+
enqueue([
...queuedThreadOperations[threadID].map(item => ({
type: 'operation',
@@ -117,6 +122,10 @@
},
},
},
+ {
+ type: 'function',
+ itemFunction: () => runningThreadOperations.current.delete(threadID),
+ },
]);
}
}, [dispatch, enqueue, queuedThreadOperations, threadInfos]);

File Metadata

Mime Type
text/plain
Expires
Mon, Jan 19, 6:05 PM (11 h, 44 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5957623
Default Alt Text
D13861.1768845932.diff (1 KB)

Event Timeline