[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