diff --git a/services/web/frontend/js/features/file-tree/components/file-tree-item/file-tree-item-inner.js b/services/web/frontend/js/features/file-tree/components/file-tree-item/file-tree-item-inner.js index 7c1db4c6fb..00bccb7e2b 100644 --- a/services/web/frontend/js/features/file-tree/components/file-tree-item/file-tree-item-inner.js +++ b/services/web/frontend/js/features/file-tree/components/file-tree-item/file-tree-item-inner.js @@ -21,10 +21,16 @@ function FileTreeItemInner({ id, name, isSelected, icons }) { const itemRef = createRef() useEffect(() => { - if (isSelected && itemRef.current) { - scrollIntoViewIfNeeded(itemRef.current, { - scrollMode: 'if-needed' - }) + const item = itemRef.current + if (isSelected && item) { + // we found scrolling doesn't happen unless a explicit delay is introduced + setTimeout(() => { + if (item) { + scrollIntoViewIfNeeded(item, { + scrollMode: 'if-needed' + }) + } + }, 10) } }, [isSelected, itemRef])