From 84c9b345680cbd754b013705dd7a2d4a3bc8842f Mon Sep 17 00:00:00 2001 From: Natalia Tepluhina Date: Mon, 7 Nov 2022 16:01:44 +0100 Subject: [PATCH 1/7] Removed realtime labels FF - removed FF yaml file - removed FF from controllers - removed FF conditionals on Vue components Changelog: other --- .../labels_select_widget/labels_select_root.vue | 5 +---- app/controllers/groups/boards_controller.rb | 1 - app/controllers/projects/boards_controller.rb | 1 - app/controllers/projects/issues_controller.rb | 1 - .../projects/merge_requests_controller.rb | 1 - .../feature_flags/development/realtime_labels.yml | 8 -------- doc/user/project/labels.md | 5 +---- ee/app/controllers/groups/epic_boards_controller.rb | 1 - ee/app/controllers/groups/epics_controller.rb | 1 - .../labels_select_widget/labels_select_root_spec.js | 13 +------------ 10 files changed, 3 insertions(+), 34 deletions(-) delete mode 100644 config/feature_flags/development/realtime_labels.yml diff --git a/app/assets/javascripts/vue_shared/components/sidebar/labels_select_widget/labels_select_root.vue b/app/assets/javascripts/vue_shared/components/sidebar/labels_select_widget/labels_select_root.vue index 0e8da7281d8ba2..2c27a69d587707 100644 --- a/app/assets/javascripts/vue_shared/components/sidebar/labels_select_widget/labels_select_root.vue +++ b/app/assets/javascripts/vue_shared/components/sidebar/labels_select_widget/labels_select_root.vue @@ -129,9 +129,6 @@ export default { issuableId() { return this.issuable?.id; }, - isRealtimeEnabled() { - return this.glFeatures.realtimeLabels; - }, }, apollo: { issuable: { @@ -163,7 +160,7 @@ export default { }; }, skip() { - return !this.issuableId || !this.isDropdownVariantSidebar || !this.isRealtimeEnabled; + return !this.issuableId || !this.isDropdownVariantSidebar; }, updateQuery( _, diff --git a/app/controllers/groups/boards_controller.rb b/app/controllers/groups/boards_controller.rb index c5a24be26fb840..e1ba86220c7aff 100644 --- a/app/controllers/groups/boards_controller.rb +++ b/app/controllers/groups/boards_controller.rb @@ -8,7 +8,6 @@ class Groups::BoardsController < Groups::ApplicationController before_action do push_frontend_feature_flag(:board_multi_select, group) push_frontend_feature_flag(:apollo_boards, group) - push_frontend_feature_flag(:realtime_labels, group) experiment(:prominent_create_board_btn, subject: current_user) do |e| e.control {} e.candidate {} diff --git a/app/controllers/projects/boards_controller.rb b/app/controllers/projects/boards_controller.rb index 7af3cb9294a866..84872d1e97875e 100644 --- a/app/controllers/projects/boards_controller.rb +++ b/app/controllers/projects/boards_controller.rb @@ -8,7 +8,6 @@ class Projects::BoardsController < Projects::ApplicationController before_action do push_frontend_feature_flag(:board_multi_select, project) push_frontend_feature_flag(:apollo_boards, project) - push_frontend_feature_flag(:realtime_labels, project&.group) experiment(:prominent_create_board_btn, subject: current_user) do |e| e.control {} e.candidate {} diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb index d2edf1d8739391..c2575629f0ee47 100644 --- a/app/controllers/projects/issues_controller.rb +++ b/app/controllers/projects/issues_controller.rb @@ -51,7 +51,6 @@ class Projects::IssuesController < Projects::ApplicationController before_action only: :show do push_frontend_feature_flag(:issue_assignees_widget, project) - push_frontend_feature_flag(:realtime_labels, project) push_frontend_feature_flag(:work_items_mvc, project&.group) push_force_frontend_feature_flag(:work_items_mvc_2, project&.work_items_mvc_2_feature_flag_enabled?) push_frontend_feature_flag(:epic_widget_edit_confirmation, project) diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index 12356607494054..6a0cf93800f1e5 100644 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -35,7 +35,6 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo push_frontend_feature_flag(:merge_request_widget_graphql, project) push_frontend_feature_flag(:core_security_mr_widget_counts, project) push_frontend_feature_flag(:issue_assignees_widget, @project) - push_frontend_feature_flag(:realtime_labels, project) push_frontend_feature_flag(:refactor_security_extension, @project) push_frontend_feature_flag(:refactor_code_quality_inline_findings, project) push_frontend_feature_flag(:moved_mr_sidebar, project) diff --git a/config/feature_flags/development/realtime_labels.yml b/config/feature_flags/development/realtime_labels.yml deleted file mode 100644 index 0c047a09a6d761..00000000000000 --- a/config/feature_flags/development/realtime_labels.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: realtime_labels -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83743 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/357370 -milestone: '14.10' -type: development -group: group::project management -default_enabled: true diff --git a/doc/user/project/labels.md b/doc/user/project/labels.md index 826e0b21ea7887..8ad6aad17a12a7 100644 --- a/doc/user/project/labels.md +++ b/doc/user/project/labels.md @@ -449,10 +449,7 @@ To learn what happens when you sort by priority or label priority, see > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/241538) in GitLab 14.10 with a [feature flag](../../administration/feature_flags.md) named `realtime_labels`, disabled by default. > - [Enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/357370#note_991987201) in GitLab 15.1. > - [Enabled by default](https://gitlab.com/gitlab-org/gitlab/-/issues/357370) in GitLab 15.5. - -FLAG: -On self-managed GitLab, to prevent updating labels in real-time, you can ask an administrator to [disable the feature flag](../../administration/feature_flags.md) named `realtime_labels`. -On GitLab.com, this feature is available. +> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/103199) in GitLab 15.6. Changed labels are immediately visible to other users, without refreshing the page, on the following: diff --git a/ee/app/controllers/groups/epic_boards_controller.rb b/ee/app/controllers/groups/epic_boards_controller.rb index 0b313c424c1d81..b4639a3eee6067 100644 --- a/ee/app/controllers/groups/epic_boards_controller.rb +++ b/ee/app/controllers/groups/epic_boards_controller.rb @@ -13,7 +13,6 @@ class Groups::EpicBoardsController < Groups::ApplicationController end before_action do - push_frontend_feature_flag(:realtime_labels, group) push_frontend_feature_flag(:epic_color_highlight, group) end diff --git a/ee/app/controllers/groups/epics_controller.rb b/ee/app/controllers/groups/epics_controller.rb index f0b7eae65b5fe9..0878f81b13b4e6 100644 --- a/ee/app/controllers/groups/epics_controller.rb +++ b/ee/app/controllers/groups/epics_controller.rb @@ -17,7 +17,6 @@ class Groups::EpicsController < Groups::ApplicationController after_action :log_epic_show, only: :show before_action do - push_frontend_feature_flag(:realtime_labels, group) push_frontend_feature_flag(:epic_color_highlight, @group) push_frontend_feature_flag(:preserve_unchanged_markdown, @group) push_frontend_feature_flag(:content_editor_on_issues, @group) diff --git a/spec/frontend/vue_shared/components/sidebar/labels_select_widget/labels_select_root_spec.js b/spec/frontend/vue_shared/components/sidebar/labels_select_widget/labels_select_root_spec.js index b58c44645d66d0..cd0548322f2f88 100644 --- a/spec/frontend/vue_shared/components/sidebar/labels_select_widget/labels_select_root_spec.js +++ b/spec/frontend/vue_shared/components/sidebar/labels_select_widget/labels_select_root_spec.js @@ -49,7 +49,6 @@ describe('LabelsSelectRoot', () => { issuableType = IssuableType.Issue, queryHandler = successfulQueryHandler, mutationHandler = successfulMutationHandler, - isRealtimeEnabled = false, } = {}) => { const mockApollo = createMockApollo([ [issueLabelsQuery, queryHandler], @@ -74,9 +73,6 @@ describe('LabelsSelectRoot', () => { allowLabelEdit: true, allowLabelCreate: true, labelsManagePath: 'test', - glFeatures: { - realtimeLabels: isRealtimeEnabled, - }, }, }); }; @@ -204,14 +200,7 @@ describe('LabelsSelectRoot', () => { }); }); - it('does not emit `updateSelectedLabels` event when the subscription is triggered and FF is disabled', async () => { - createComponent(); - await waitForPromises(); - - expect(wrapper.emitted('updateSelectedLabels')).toBeUndefined(); - }); - - it('emits `updateSelectedLabels` event when the subscription is triggered and FF is enabled', async () => { + it('emits `updateSelectedLabels` event when the subscription is triggered', async () => { createComponent({ isRealtimeEnabled: true }); await waitForPromises(); -- GitLab From 5b4e1fd8f803b778870e1aabbc2e4495caa73aed Mon Sep 17 00:00:00 2001 From: Marcin Sedlak-Jakubowski Date: Wed, 9 Nov 2022 06:28:21 +0000 Subject: [PATCH 2/7] Apply 1 suggestion(s) to 1 file(s) --- doc/user/project/labels.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/doc/user/project/labels.md b/doc/user/project/labels.md index 8ad6aad17a12a7..0263651b1ad44b 100644 --- a/doc/user/project/labels.md +++ b/doc/user/project/labels.md @@ -28,10 +28,22 @@ You can use two types of labels in GitLab: ## Assign and unassign labels -> Unassigning labels with the **X** button [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/216881) in GitLab 13.5. +> - Unassigning labels with the **X** button [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/216881) in GitLab 13.5. + +> - Real-time updates in the sidebar [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/241538) in GitLab 14.10 with a [feature flag](../../administration/feature_flags.md) named `realtime_labels`, disabled by default. +> - Real-time updates in the sidebar [enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/357370#note_991987201) in GitLab 15.1. +> - Real-time updates in the sidebar [enabled by default](https://gitlab.com/gitlab-org/gitlab/-/issues/357370) in GitLab 15.5. +> - Real-time updates in the sidebar [generally available](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/103199) in GitLab 15.6. Feature flag `realtime_labels` removed. You can assign labels to any issue, merge request, or epic. +Changed labels are immediately visible to other users, without refreshing the page, on the following: + +- Epics +- Incidents +- Issues +- Merge requests + To assign or unassign a label: 1. In the **Labels** section of the sidebar, select **Edit**. -- GitLab From b6a81969238b97bdcb54408ff424579f2bbc7091 Mon Sep 17 00:00:00 2001 From: Marcin Sedlak-Jakubowski Date: Wed, 9 Nov 2022 06:28:28 +0000 Subject: [PATCH 3/7] Apply 1 suggestion(s) to 1 file(s) --- doc/user/project/labels.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/doc/user/project/labels.md b/doc/user/project/labels.md index 0263651b1ad44b..cf8a28d7a09a6e 100644 --- a/doc/user/project/labels.md +++ b/doc/user/project/labels.md @@ -456,20 +456,6 @@ The labels higher in the list get higher priority. To learn what happens when you sort by priority or label priority, see [Sorting and ordering issue lists](issues/sorting_issue_lists.md). -## Real-time changes to labels - -> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/241538) in GitLab 14.10 with a [feature flag](../../administration/feature_flags.md) named `realtime_labels`, disabled by default. -> - [Enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/357370#note_991987201) in GitLab 15.1. -> - [Enabled by default](https://gitlab.com/gitlab-org/gitlab/-/issues/357370) in GitLab 15.5. -> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/103199) in GitLab 15.6. - -Changed labels are immediately visible to other users, without refreshing the page, on the following: - -- Epics -- Incidents -- Issues -- Merge requests - ## Troubleshooting ### Some label titles end with `_duplicate` -- GitLab From d50e7885d7eedaa5611a42e5ef637ba42b88ffb1 Mon Sep 17 00:00:00 2001 From: NataliaTepluhina Date: Wed, 9 Nov 2022 09:27:51 +0100 Subject: [PATCH 4/7] Fixed link to labels --- doc/user/project/issues/managing_issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md index 9baf6d99b61ce6..25fcd376b4fe42 100644 --- a/doc/user/project/issues/managing_issues.md +++ b/doc/user/project/issues/managing_issues.md @@ -673,7 +673,7 @@ you can see the change without having to refresh the page. The following sections are updated in real time: - [Assignee](#assignee) -- Labels, [if enabled](../labels.md#real-time-changes-to-labels) +- [Labels](../labels.md#assign-and-unassign-labels) ## Assignee -- GitLab From 62b8f0be923f192b853639b3b6e7ae7e37d2af8a Mon Sep 17 00:00:00 2001 From: NataliaTepluhina Date: Wed, 9 Nov 2022 09:30:56 +0100 Subject: [PATCH 5/7] Removed unnecessary hyphen --- doc/user/project/labels.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/user/project/labels.md b/doc/user/project/labels.md index cf8a28d7a09a6e..eb10728e43ee1c 100644 --- a/doc/user/project/labels.md +++ b/doc/user/project/labels.md @@ -28,7 +28,7 @@ You can use two types of labels in GitLab: ## Assign and unassign labels -> - Unassigning labels with the **X** button [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/216881) in GitLab 13.5. +> Unassigning labels with the **X** button [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/216881) in GitLab 13.5. > - Real-time updates in the sidebar [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/241538) in GitLab 14.10 with a [feature flag](../../administration/feature_flags.md) named `realtime_labels`, disabled by default. > - Real-time updates in the sidebar [enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/357370#note_991987201) in GitLab 15.1. -- GitLab From 353b832d5765229fbf8ed7a7a22982e9fc31a6b6 Mon Sep 17 00:00:00 2001 From: NataliaTepluhina Date: Wed, 9 Nov 2022 09:35:06 +0100 Subject: [PATCH 6/7] Removed the blank line --- doc/user/project/labels.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/user/project/labels.md b/doc/user/project/labels.md index eb10728e43ee1c..a79089910f4438 100644 --- a/doc/user/project/labels.md +++ b/doc/user/project/labels.md @@ -28,8 +28,7 @@ You can use two types of labels in GitLab: ## Assign and unassign labels -> Unassigning labels with the **X** button [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/216881) in GitLab 13.5. - +> - Unassigning labels with the **X** button [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/216881) in GitLab 13.5. > - Real-time updates in the sidebar [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/241538) in GitLab 14.10 with a [feature flag](../../administration/feature_flags.md) named `realtime_labels`, disabled by default. > - Real-time updates in the sidebar [enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/357370#note_991987201) in GitLab 15.1. > - Real-time updates in the sidebar [enabled by default](https://gitlab.com/gitlab-org/gitlab/-/issues/357370) in GitLab 15.5. -- GitLab From 4cb97a2658597ed6698d84c4cd8449d60a657009 Mon Sep 17 00:00:00 2001 From: Coung Ngo Date: Wed, 9 Nov 2022 16:23:11 +0000 Subject: [PATCH 7/7] Apply 1 suggestion(s) to 1 file(s) --- .../sidebar/labels_select_widget/labels_select_root_spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/frontend/vue_shared/components/sidebar/labels_select_widget/labels_select_root_spec.js b/spec/frontend/vue_shared/components/sidebar/labels_select_widget/labels_select_root_spec.js index cd0548322f2f88..74ddd07d041557 100644 --- a/spec/frontend/vue_shared/components/sidebar/labels_select_widget/labels_select_root_spec.js +++ b/spec/frontend/vue_shared/components/sidebar/labels_select_widget/labels_select_root_spec.js @@ -201,7 +201,7 @@ describe('LabelsSelectRoot', () => { }); it('emits `updateSelectedLabels` event when the subscription is triggered', async () => { - createComponent({ isRealtimeEnabled: true }); + createComponent(); await waitForPromises(); expect(wrapper.emitted('updateSelectedLabels')).toEqual([ -- GitLab