From 6092dcc437ef3e9300cc32cb7c6daea9448cba40 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 2 Oct 2020 12:09:03 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../batch_comments/components/draft_note.vue | 5 - .../components/preview_dropdown.vue | 111 ++------ .../components/preview_item.vue | 17 +- .../components/publish_button.vue | 20 +- .../batch_comments/components/review_bar.vue | 47 +--- .../stores/modules/batch_comments/actions.js | 22 -- .../modules/batch_comments/mutation_types.js | 7 - .../modules/batch_comments/mutations.js | 16 -- .../stores/modules/batch_comments/state.js | 2 - app/assets/javascripts/confirm_modal.js | 12 +- .../groups/components/item_actions.vue | 2 + .../groups/components/item_stats_value.vue | 3 +- .../fields/description_template.vue | 11 +- .../javascripts/lib/utils/url_utility.js | 9 + .../pages/projects/tags/index/index.js | 12 + .../pages/projects/tags/remove_tag.js | 16 ++ .../pages/projects/tags/show/index.js | 10 + .../details_page/partial_cleanup_alert.vue | 38 +++ .../components/list_page/image_list_row.vue | 1 + .../explorer/constants/expiration_policies.js | 4 + .../registry/explorer/pages/details.vue | 20 +- .../states/mr_widget_missing_branch.vue | 7 +- .../vue_shared/components/confirm_modal.vue | 11 +- app/assets/stylesheets/framework/wells.scss | 1 - app/assets/stylesheets/pages/projects.scss | 2 +- app/channels/application_cable/connection.rb | 6 +- app/controllers/boards/issues_controller.rb | 2 + app/controllers/boards/lists_controller.rb | 2 + .../controller_with_feature_category.rb | 29 +- .../config.rb | 38 --- app/controllers/confirmations_controller.rb | 2 + .../dashboard/groups_controller.rb | 2 + .../dashboard/labels_controller.rb | 2 + .../dashboard/milestones_controller.rb | 2 + .../dashboard/projects_controller.rb | 2 + .../dashboard/snippets_controller.rb | 2 + app/controllers/dashboard/todos_controller.rb | 2 + app/controllers/dashboard_controller.rb | 4 + app/controllers/explore/groups_controller.rb | 2 + .../explore/projects_controller.rb | 2 + .../explore/snippets_controller.rb | 2 + .../projects/merge_requests_controller.rb | 17 +- app/controllers/projects/tags_controller.rb | 23 +- app/helpers/application_settings_helper.rb | 5 +- app/helpers/tags_helper.rb | 9 + app/models/issue.rb | 1 + app/models/issue_email_participant.rb | 13 + app/models/project.rb | 6 + app/models/project_tracing_setting.rb | 15 ++ app/models/user.rb | 10 +- app/policies/releases/evidence_policy.rb | 1 + .../container_repository_entity.rb | 1 + app/services/ci/update_build_state_service.rb | 8 +- .../copy_design_collection/copy_service.rb | 2 +- app/services/system_notes/incident_service.rb | 2 - .../application_settings/_signup.html.haml | 8 + .../registry/repositories/index.html.haml | 2 + .../profiles/two_factor_auths/show.html.haml | 6 +- .../projects/buttons/_remove_tag.html.haml | 6 + .../registry/repositories/index.html.haml | 3 + app/views/projects/tags/_tag.html.haml | 6 +- app/views/projects/tags/destroy.js.haml | 4 - app/views/projects/tags/show.html.haml | 3 +- .../unreleased/225293-emaill-participants.yml | 5 + ...-for-partially-executed-cleanup-polici.yml | 5 + ...-description-template-replace-fa-icons.yml | 5 + .../ph-212334-fixTwoButtonReviewSubmit.yml | 5 + .../pl-tracing-core-2-usage-data.yml | 5 + ...-add_severity_system_note-feature-flag.yml | 5 + ...> admin_approval_for_new_user_signups.yml} | 8 +- .../forbid_sidekiq_in_transactions.rb | 2 +- config/locales/devise.en.yml | 2 + ...2052316_create_issue_email_participants.rb | 32 +++ db/schema_migrations/20200922052316 | 1 + db/structure.sql | 28 ++ doc/development/database/index.md | 1 + .../database/table_partitioning.md | 253 ++++++++++++++++++ .../feature_categorization/index.md | 36 +-- .../merge_requests/img/commit_nav_v13_4.png | Bin 0 -> 21170 bytes .../reviewing_and_managing_merge_requests.md | 2 + lib/gitlab/usage_data.rb | 4 +- locale/gitlab.pot | 58 ++-- qa/qa/page/merge_request/show.rb | 2 - .../application_cable/connection_spec.rb | 54 ++-- .../application_settings_controller_spec.rb | 32 +++ .../admin/sessions_controller_spec.rb | 2 +- .../application_controller_spec.rb | 4 +- .../config_spec.rb | 53 ---- .../controller_with_feature_category_spec.rb | 38 ++- spec/controllers/every_controller_spec.rb | 25 +- .../releases/evidences_controller_spec.rb | 32 +-- .../projects/tags_controller_spec.rb | 21 ++ spec/controllers/sessions_controller_spec.rb | 23 ++ spec/factories/issue_email_participants.rb | 8 + spec/factories/project_tracing_settings.rb | 8 + spec/factories/usage_data.rb | 3 + spec/features/admin/admin_settings_spec.rb | 32 +++ spec/features/calendar_spec.rb | 2 +- .../merge_request/batch_comments_spec.rb | 15 -- spec/features/projects/branches_spec.rb | 4 +- .../tags/developer_deletes_tag_spec.rb | 27 +- .../components/preview_item_spec.js | 16 -- .../components/publish_button_spec.js | 11 - .../components/publish_dropdown_spec.js | 89 ++---- .../modules/batch_comments/actions_spec.js | 90 +------ .../modules/batch_comments/mutations_spec.js | 52 ---- .../groups/components/item_actions_spec.js | 141 +++++----- .../groups/components/item_caret_spec.js | 58 ++-- .../groups/components/item_stats_spec.js | 135 +++------- .../components/item_stats_value_spec.js | 115 ++++---- .../groups/components/item_type_icon_spec.js | 84 +++--- spec/frontend/lib/utils/url_utility_spec.js | 12 + .../partial_cleanup_alert_spec.js | 71 +++++ .../registry/explorer/pages/details_spec.js | 65 ++++- .../components/confirm_modal_spec.js | 16 ++ spec/lib/backup/files_spec.rb | 2 +- .../inline_grafana_metrics_filter_spec.rb | 2 +- .../alert_management/payload/generic_spec.rb | 4 +- .../gitlab/analytics/unique_visits_spec.rb | 2 +- .../lib/gitlab/auth/current_user_mode_spec.rb | 2 +- .../gitlab/bitbucket_import/importer_spec.rb | 2 +- spec/lib/gitlab/ci/cron_parser_spec.rb | 14 +- spec/lib/gitlab/danger/roulette_spec.rb | 2 +- spec/lib/gitlab/danger/teammate_spec.rb | 2 +- .../database/background_migration_job_spec.rb | 2 +- .../database/obsolete_ignored_columns_spec.rb | 2 +- .../partitioning/monthly_strategy_spec.rb | 2 +- .../table_management_helpers_spec.rb | 4 +- spec/lib/gitlab/git/branch_spec.rb | 6 +- .../loggers/queue_duration_logger_spec.rb | 2 +- spec/lib/gitlab/import_export/all_models.yml | 1 + spec/lib/gitlab/lfs_token_spec.rb | 2 +- .../middleware/rails_queue_duration_spec.rb | 2 +- ...dditional_metrics_deployment_query_spec.rb | 2 +- .../queries/deployment_query_spec.rb | 2 +- spec/lib/gitlab/tracking_spec.rb | 2 +- .../hll_redis_counter_spec.rb | 2 +- spec/lib/gitlab/usage_data_spec.rb | 8 +- spec/lib/grafana/time_window_spec.rb | 6 +- ...ll_status_page_published_incidents_spec.rb | 2 +- spec/models/ci/freeze_period_status_spec.rb | 4 +- spec/models/ci/pipeline_schedule_spec.rb | 4 +- spec/models/ci_platform_metric_spec.rb | 6 +- .../concerns/resolvable_discussion_spec.rb | 6 +- spec/models/concerns/schedulable_spec.rb | 2 +- spec/models/import_failure_spec.rb | 2 +- spec/models/issue/metrics_spec.rb | 14 +- spec/models/issue_email_participant_spec.rb | 19 ++ spec/models/issue_spec.rb | 1 + spec/models/project_feature_usage_spec.rb | 2 +- spec/models/project_spec.rb | 1 + spec/models/project_tracing_setting_spec.rb | 40 +++ spec/models/todo_spec.rb | 2 +- spec/models/user_spec.rb | 6 +- spec/requests/api/releases_spec.rb | 4 +- .../projects/cycle_analytics_events_spec.rb | 2 +- spec/requests/request_profiler_spec.rb | 2 +- spec/services/ci/retry_build_service_spec.rb | 4 +- .../ci/update_build_state_service_spec.rb | 17 ++ .../deployments/after_create_service_spec.rb | 4 +- .../copy_service_spec.rb | 26 +- spec/services/issues/update_service_spec.rb | 2 +- spec/services/keys/last_used_service_spec.rb | 2 +- .../merge_requests/update_service_spec.rb | 2 +- spec/services/notes/create_service_spec.rb | 2 +- spec/services/notes/update_service_spec.rb | 2 +- .../system_notes/incident_service_spec.rb | 64 ++--- spec/support/helpers/usage_data_helpers.rb | 1 + .../known_sign_in_shared_examples.rb | 2 +- .../models/throttled_touch_shared_examples.rb | 4 +- spec/workers/post_receive_spec.rb | 2 +- 171 files changed, 1538 insertions(+), 1247 deletions(-) create mode 100644 app/assets/javascripts/pages/projects/tags/index/index.js create mode 100644 app/assets/javascripts/pages/projects/tags/remove_tag.js create mode 100644 app/assets/javascripts/pages/projects/tags/show/index.js create mode 100644 app/assets/javascripts/registry/explorer/components/details_page/partial_cleanup_alert.vue delete mode 100644 app/controllers/concerns/controller_with_feature_category/config.rb create mode 100644 app/models/issue_email_participant.rb create mode 100644 app/models/project_tracing_setting.rb create mode 100644 app/views/projects/buttons/_remove_tag.html.haml delete mode 100644 app/views/projects/tags/destroy.js.haml create mode 100644 changelogs/unreleased/225293-emaill-participants.yml create mode 100644 changelogs/unreleased/243750-display-messages-and-warning-for-partially-executed-cleanup-polici.yml create mode 100644 changelogs/unreleased/mw-description-template-replace-fa-icons.yml create mode 100644 changelogs/unreleased/ph-212334-fixTwoButtonReviewSubmit.yml create mode 100644 changelogs/unreleased/pl-tracing-core-2-usage-data.yml create mode 100644 changelogs/unreleased/remove-add_severity_system_note-feature-flag.yml rename config/feature_flags/development/{add_severity_system_note.yml => admin_approval_for_new_user_signups.yml} (66%) create mode 100644 db/migrate/20200922052316_create_issue_email_participants.rb create mode 100644 db/schema_migrations/20200922052316 create mode 100644 doc/development/database/table_partitioning.md create mode 100644 doc/user/project/merge_requests/img/commit_nav_v13_4.png delete mode 100644 spec/controllers/concerns/controller_with_feature_category/config_spec.rb create mode 100644 spec/factories/issue_email_participants.rb create mode 100644 spec/factories/project_tracing_settings.rb create mode 100644 spec/frontend/registry/explorer/components/details_page/partial_cleanup_alert_spec.js create mode 100644 spec/models/issue_email_participant_spec.rb create mode 100644 spec/models/project_tracing_setting_spec.rb diff --git a/app/assets/javascripts/batch_comments/components/draft_note.vue b/app/assets/javascripts/batch_comments/components/draft_note.vue index a6cd36caede..74069b61f07 100644 --- a/app/assets/javascripts/batch_comments/components/draft_note.vue +++ b/app/assets/javascripts/batch_comments/components/draft_note.vue @@ -18,11 +18,6 @@ export default { type: Object, required: true, }, - diffFile: { - type: Object, - required: false, - default: () => ({}), - }, line: { type: Object, required: false, diff --git a/app/assets/javascripts/batch_comments/components/preview_dropdown.vue b/app/assets/javascripts/batch_comments/components/preview_dropdown.vue index 2b37ed19176..e18dc344cd7 100644 --- a/app/assets/javascripts/batch_comments/components/preview_dropdown.vue +++ b/app/assets/javascripts/batch_comments/components/preview_dropdown.vue @@ -1,114 +1,43 @@ + - {{ __('Finish review') }} - - - - - + + + diff --git a/app/assets/javascripts/batch_comments/components/preview_item.vue b/app/assets/javascripts/batch_comments/components/preview_item.vue index c89a6b537ef..dca6d90fbcb 100644 --- a/app/assets/javascripts/batch_comments/components/preview_item.vue +++ b/app/assets/javascripts/batch_comments/components/preview_item.vue @@ -1,5 +1,5 @@ diff --git a/app/assets/javascripts/batch_comments/components/publish_button.vue b/app/assets/javascripts/batch_comments/components/publish_button.vue index 0c79e185f06..ecced36771e 100644 --- a/app/assets/javascripts/batch_comments/components/publish_button.vue +++ b/app/assets/javascripts/batch_comments/components/publish_button.vue @@ -1,7 +1,6 @@ diff --git a/app/assets/javascripts/batch_comments/stores/modules/batch_comments/actions.js b/app/assets/javascripts/batch_comments/stores/modules/batch_comments/actions.js index d9b92113103..ebd821125fb 100644 --- a/app/assets/javascripts/batch_comments/stores/modules/batch_comments/actions.js +++ b/app/assets/javascripts/batch_comments/stores/modules/batch_comments/actions.js @@ -75,15 +75,6 @@ export const updateDiscussionsAfterPublish = ({ dispatch, getters, rootGetters } }), ); -export const discardReview = ({ commit, getters }) => { - commit(types.REQUEST_DISCARD_REVIEW); - - return service - .discard(getters.getNotesData.draftsDiscardPath) - .then(() => commit(types.RECEIVE_DISCARD_REVIEW_SUCCESS)) - .catch(() => commit(types.RECEIVE_DISCARD_REVIEW_ERROR)); -}; - export const updateDraft = ( { commit, getters }, { note, noteText, resolveDiscussion, position, callback }, @@ -108,8 +99,6 @@ export const scrollToDraft = ({ dispatch, rootGetters }, draft) => { const draftID = `note_${draft.id}`; const el = document.querySelector(`#${tabEl} #${draftID}`); - dispatch('closeReviewDropdown'); - window.location.hash = draftID; if (window.mrTabs.currentAction !== tab) { @@ -125,17 +114,6 @@ export const scrollToDraft = ({ dispatch, rootGetters }, draft) => { } }; -export const toggleReviewDropdown = ({ dispatch, state }) => { - if (state.showPreviewDropdown) { - dispatch('closeReviewDropdown'); - } else { - dispatch('openReviewDropdown'); - } -}; - -export const openReviewDropdown = ({ commit }) => commit(types.OPEN_REVIEW_DROPDOWN); -export const closeReviewDropdown = ({ commit }) => commit(types.CLOSE_REVIEW_DROPDOWN); - export const expandAllDiscussions = ({ dispatch, state }) => state.drafts .filter(draft => draft.discussion_id) diff --git a/app/assets/javascripts/batch_comments/stores/modules/batch_comments/mutation_types.js b/app/assets/javascripts/batch_comments/stores/modules/batch_comments/mutation_types.js index c8f0658c21c..df523a692d3 100644 --- a/app/assets/javascripts/batch_comments/stores/modules/batch_comments/mutation_types.js +++ b/app/assets/javascripts/batch_comments/stores/modules/batch_comments/mutation_types.js @@ -11,13 +11,6 @@ export const REQUEST_PUBLISH_REVIEW = 'REQUEST_PUBLISH_REVIEW'; export const RECEIVE_PUBLISH_REVIEW_SUCCESS = 'RECEIVE_PUBLISH_REVIEW_SUCCESS'; export const RECEIVE_PUBLISH_REVIEW_ERROR = 'RECEIVE_PUBLISH_REVIEW_ERROR'; -export const REQUEST_DISCARD_REVIEW = 'REQUEST_DISCARD_REVIEW'; -export const RECEIVE_DISCARD_REVIEW_SUCCESS = 'RECEIVE_DISCARD_REVIEW_SUCCESS'; -export const RECEIVE_DISCARD_REVIEW_ERROR = 'RECEIVE_DISCARD_REVIEW_ERROR'; - export const RECEIVE_DRAFT_UPDATE_SUCCESS = 'RECEIVE_DRAFT_UPDATE_SUCCESS'; -export const OPEN_REVIEW_DROPDOWN = 'OPEN_REVIEW_DROPDOWN'; -export const CLOSE_REVIEW_DROPDOWN = 'CLOSE_REVIEW_DROPDOWN'; - export const TOGGLE_RESOLVE_DISCUSSION = 'TOGGLE_RESOLVE_DISCUSSION'; diff --git a/app/assets/javascripts/batch_comments/stores/modules/batch_comments/mutations.js b/app/assets/javascripts/batch_comments/stores/modules/batch_comments/mutations.js index 81ceef7b160..731f4b6d12a 100644 --- a/app/assets/javascripts/batch_comments/stores/modules/batch_comments/mutations.js +++ b/app/assets/javascripts/batch_comments/stores/modules/batch_comments/mutations.js @@ -43,16 +43,6 @@ export default { [types.RECEIVE_PUBLISH_REVIEW_ERROR](state) { state.isPublishing = false; }, - [types.REQUEST_DISCARD_REVIEW](state) { - state.isDiscarding = true; - }, - [types.RECEIVE_DISCARD_REVIEW_SUCCESS](state) { - state.isDiscarding = false; - state.drafts = []; - }, - [types.RECEIVE_DISCARD_REVIEW_ERROR](state) { - state.isDiscarding = false; - }, [types.RECEIVE_DRAFT_UPDATE_SUCCESS](state, data) { const index = state.drafts.findIndex(draft => draft.id === data.id); @@ -60,12 +50,6 @@ export default { state.drafts.splice(index, 1, processDraft(data)); } }, - [types.OPEN_REVIEW_DROPDOWN](state) { - state.showPreviewDropdown = true; - }, - [types.CLOSE_REVIEW_DROPDOWN](state) { - state.showPreviewDropdown = false; - }, [types.TOGGLE_RESOLVE_DISCUSSION](state, draftId) { state.drafts = state.drafts.map(draft => { if (draft.id === draftId) { diff --git a/app/assets/javascripts/batch_comments/stores/modules/batch_comments/state.js b/app/assets/javascripts/batch_comments/stores/modules/batch_comments/state.js index 80c710deab0..6b97fc242c8 100644 --- a/app/assets/javascripts/batch_comments/stores/modules/batch_comments/state.js +++ b/app/assets/javascripts/batch_comments/stores/modules/batch_comments/state.js @@ -4,6 +4,4 @@ export default () => ({ drafts: [], isPublishing: false, currentlyPublishingDrafts: [], - isDiscarding: false, - showPreviewDropdown: false, }); diff --git a/app/assets/javascripts/confirm_modal.js b/app/assets/javascripts/confirm_modal.js index 4b4fdf03873..bf2ea3ce38a 100644 --- a/app/assets/javascripts/confirm_modal.js +++ b/app/assets/javascripts/confirm_modal.js @@ -1,14 +1,16 @@ import Vue from 'vue'; import ConfirmModal from '~/vue_shared/components/confirm_modal.vue'; -const mountConfirmModal = () => { - return new Vue({ +const mountConfirmModal = optionalProps => + new Vue({ render(h) { return h(ConfirmModal, { - props: { selector: '.js-confirm-modal-button' }, + props: { + selector: '.js-confirm-modal-button', + ...optionalProps, + }, }); }, }).$mount(); -}; -export default () => mountConfirmModal(); +export default (optionalProps = {}) => mountConfirmModal(optionalProps); diff --git a/app/assets/javascripts/groups/components/item_actions.vue b/app/assets/javascripts/groups/components/item_actions.vue index 5487e25066e..2e92a608f76 100644 --- a/app/assets/javascripts/groups/components/item_actions.vue +++ b/app/assets/javascripts/groups/components/item_actions.vue @@ -53,6 +53,7 @@ export default { :aria-label="leaveBtnTitle" data-container="body" data-placement="bottom" + data-testid="leave-group-btn" class="leave-group btn btn-xs no-expand gl-text-gray-500 gl-ml-5" @click.prevent="onLeaveGroup" > @@ -66,6 +67,7 @@ export default { :aria-label="editBtnTitle" data-container="body" data-placement="bottom" + data-testid="edit-group-btn" class="edit-group btn btn-xs no-expand gl-text-gray-500 gl-ml-5" > diff --git a/app/assets/javascripts/groups/components/item_stats_value.vue b/app/assets/javascripts/groups/components/item_stats_value.vue index 18efd8c6823..2185284c892 100644 --- a/app/assets/javascripts/groups/components/item_stats_value.vue +++ b/app/assets/javascripts/groups/components/item_stats_value.vue @@ -57,6 +57,7 @@ export default { :title="title" data-container="body" > - {{ value }} + + {{ value }} diff --git a/app/assets/javascripts/issue_show/components/fields/description_template.vue b/app/assets/javascripts/issue_show/components/fields/description_template.vue index e1b308c6f57..8a1a8448bb8 100644 --- a/app/assets/javascripts/issue_show/components/fields/description_template.vue +++ b/app/assets/javascripts/issue_show/components/fields/description_template.vue @@ -1,5 +1,4 @@ + + diff --git a/app/assets/javascripts/registry/explorer/components/list_page/image_list_row.vue b/app/assets/javascripts/registry/explorer/components/list_page/image_list_row.vue index 32bf27f1143..76cc57853c7 100644 --- a/app/assets/javascripts/registry/explorer/components/list_page/image_list_row.vue +++ b/app/assets/javascripts/registry/explorer/components/list_page/image_list_row.vue @@ -42,6 +42,7 @@ export default { name: this.item.path, tags_path: this.item.tags_path, id: this.item.id, + cleanup_policy_started_at: this.item.cleanup_policy_started_at, }); return window.btoa(params); }, diff --git a/app/assets/javascripts/registry/explorer/constants/expiration_policies.js b/app/assets/javascripts/registry/explorer/constants/expiration_policies.js index 8af25ca6ecc..5f73834d995 100644 --- a/app/assets/javascripts/registry/explorer/constants/expiration_policies.js +++ b/app/assets/javascripts/registry/explorer/constants/expiration_policies.js @@ -9,3 +9,7 @@ export const EXPIRATION_POLICY_DISABLED_TEXT = s__( export const EXPIRATION_POLICY_DISABLED_MESSAGE = s__( 'ContainerRegistry|Expiration policies help manage the storage space used by the Container Registry, but the expiration policies for this registry are disabled. Contact your administrator to enable. %{docLinkStart}More information%{docLinkEnd}', ); +export const DELETE_ALERT_TITLE = s__('ContainerRegistry|Some tags were not deleted'); +export const DELETE_ALERT_LINK_TEXT = s__( + 'ContainerRegistry|The cleanup policy timed out before it could delete all tags. An administrator can %{adminLinkStart}manually run cleanup now%{adminLinkEnd} or you can wait for the cleanup policy to automatically run again. %{docLinkStart}More information%{docLinkEnd}', +); diff --git a/app/assets/javascripts/registry/explorer/pages/details.vue b/app/assets/javascripts/registry/explorer/pages/details.vue index b697bca6259..d2fb695dbfa 100644 --- a/app/assets/javascripts/registry/explorer/pages/details.vue +++ b/app/assets/javascripts/registry/explorer/pages/details.vue @@ -4,6 +4,7 @@ import { GlPagination, GlResizeObserverDirective } from '@gitlab/ui'; import { GlBreakpointInstance } from '@gitlab/ui/dist/utils'; import Tracking from '~/tracking'; import DeleteAlert from '../components/details_page/delete_alert.vue'; +import PartialCleanupAlert from '../components/details_page/partial_cleanup_alert.vue'; import DeleteModal from '../components/details_page/delete_modal.vue'; import DetailsHeader from '../components/details_page/details_header.vue'; import TagsList from '../components/details_page/tags_list.vue'; @@ -21,6 +22,7 @@ import { export default { components: { DeleteAlert, + PartialCleanupAlert, DetailsHeader, GlPagination, DeleteModal, @@ -37,13 +39,16 @@ export default { itemsToBeDeleted: [], isDesktop: true, deleteAlertType: null, + dismissPartialCleanupWarning: false, }; }, computed: { ...mapState(['tagsPagination', 'isLoading', 'config', 'tags']), - imageName() { - const { name } = decodeAndParse(this.$route.params.id); - return name; + queryParameters() { + return decodeAndParse(this.$route.params.id); + }, + showPartialCleanupWarning() { + return this.queryParameters.cleanup_policy_started_at && !this.dismissPartialCleanupWarning; }, tracking() { return { @@ -120,7 +125,14 @@ export default { class="gl-my-2" /> - + + +