Loading
Remove feature_library_modal feature flag
What does this MR do and why?
The Feature Library modal in the super sidebar (browse, search, and pin navigation items), the enriched set of default pinned items, the shimmer callout on the "More features" trigger, and the feature library search and AI search endpoints have all been behind the feature_library_modal feature flag since 19.1. The rollout is complete, so this MR removes the flag and makes the feature permanently enabled.
Changes:
- Delete
config/feature_flags/gitlab_com_derisk/feature_library_modal.yml - Remove flag checks from
Onboarding::FeatureLibraryController(the search and ai_search 404 guards),SidebarsHelper#super_sidebar_default_pins,Users::CalloutsHelper#show_feature_library_shimmer?,EE::SidebarsHelper, and thepush_frontend_feature_flagcall inGitlab::GonHelper - Remove the
glFeatures.featureLibraryModalcheck fromsidebar_menu.vue.showFeatureLibrarynow only requires a pinnable panel that is not the organization panel - Drop the now-unused
userargument fromsuper_sidebar_default_pins - The enriched default pins are now the default for everyone:
- Project panel: overview, members, work items, branches, merge requests, pipelines
- Group panel: overview, members, work items, issue boards, merge requests (EE also adds epic list and epic boards)
- Update specs: delete flag-disabled contexts, and seed explicit pinned items in
spec/features/nav/pinned_nav_items_spec.rbwhere tests need a deterministic pinned list instead of relying on defaults
References
- Rollout issue: #603145 (closed)
- Feature issue: #601394 (closed)
How to set up and validate locally
- Sign in.
- Open any project or group as a user with no saved pins, and confirm the Pinned section in the sidebar shows the enriched defaults listed above.
- Click the "More features" trigger and confirm it opens the Feature Library modal. Also confirm the
\keyboard shortcut opens it. - Pin and unpin an item from the modal and confirm the Pinned section updates accordingly.
No feature flag toggling is needed since the flag no longer exists.