Draft: Fix ftb discovery popover not showing up
What does this MR do and why?
this mr fixes the issue that file tree browser discovery popover is not showing up.
Technical details
"i thought this would be an easy fix, chao"
this fix turns out to be a lot more involved than expected repository/file_tree_browser/components/file_tree_browser_toggle.vue, i don't know if this ever works as the requirements in #569265 (closed) and #560578 (closed)
"so what did you changed, chao"
- add back
idon the toggle button, which got removed by mein 4522dc4e - remove
.file-tree-browser-toggle-wrapper. it's stopping the popover from showing up at the correct space - remove the logic to hide popover when toggle button is clicked. use
@hiddenevent instead - update to
triggerstomanual - update variable names so they're more representative of what they do
- simplified some logic with
v-modeland etc - move all the logic out of
file_tree_browser_toggle.vueinto its own file - call that file from
header_area, since we only need to show the popover when the file tree browser is closed
References
discovered during team test session #582189 (comment 2927752158)
Screenshots or screen recordings
CleanShot 2025-12-03 at 22.25.33.mp4
How to set up and validate locally
- enable
repository_file_tree_browserfeature flag - make sure you are logged in on GDK. the popover will only display if you are logged in.
- go to the repository view, click on any folders/files (note, this won't show on project overview page)
- popover should show
- close the popover with x button, popover should disappear and not reappear on page refresh
- open browser devtool (i.e. Chrome right click "Inspect") > Application tab > Storage section > Local storage, search for ftb, delete
ftb-popover-dismissedentry or update the value tofalse - refresh the page, popover should show again,
- expand the file tree browse, popover should disappear and does not reappear on page refresh
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Resolves #582974