@invergent/agent-chat-react 1.4.4 → 1.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +23 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +23 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6419,44 +6419,63 @@ function WorkspacePanel({
|
|
|
6419
6419
|
const [deleteTarget, setDeleteTarget] = useState(null);
|
|
6420
6420
|
const [expandedPaths, setExpandedPaths] = useState(/* @__PURE__ */ new Set());
|
|
6421
6421
|
const [width, setWidth] = useState(DEFAULT_WIDTH);
|
|
6422
|
+
const sessionIdRef = useRef(sessionId);
|
|
6422
6423
|
const isResizing = useRef(false);
|
|
6423
6424
|
const startX = useRef(0);
|
|
6424
6425
|
const startWidth = useRef(DEFAULT_WIDTH);
|
|
6426
|
+
sessionIdRef.current = sessionId;
|
|
6425
6427
|
const fetchTree = useCallback(async () => {
|
|
6426
6428
|
if (!sessionId) {
|
|
6427
6429
|
setEntries([]);
|
|
6428
6430
|
setRootName("workspace");
|
|
6431
|
+
setExpandedPaths(/* @__PURE__ */ new Set());
|
|
6432
|
+
setTreeLoading(false);
|
|
6429
6433
|
setTreeError(null);
|
|
6430
6434
|
return;
|
|
6431
6435
|
}
|
|
6436
|
+
const requestedSessionId = sessionId;
|
|
6432
6437
|
setTreeLoading(true);
|
|
6433
6438
|
setTreeError(null);
|
|
6434
6439
|
try {
|
|
6435
|
-
const tree = await adapter.getWorkspaceTree({
|
|
6440
|
+
const tree = await adapter.getWorkspaceTree({
|
|
6441
|
+
sessionId: requestedSessionId
|
|
6442
|
+
});
|
|
6443
|
+
if (sessionIdRef.current !== requestedSessionId) return;
|
|
6436
6444
|
setEntries(tree.entries);
|
|
6437
6445
|
setRootName(tree.root || "workspace");
|
|
6438
6446
|
setExpandedPaths(new Set(collectExpandedPaths(tree.entries)));
|
|
6439
6447
|
} catch (error) {
|
|
6448
|
+
if (sessionIdRef.current !== requestedSessionId) return;
|
|
6440
6449
|
setEntries([]);
|
|
6441
6450
|
setRootName("workspace");
|
|
6442
6451
|
setTreeError(error.message);
|
|
6443
6452
|
} finally {
|
|
6444
|
-
|
|
6453
|
+
if (sessionIdRef.current === requestedSessionId) {
|
|
6454
|
+
setTreeLoading(false);
|
|
6455
|
+
}
|
|
6445
6456
|
}
|
|
6446
6457
|
}, [adapter, sessionId]);
|
|
6447
6458
|
const fetchFile = useCallback(
|
|
6448
6459
|
async (path) => {
|
|
6449
6460
|
if (!sessionId) return;
|
|
6461
|
+
const requestedSessionId = sessionId;
|
|
6450
6462
|
setFileLoading(true);
|
|
6451
6463
|
setFileError(null);
|
|
6452
6464
|
try {
|
|
6453
|
-
const nextFile = await adapter.getWorkspaceFile({
|
|
6465
|
+
const nextFile = await adapter.getWorkspaceFile({
|
|
6466
|
+
sessionId: requestedSessionId,
|
|
6467
|
+
path
|
|
6468
|
+
});
|
|
6469
|
+
if (sessionIdRef.current !== requestedSessionId) return;
|
|
6454
6470
|
setFile(nextFile);
|
|
6455
6471
|
} catch (error) {
|
|
6472
|
+
if (sessionIdRef.current !== requestedSessionId) return;
|
|
6456
6473
|
setFile(null);
|
|
6457
6474
|
setFileError(error.message);
|
|
6458
6475
|
} finally {
|
|
6459
|
-
|
|
6476
|
+
if (sessionIdRef.current === requestedSessionId) {
|
|
6477
|
+
setFileLoading(false);
|
|
6478
|
+
}
|
|
6460
6479
|
}
|
|
6461
6480
|
},
|
|
6462
6481
|
[adapter, sessionId]
|