From 0cec7f219375f3d0a42b25645abcc27f9d2767b5 Mon Sep 17 00:00:00 2001 From: Jacques Erasmus Date: Tue, 7 Oct 2025 13:03:55 +0200 Subject: [PATCH 1/2] Replace RecycleScroller with standard scroller - Remove RecycleScroller dependency from tree_list.vue - Replace with standard div container with overflow-y: auto - Update template to use v-for instead of RecycleScroller slot - Remove ROW_HEIGHT constant as it's no longer needed - Maintain all existing functionality and styling --- .../components/tree_list.vue | 63 +++++++++---------- .../components/tree_list_spec.js | 48 +------------- 2 files changed, 32 insertions(+), 79 deletions(-) diff --git a/app/assets/javascripts/repository/file_tree_browser/components/tree_list.vue b/app/assets/javascripts/repository/file_tree_browser/components/tree_list.vue index 0bf536f0e33251..b8ce1ff96dcbf7 100644 --- a/app/assets/javascripts/repository/file_tree_browser/components/tree_list.vue +++ b/app/assets/javascripts/repository/file_tree_browser/components/tree_list.vue @@ -2,7 +2,6 @@ import { GlTooltipDirective, GlLoadingIcon, GlFormInput, GlIcon, GlTooltip } from '@gitlab/ui'; import micromatch from 'micromatch'; import { createAlert } from '~/alert'; -import { RecycleScroller } from 'vendor/vue-virtual-scroller'; import FileRow from '~/vue_shared/components/file_row.vue'; import FileTreeBrowserToggle from '~/repository/file_tree_browser/components/file_tree_browser_toggle.vue'; import { s__, __ } from '~/locale'; @@ -26,7 +25,6 @@ import { } from '../utils'; export default { - ROW_HEIGHT: 32, FOCUS_FILE_TREE_BROWSER_FILTER_BAR, directives: { GlTooltip: GlTooltipDirective, @@ -34,7 +32,6 @@ export default { components: { GlFormInput, GlIcon, - RecycleScroller, FileRow, GlLoadingIcon, FileTreeBrowserToggle, @@ -116,7 +113,7 @@ export default { methods: { updateFlatFilesList() { if (this.isRootLoading) return; - // Replace array contents in-place to maintain same reference for RecycleScroller + // Replace array contents in-place to maintain reactivity this.flatFilesList.splice(0, this.flatFilesList.length, ...this.buildList('/', 0)); }, isCurrentPath(path) { @@ -382,36 +379,38 @@ export default {