[arvados-workbench2] updated: 2.5.0-111-gd3518cf6
git repository hosting
git at public.arvados.org
Wed Mar 22 19:06:17 UTC 2023
Summary of changes:
.../collection-panel-files/collection-panel-files.tsx | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
via d3518cf6eb602101cad0fb90c534499b7eb6cbca (commit)
from 564602b5adef0b62edd07c2daa1e09a6f6731b92 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit d3518cf6eb602101cad0fb90c534499b7eb6cbca
Author: Stephen Smith <stephen at curii.com>
Date: Wed Mar 22 15:05:54 2023 -0400
20251: Fix flaky collection file browser by using race-free state update callback
Arvados-DCO-1.1-Signed-off-by: Stephen Smith <stephen at curii.com>
diff --git a/src/components/collection-panel-files/collection-panel-files.tsx b/src/components/collection-panel-files/collection-panel-files.tsx
index 08944d40..fb36ebce 100644
--- a/src/components/collection-panel-files/collection-panel-files.tsx
+++ b/src/components/collection-panel-files/collection-panel-files.tsx
@@ -309,8 +309,7 @@ export const CollectionPanelFiles = withStyles(styles)(connect((state: RootState
}).reduce((prev, next) => {
return { ...next, ...prev };
}, {});
-
- setPathData({ ...pathData, ...newState });
+ setPathData((state) => ({ ...state, ...newState }));
})
.finally(() => {
setIsLoading(false);
@@ -405,7 +404,7 @@ export const CollectionPanelFiles = withStyles(styles)(connect((state: RootState
if (breadcrumbPath) {
const index = path.indexOf(breadcrumbPath);
- setPath([...path.slice(0, index + 1)]);
+ setPath((state) => ([...state.slice(0, index + 1)]));
}
if (parentPath && type === 'directory') {
@@ -413,11 +412,11 @@ export const CollectionPanelFiles = withStyles(styles)(connect((state: RootState
path.pop()
}
- setPath([...path, parentPath]);
+ setPath((state) => ([...state, parentPath]));
}
if (subfolderPath && type === 'directory') {
- setPath([...path, subfolderPath]);
+ setPath((state) => ([...state, subfolderPath]));
}
if (elem.dataset.id && type === 'file') {
@@ -503,7 +502,7 @@ export const CollectionPanelFiles = withStyles(styles)(connect((state: RootState
<div className={classes.wrapper}>
<div className={classNames(classes.leftPanel, path.length > 1 ? classes.leftPanelVisible : classes.leftPanelHidden)} data-cy="collection-files-left-panel">
<Tooltip title="Go back" className={path.length > 1 ? classes.backButton : classes.backButtonHidden}>
- <IconButton onClick={() => setPath([...path.slice(0, path.length -1)])}>
+ <IconButton onClick={() => setPath((state) => ([...state.slice(0, state.length -1)]))}>
<BackIcon />
</IconButton>
</Tooltip>
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list