From 48d25238c386a89e8a6af218eeb290936a8f7595 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 9 Jun 2022 12:08:25 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../behaviors/markdown/render_gfm.js | 8 +- .../blob/components/blob_header.vue | 6 + .../blob_header_default_actions.vue | 17 + .../components/blob_content_viewer.vue | 5 + app/assets/stylesheets/pages/issuable.scss | 26 +- app/assets/stylesheets/utilities.scss | 12 + app/models/project.rb | 1 + .../merge_requests/_mr_title.html.haml | 2 +- .../issue_type/_details_content.html.haml | 2 +- .../development/sandboxed_mermaid.yml | 8 - .../ci_data_decay/pipeline_partitioning.md | 45 ++- doc/ci/variables/index.md | 3 + doc/ci/variables/predefined_variables.md | 1 + doc/development/fe_guide/style/javascript.md | 26 +- doc/development/pipelines.md | 12 +- lib/gitlab/gon_helper.rb | 1 - .../issues/user_comments_on_issue_spec.rb | 12 - spec/features/markdown/mermaid_spec.rb | 361 ------------------ .../behaviors/markdown/render_mermaid_spec.js | 25 -- .../blob_header_default_actions_spec.js | 8 + .../components/blob_content_viewer_spec.js | 8 + spec/lib/gitlab/ci/variables/builder_spec.rb | 2 + spec/models/ci/build_spec.rb | 1 + .../cmd/gitlab-resize-image/png/reader.go | 3 +- .../gitlab-resize-image/png/reader_test.go | 5 +- workhorse/config_test.go | 5 +- workhorse/gitaly_test.go | 3 +- workhorse/internal/api/block_test.go | 4 +- workhorse/internal/artifacts/entry_test.go | 6 +- workhorse/internal/badgateway/roundtripper.go | 4 +- .../internal/badgateway/roundtripper_test.go | 4 +- workhorse/internal/git/archive.go | 3 +- workhorse/internal/git/archive_test.go | 4 +- workhorse/internal/git/upload-pack_test.go | 3 +- workhorse/internal/helper/helpers.go | 6 +- workhorse/internal/helper/tempfile.go | 3 +- workhorse/internal/helper/writeafterreader.go | 3 +- .../internal/helper/writeafterreader_test.go | 7 +- workhorse/internal/httprs/httprs.go | 3 +- workhorse/internal/httprs/httprs_test.go | 7 +- .../imageresizer/image_resizer_test.go | 10 +- .../internal/lsif_transformer/parser/cache.go | 3 +- .../lsif_transformer/parser/cache_test.go | 4 +- .../lsif_transformer/parser/hovers.go | 3 +- .../lsif_transformer/parser/parser.go | 3 +- .../lsif_transformer/parser/parser_test.go | 5 +- .../parser/performance_test.go | 3 +- workhorse/internal/secret/secret.go | 4 +- .../contentprocessor/contentprocessor_test.go | 3 +- workhorse/internal/senddata/writer_test.go | 3 +- workhorse/internal/sendfile/sendfile.go | 3 +- workhorse/internal/sendfile/sendfile_test.go | 15 +- workhorse/internal/sendurl/sendurl_test.go | 3 +- workhorse/internal/staticpages/deploy_page.go | 4 +- .../internal/staticpages/deploy_page_test.go | 4 +- workhorse/internal/staticpages/error_pages.go | 4 +- .../internal/staticpages/error_pages_test.go | 10 +- .../internal/staticpages/servefile_test.go | 8 +- workhorse/internal/testhelper/gitaly.go | 6 +- workhorse/internal/testhelper/testhelper.go | 7 +- .../internal/upload/artifacts_store_test.go | 7 +- .../internal/upload/artifacts_upload_test.go | 7 +- .../internal/upload/artifacts_uploader.go | 28 +- workhorse/internal/upload/body_uploader.go | 4 +- .../internal/upload/body_uploader_test.go | 5 +- .../upload/destination/destination.go | 3 +- .../destination/filestore/filestore_test.go | 5 +- .../destination/objectstore/multipart.go | 5 +- .../destination/objectstore/multipart_test.go | 4 +- .../upload/destination/objectstore/object.go | 3 +- .../objectstore/test/objectstore_stub.go | 3 +- .../destination/objectstore/test/s3_stub.go | 5 +- .../upload/destination/reader_test.go | 4 +- workhorse/internal/upload/exif/exif_test.go | 7 +- workhorse/internal/upload/rewrite.go | 7 +- workhorse/internal/upload/uploads.go | 4 +- workhorse/internal/upload/uploads_test.go | 15 +- workhorse/internal/upstream/handlers_test.go | 6 +- .../roundtripper/roundtripper_test.go | 4 +- workhorse/internal/upstream/upstream_test.go | 3 +- workhorse/internal/utils/svg/README.md | 4 +- .../internal/zipartifacts/metadata_test.go | 7 +- workhorse/logging.go | 5 +- workhorse/main.go | 3 +- workhorse/main_test.go | 11 +- workhorse/proxy_test.go | 4 +- workhorse/sendfile_test.go | 8 +- workhorse/upload_test.go | 11 +- 88 files changed, 306 insertions(+), 646 deletions(-) delete mode 100644 config/feature_flags/development/sandboxed_mermaid.yml delete mode 100644 spec/features/markdown/mermaid_spec.rb delete mode 100644 spec/frontend/behaviors/markdown/render_mermaid_spec.js diff --git a/app/assets/javascripts/behaviors/markdown/render_gfm.js b/app/assets/javascripts/behaviors/markdown/render_gfm.js index 60c3f3caf66..c9ae3706383 100644 --- a/app/assets/javascripts/behaviors/markdown/render_gfm.js +++ b/app/assets/javascripts/behaviors/markdown/render_gfm.js @@ -3,7 +3,6 @@ import syntaxHighlight from '~/syntax_highlight'; import highlightCurrentUser from './highlight_current_user'; import { renderKroki } from './render_kroki'; import renderMath from './render_math'; -import renderMermaid from './render_mermaid'; import renderSandboxedMermaid from './render_sandboxed_mermaid'; import renderMetrics from './render_metrics'; @@ -15,11 +14,8 @@ $.fn.renderGFM = function renderGFM() { syntaxHighlight(this.find('.js-syntax-highlight').get()); renderKroki(this.find('.js-render-kroki[hidden]').get()); renderMath(this.find('.js-render-math')); - if (gon.features?.sandboxedMermaid) { - renderSandboxedMermaid(this.find('.js-render-mermaid')); - } else { - renderMermaid(this.find('.js-render-mermaid')); - } + renderSandboxedMermaid(this.find('.js-render-mermaid')); + highlightCurrentUser(this.find('.gfm-project_member').get()); const issuablePopoverElements = this.find('.gfm-issue, .gfm-merge_request').get(); diff --git a/app/assets/javascripts/blob/components/blob_header.vue b/app/assets/javascripts/blob/components/blob_header.vue index f78d921fa90..716321430d2 100644 --- a/app/assets/javascripts/blob/components/blob_header.vue +++ b/app/assets/javascripts/blob/components/blob_header.vue @@ -47,6 +47,11 @@ export default { required: false, default: true, }, + overrideCopy: { + type: Boolean, + required: false, + default: false, + }, }, data() { return { @@ -106,6 +111,7 @@ export default { :environment-name="blob.environmentFormattedExternalUrl" :environment-path="blob.environmentExternalUrlForRouteMap" :is-empty="isEmpty" + :override-copy="overrideCopy" @copy="proxyCopyRequest" /> diff --git a/app/assets/javascripts/blob/components/blob_header_default_actions.vue b/app/assets/javascripts/blob/components/blob_header_default_actions.vue index 61baf4fa495..12a198f78ea 100644 --- a/app/assets/javascripts/blob/components/blob_header_default_actions.vue +++ b/app/assets/javascripts/blob/components/blob_header_default_actions.vue @@ -54,6 +54,11 @@ export default { required: false, default: false, }, + overrideCopy: { + type: Boolean, + required: false, + default: false, + }, }, computed: { downloadUrl() { @@ -63,6 +68,10 @@ export default { return this.activeViewer === RICH_BLOB_VIEWER; }, getBlobHashTarget() { + if (this.overrideCopy) { + return null; + } + return `[data-blob-hash="${this.blobHash}"]`; }, showCopyButton() { @@ -74,6 +83,13 @@ export default { }); }, }, + methods: { + onCopy() { + if (this.overrideCopy) { + this.$emit('copy'); + } + }, + }, BTN_COPY_CONTENTS_TITLE, BTN_DOWNLOAD_TITLE, BTN_RAW_TITLE, @@ -94,6 +110,7 @@ export default { category="primary" variant="default" class="js-copy-blob-source-btn" + @click="onCopy" /> @@ -242,7 +245,9 @@ export default { :active-viewer-type="viewer.type" :has-render-error="hasRenderError" :show-path="false" + :override-copy="glFeatures.highlightJs" @viewer-changed="switchViewer" + @copy="onCopy" >