From d7570fdd76abf7e09084dca20a7feac4beaf3f4e Mon Sep 17 00:00:00 2001 From: Coung Ngo Date: Wed, 22 Oct 2025 11:45:16 +0200 Subject: [PATCH] Delete issues_list_drawer and epics_list_drawer feature flags The work item drawer is now the default so we can delete these feature flags Changelog: other --- .../boards/components/board_app.vue | 22 +- .../boards/components/board_card_inner.vue | 17 +- .../boards/components/board_content.vue | 28 +- .../boards/components/board_list.vue | 13 +- .../list/components/issues_list_app.vue | 12 +- .../work_items/pages/work_items_list_app.vue | 4 +- .../stylesheets/page_bundles/boards.scss | 4 - app/controllers/groups/boards_controller.rb | 1 - .../groups/work_items_controller.rb | 1 - app/controllers/groups_controller.rb | 1 - app/controllers/projects/boards_controller.rb | 1 - app/controllers/projects/issues_controller.rb | 1 - .../development/issues_list_drawer.yml | 8 - doc/user/group/epics/epic_boards.md | 5 +- doc/user/group/epics/manage_epics.md | 8 +- doc/user/project/issue_board.md | 6 +- doc/user/project/issues/managing_issues.md | 10 +- .../stylesheets/page_bundles/boards.scss | 4 - .../groups/epic_boards_controller.rb | 1 - ee/app/controllers/groups/epics_controller.rb | 1 - .../feature_flags/wip/epics_list_drawer.yml | 9 - .../boards/components/board_app_spec.js | 39 +- .../boards/components/board_content_spec.js | 71 ---- spec/frontend/boards/board_list_spec.js | 17 +- .../boards/components/board_app_spec.js | 27 -- .../boards/components/board_card_spec.js | 4 +- .../boards/components/board_content_spec.js | 38 +- .../list/components/issues_list_app_spec.js | 41 +-- .../components/work_items_list_app_spec.js | 334 +++++++----------- 29 files changed, 176 insertions(+), 552 deletions(-) delete mode 100644 config/feature_flags/development/issues_list_drawer.yml delete mode 100644 ee/config/feature_flags/wip/epics_list_drawer.yml delete mode 100644 ee/spec/frontend/boards/components/board_content_spec.js diff --git a/app/assets/javascripts/boards/components/board_app.vue b/app/assets/javascripts/boards/components/board_app.vue index bae3b0b35502ae..bcd2fe57b97c92 100644 --- a/app/assets/javascripts/boards/components/board_app.vue +++ b/app/assets/javascripts/boards/components/board_app.vue @@ -1,6 +1,5 @@ diff --git a/app/assets/javascripts/boards/components/board_list.vue b/app/assets/javascripts/boards/components/board_list.vue index 5714a1d28993db..c3a2693dace846 100644 --- a/app/assets/javascripts/boards/components/board_list.vue +++ b/app/assets/javascripts/boards/components/board_list.vue @@ -2,7 +2,6 @@ import { GlLoadingIcon, GlIntersectionObserver, GlIcon } from '@gitlab/ui'; import Draggable from 'vuedraggable'; import { STATUS_CLOSED } from '~/issues/constants'; -import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; import { sprintf, __, s__ } from '~/locale'; import { ESC_KEY_CODE } from '~/lib/utils/keycodes'; import { defaultSortableOptions, DRAG_DELAY } from '~/sortable/constants'; @@ -54,7 +53,7 @@ export default { BoardCardMoveToPosition, GlIcon, }, - mixins: [Tracking.mixin(), glFeatureFlagsMixin()], + mixins: [Tracking.mixin()], inject: [ 'isEpicBoard', 'isIssueBoard', @@ -332,12 +331,6 @@ export default { shouldCloneCard() { return shouldCloneCard(this.list.listType, this.toList.listType); }, - issuesDrawerEnabled() { - if (this.glFeatures.workItemViewForIssues) return true; - return Boolean( - this.isIssueBoard ? this.glFeatures.issuesListDrawer : this.glFeatures.epicsListDrawer, - ); - }, isInapplicable() { if (!this.draggedType || !this.list?.status?.id) { return false; @@ -742,10 +735,6 @@ export default { }); }, checkDrawerParams() { - if (!this.issuesDrawerEnabled) { - return; - } - const queryParam = getParameterByName(DETAIL_VIEW_QUERY_PARAM_NAME); if (!queryParam) { diff --git a/app/assets/javascripts/issues/list/components/issues_list_app.vue b/app/assets/javascripts/issues/list/components/issues_list_app.vue index 110bef76aefb89..bfb23d7dde2575 100644 --- a/app/assets/javascripts/issues/list/components/issues_list_app.vue +++ b/app/assets/javascripts/issues/list/components/issues_list_app.vue @@ -632,9 +632,6 @@ export default { isIssuableSelected() { return !isEmpty(this.activeIssuable); }, - issuesDrawerEnabled() { - return this.glFeatures?.issuesListDrawer || this.glFeatures?.workItemViewForIssues; - }, }, watch: { $route(newValue, oldValue) { @@ -895,11 +892,7 @@ export default { this.state = state || STATUS_OPEN; }, handleSelectIssuable(issuable) { - if ( - this.issuesDrawerEnabled && - this.activeIssuable && - this.activeIssuable.iid === issuable.iid - ) { + if (this.activeIssuable && this.activeIssuable.iid === issuable.iid) { this.activeIssuable = null; const queryParam = getParameterByName(DETAIL_VIEW_QUERY_PARAM_NAME); @@ -1009,7 +1002,6 @@ export default {