From 6b833f1e0340e00fdee074da9c42c0d4e07a46d2 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 4 Feb 2020 15:08:40 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../diffs/components/diff_stats.vue | 2 +- .../components/error_details.vue | 35 +++- .../error_tracking/store/actions.js | 6 +- .../list/components/release_block_author.vue | 2 +- .../repository/components/last_commit.vue | 3 +- .../snippets/components/snippet_header.vue | 4 +- .../snippets/components/snippet_title.vue | 2 +- app/models/blob.rb | 19 +- app/models/commit.rb | 53 +++--- app/models/commit_collection.rb | 21 ++- app/models/concerns/has_repository.rb | 98 ++++++++++ app/models/project.rb | 73 +------- app/models/repository.rb | 41 +++-- app/models/user.rb | 7 + .../delete_non_latest_diffs_service.rb | 2 +- .../migrate_external_diffs_service.rb | 2 +- .../user_project_access_changed_service.rb | 2 +- app/services/users/update_service.rb | 6 +- app/workers/admin_email_worker.rb | 2 +- app/workers/ci/archive_traces_cron_worker.rb | 2 +- .../container_expiration_policy_worker.rb | 2 +- app/workers/expire_build_artifacts_worker.rb | 2 +- app/workers/gitlab_usage_ping_worker.rb | 2 +- .../import_export_project_cleanup_worker.rb | 2 +- app/workers/issue_due_scheduler_worker.rb | 4 +- .../prune_aggregation_schedules_worker.rb | 2 +- .../pages_domain_removal_cron_worker.rb | 2 +- .../pages_domain_ssl_renewal_cron_worker.rb | 2 +- .../pages_domain_verification_cron_worker.rb | 2 +- .../personal_access_tokens/expiring_worker.rb | 2 +- app/workers/pipeline_schedule_worker.rb | 2 +- app/workers/prune_old_events_worker.rb | 2 +- app/workers/prune_web_hook_logs_worker.rb | 2 +- .../remove_expired_group_links_worker.rb | 2 +- app/workers/remove_expired_members_worker.rb | 2 +- .../remove_unreferenced_lfs_objects_worker.rb | 2 +- .../repository_archive_cache_worker.rb | 2 +- .../repository_check/dispatch_worker.rb | 2 +- app/workers/requests_profiles_worker.rb | 2 +- .../schedule_migrate_external_diffs_worker.rb | 2 +- app/workers/stuck_ci_jobs_worker.rb | 2 +- app/workers/stuck_import_jobs_worker.rb | 2 +- app/workers/stuck_merge_jobs_worker.rb | 2 +- app/workers/trending_projects_worker.rb | 2 +- ...vendored-template-for-license-scanning.yml | 5 + ...ow-notification-on-related-error-close.yml | 5 + .../197926-initial-package-detail-title.yml | 5 + .../34262-readonly-ldap-attributes.yml | 5 + ...lock_version_to_zero_for_merge_requests.rb | 17 ++ ...default_lock_version_to_zero_for_issues.rb | 17 ++ ..._default_lock_version_to_zero_for_epics.rb | 17 ++ ...ault_lock_version_to_zero_for_ci_builds.rb | 17 ++ ...ault_lock_version_to_zero_for_ci_stages.rb | 17 ++ ...t_lock_version_to_zero_for_ci_pipelines.rb | 17 ++ db/schema.rb | 14 +- doc/development/sidekiq_style_guide.md | 119 ++++++++++++ .../Security/License-Management.gitlab-ci.yml | 8 +- .../Security/License-Scanning.gitlab-ci.yml | 33 ++++ lib/gitlab/diff/formatters/image_formatter.rb | 4 +- lib/gitlab/file_hook.rb | 2 +- lib/gitlab/gpg/commit.rb | 2 +- locale/gitlab.pot | 36 ++++ package.json | 4 +- .../scalability/bulk_perform_with_context.rb | 46 +++++ .../cop/scalability/cron_worker_context.rb | 39 ++++ rubocop/rubocop.rb | 2 + .../diffs/components/diff_stats_spec.js | 12 ++ .../components/error_details_spec.js | 20 +- ..._operation_confirmation_modal_spec.js.snap | 1 + .../__snapshots__/self_monitor_spec.js.snap | 1 + .../diff/formatters/image_formatter_spec.rb | 40 ++-- spec/models/project_spec.rb | 136 +------------- spec/models/user_spec.rb | 42 +++++ .../bulk_perform_with_context_spec.rb | 60 ++++++ .../scalability/cron_worker_context_spec.rb | 78 ++++++++ spec/services/users/update_service_spec.rb | 9 + .../has_repository_shared_examples.rb | 171 ++++++++++++++++++ spec/workers/concerns/cronjob_queue_spec.rb | 2 +- yarn.lock | 16 +- 79 files changed, 1108 insertions(+), 343 deletions(-) create mode 100644 app/models/concerns/has_repository.rb create mode 100644 changelogs/unreleased/14624-vendored-template-for-license-scanning.yml create mode 100644 changelogs/unreleased/197371-show-notification-on-related-error-close.yml create mode 100644 changelogs/unreleased/197926-initial-package-detail-title.yml create mode 100644 changelogs/unreleased/34262-readonly-ldap-attributes.yml create mode 100644 db/migrate/20200203025400_default_lock_version_to_zero_for_merge_requests.rb create mode 100644 db/migrate/20200203025602_default_lock_version_to_zero_for_issues.rb create mode 100644 db/migrate/20200203025619_default_lock_version_to_zero_for_epics.rb create mode 100644 db/migrate/20200203025744_default_lock_version_to_zero_for_ci_builds.rb create mode 100644 db/migrate/20200203025801_default_lock_version_to_zero_for_ci_stages.rb create mode 100644 db/migrate/20200203025821_default_lock_version_to_zero_for_ci_pipelines.rb create mode 100644 lib/gitlab/ci/templates/Security/License-Scanning.gitlab-ci.yml create mode 100644 rubocop/cop/scalability/bulk_perform_with_context.rb create mode 100644 rubocop/cop/scalability/cron_worker_context.rb create mode 100644 spec/rubocop/cop/scalability/bulk_perform_with_context_spec.rb create mode 100644 spec/rubocop/cop/scalability/cron_worker_context_spec.rb create mode 100644 spec/support/shared_examples/models/concerns/has_repository_shared_examples.rb diff --git a/app/assets/javascripts/diffs/components/diff_stats.vue b/app/assets/javascripts/diffs/components/diff_stats.vue index 5329cb1e241..0138790cf0e 100644 --- a/app/assets/javascripts/diffs/components/diff_stats.vue +++ b/app/assets/javascripts/diffs/components/diff_stats.vue @@ -17,7 +17,7 @@ export default { diffFilesLength: { type: Number, required: false, - default: 0, + default: null, }, }, computed: { diff --git a/app/assets/javascripts/error_tracking/components/error_details.vue b/app/assets/javascripts/error_tracking/components/error_details.vue index 98fc121d39f..88861b7da0e 100644 --- a/app/assets/javascripts/error_tracking/components/error_details.vue +++ b/app/assets/javascripts/error_tracking/components/error_details.vue @@ -2,7 +2,15 @@ import { mapActions, mapGetters, mapState } from 'vuex'; import dateFormat from 'dateformat'; import createFlash from '~/flash'; -import { GlButton, GlFormInput, GlLink, GlLoadingIcon, GlBadge } from '@gitlab/ui'; +import { + GlButton, + GlFormInput, + GlLink, + GlLoadingIcon, + GlBadge, + GlAlert, + GlSprintf, +} from '@gitlab/ui'; import { __, sprintf, n__ } from '~/locale'; import LoadingButton from '~/vue_shared/components/loading_button.vue'; import Icon from '~/vue_shared/components/icon.vue'; @@ -26,6 +34,8 @@ export default { Icon, Stacktrace, GlBadge, + GlAlert, + GlSprintf, }, directives: { TrackEvent: TrackEventDirective, @@ -85,6 +95,8 @@ export default { return { GQLerror: null, issueCreationInProgress: false, + isAlertVisible: false, + closedIssueId: null, }; }, computed: { @@ -184,7 +196,14 @@ export default { onResolveStatusUpdate() { const status = this.errorStatus === errorStatus.RESOLVED ? errorStatus.UNRESOLVED : errorStatus.RESOLVED; - this.updateResolveStatus({ endpoint: this.issueUpdatePath, status }); + + // eslint-disable-next-line promise/catch-or-return + this.updateResolveStatus({ endpoint: this.issueUpdatePath, status }).then(res => { + this.closedIssueId = res.closed_issue_iid; + if (this.closedIssueId) { + this.isAlertVisible = true; + } + }); }, formatDate(date) { return `${this.timeFormatted(date)} (${dateFormat(date, 'UTC:yyyy-mm-dd h:MM:ssTT Z')})`; @@ -199,6 +218,18 @@ export default {
+ + + + + +
diff --git a/app/assets/javascripts/error_tracking/store/actions.js b/app/assets/javascripts/error_tracking/store/actions.js index 49fa5f3cec5..8f6f404ef8a 100644 --- a/app/assets/javascripts/error_tracking/store/actions.js +++ b/app/assets/javascripts/error_tracking/store/actions.js @@ -11,9 +11,11 @@ export const setStatus = ({ commit }, status) => { export const updateStatus = ({ commit }, { endpoint, redirectUrl, status }) => service .updateErrorStatus(endpoint, status) - .then(() => { - if (redirectUrl) visitUrl(redirectUrl); + .then(resp => { commit(types.SET_ERROR_STATUS, status); + if (redirectUrl) visitUrl(redirectUrl); + + return resp.data.result; }) .catch(() => createFlash(__('Failed to update issue status'))); diff --git a/app/assets/javascripts/releases/list/components/release_block_author.vue b/app/assets/javascripts/releases/list/components/release_block_author.vue index ff6b00d8221..e7075d4d67a 100644 --- a/app/assets/javascripts/releases/list/components/release_block_author.vue +++ b/app/assets/javascripts/releases/list/components/release_block_author.vue @@ -27,7 +27,7 @@ export default {