From 454973238cb3eed58f7d901b87ceb29acf6febbd Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 6 May 2021 21:10:07 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .../repository/components/blob_content_viewer.vue | 36 +++- .../repository/queries/blob_info.query.graphql | 3 + app/controllers/projects/blob_controller.rb | 4 + .../projects/merge_requests_controller.rb | 1 + app/graphql/mutations/ci/job/base.rb | 22 +++ app/graphql/mutations/ci/job/play.rb | 29 +++ app/graphql/mutations/ci/job/retry.rb | 29 +++ app/graphql/types/mutation_type.rb | 2 + app/graphql/types/packages/package_status_enum.rb | 13 ++ app/graphql/types/packages/package_type.rb | 1 + app/models/concerns/triggerable_hooks.rb | 4 +- app/models/hooks/project_hook.rb | 4 + app/models/hooks/service_hook.rb | 4 +- app/models/hooks/web_hook.rb | 43 ++++- app/models/member.rb | 5 +- app/models/namespaces/traversal/linear.rb | 6 + app/services/git/branch_hooks_service.rb | 1 - app/services/system_hooks_service.rb | 2 +- app/services/web_hook_service.rb | 27 +++ app/views/clusters/clusters/show.html.haml | 6 +- app/views/projects/feature_flags/edit.html.haml | 2 +- app/views/projects/feature_flags/new.html.haml | 2 +- .../projects/registry/repositories/index.html.haml | 2 +- app/views/shared/access_tokens/_table.html.haml | 2 +- .../285467-package-registry-graphql-api-4.yml | 5 + .../unreleased/324747-linear_descendants.yml | 5 + .../unreleased/ajk-disable-broken-webhooks.yml | 5 + .../jivanvl-add-ci-job-mutations-graphql.yml | 5 + .../unreleased/mmj-correct-invitation-spec.yml | 5 + .../unreleased/update-docs-links-clusters.yml | 5 + .../show_relevant_approval_rule_approvers.yml | 8 + .../development/web_hooks_disable_failed.yml | 8 + ...0429181325_add_failure_tracking_to_web_hooks.rb | 11 ++ ...index_on_web_hook_project_id_recent_failures.rb | 17 ++ db/schema_migrations/20210429181325 | 1 + db/schema_migrations/20210504085144 | 1 + db/structure.sql | 7 +- doc/administration/external_pipeline_validation.md | 4 +- doc/api/graphql/reference/index.md | 55 ++++++ doc/development/import_project.md | 2 +- doc/user/profile/personal_access_tokens.md | 178 ++++++++++-------- package.json | 2 +- .../schemas/graphql/packages/package_details.json | 7 +- .../edit/components/active_checkbox_spec.js | 16 +- .../components/blob_content_viewer_spec.js | 102 ++++++++--- spec/frontend/repository/pages/blob_spec.js | 4 +- .../types/packages/package_status_enum_spec.rb | 9 + spec/graphql/types/packages/package_type_spec.rb | 1 + spec/models/group_spec.rb | 8 + spec/models/hooks/web_hook_spec.rb | 198 ++++++++++++++++++++- spec/models/member_spec.rb | 16 +- .../api/graphql/mutations/ci/job_play_spec.rb | 46 +++++ .../api/graphql/mutations/ci/job_retry_spec.rb | 46 +++++ spec/services/git/branch_hooks_service_spec.rb | 28 +-- spec/services/web_hook_service_spec.rb | 110 +++++++++++- yarn.lock | 8 +- 56 files changed, 993 insertions(+), 180 deletions(-) create mode 100644 app/graphql/mutations/ci/job/base.rb create mode 100644 app/graphql/mutations/ci/job/play.rb create mode 100644 app/graphql/mutations/ci/job/retry.rb create mode 100644 app/graphql/types/packages/package_status_enum.rb create mode 100644 changelogs/unreleased/285467-package-registry-graphql-api-4.yml create mode 100644 changelogs/unreleased/324747-linear_descendants.yml create mode 100644 changelogs/unreleased/ajk-disable-broken-webhooks.yml create mode 100644 changelogs/unreleased/jivanvl-add-ci-job-mutations-graphql.yml create mode 100644 changelogs/unreleased/mmj-correct-invitation-spec.yml create mode 100644 changelogs/unreleased/update-docs-links-clusters.yml create mode 100644 config/feature_flags/development/show_relevant_approval_rule_approvers.yml create mode 100644 config/feature_flags/development/web_hooks_disable_failed.yml create mode 100644 db/migrate/20210429181325_add_failure_tracking_to_web_hooks.rb create mode 100644 db/migrate/20210504085144_add_index_on_web_hook_project_id_recent_failures.rb create mode 100644 db/schema_migrations/20210429181325 create mode 100644 db/schema_migrations/20210504085144 create mode 100644 spec/graphql/types/packages/package_status_enum_spec.rb create mode 100644 spec/requests/api/graphql/mutations/ci/job_play_spec.rb create mode 100644 spec/requests/api/graphql/mutations/ci/job_retry_spec.rb diff --git a/app/assets/javascripts/repository/components/blob_content_viewer.vue b/app/assets/javascripts/repository/components/blob_content_viewer.vue index cef5ae41106..0ab032b25d3 100644 --- a/app/assets/javascripts/repository/components/blob_content_viewer.vue +++ b/app/assets/javascripts/repository/components/blob_content_viewer.vue @@ -3,6 +3,7 @@ import { GlLoadingIcon } from '@gitlab/ui'; import { uniqueId } from 'lodash'; import BlobContent from '~/blob/components/blob_content.vue'; import BlobHeader from '~/blob/components/blob_header.vue'; +import { SIMPLE_BLOB_VIEWER, RICH_BLOB_VIEWER } from '~/blob/components/constants'; import createFlash from '~/flash'; import { __ } from '~/locale'; import blobInfoQuery from '../queries/blob_info.query.graphql'; @@ -22,6 +23,11 @@ export default { filePath: this.path, }; }, + result() { + this.switchViewer( + this.hasRichViewer && !window.location.hash ? RICH_BLOB_VIEWER : SIMPLE_BLOB_VIEWER, + ); + }, error() { createFlash({ message: __('An error occurred while loading the file. Please try again.') }); }, @@ -44,6 +50,7 @@ export default { }, data() { return { + activeViewerType: SIMPLE_BLOB_VIEWER, project: { repository: { blobs: { @@ -69,7 +76,7 @@ export default { canModifyBlob: true, forkPath: '', simpleViewer: {}, - richViewer: {}, + richViewer: null, }, ], }, @@ -87,10 +94,19 @@ export default { return nodes[0] || {}; }, viewer() { - const viewer = this.blobInfo.richViewer || this.blobInfo.simpleViewer; - const { fileType, tooLarge, type } = viewer; - - return { fileType, tooLarge, type }; + const { richViewer, simpleViewer } = this.blobInfo; + return this.activeViewerType === RICH_BLOB_VIEWER ? richViewer : simpleViewer; + }, + hasRichViewer() { + return Boolean(this.blobInfo.richViewer); + }, + hasRenderError() { + return Boolean(this.viewer.renderError); + }, + }, + methods: { + switchViewer(newViewer) { + this.activeViewerType = newViewer || SIMPLE_BLOB_VIEWER; }, }, }; @@ -99,8 +115,14 @@ export default {