From 48419e9a6f1396e5bfbef3b90b34d5dc37d3d7cc Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 19 Dec 2024 00:31:47 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .rubocop_todo/performance/flat_map.yml | 1 + GITLAB_KAS_VERSION | 2 +- Gemfile.checksum | 2 +- Gemfile.lock | 2 +- Gemfile.next.checksum | 2 +- Gemfile.next.lock | 2 +- .../javascripts/blob_edit/blob_bundle.js | 9 +- .../javascripts/blob_edit/blob_edit_header.js | 42 ++ app/assets/javascripts/blob_edit/edit_blob.js | 4 + .../pipeline_mini_graph/job_action_button.vue | 2 +- .../ci/pipeline_mini_graph/pipeline_stage.vue | 9 +- .../javascripts/invite_members/constants.js | 6 +- .../components/model_experiments_header.vue | 10 +- .../notes/components/comment_form.vue | 43 +- .../components/toggle_replies_widget.vue | 2 +- app/assets/javascripts/notes/i18n.js | 2 + .../components/commit_changes_modal.vue | 50 +- .../repository/pages/blob_edit_header.vue | 128 ++++ app/helpers/blob_helper.rb | 15 + .../concerns/web_hooks/auto_disabling.rb | 12 +- .../chat_message/pipeline_message.rb | 2 +- app/views/projects/blob/edit.html.haml | 19 +- config/initializers/01_secret_token.rb | 23 +- .../initializers/active_record_encryption.rb | 14 + .../delete_orphaned_project_namespaces.yml | 8 + ...ets_to_incidents_for_parity_with_issues.rb | 37 ++ ...ueue_delete_orphaned_project_namespaces.rb | 29 + db/schema_migrations/20241125145919 | 1 + db/schema_migrations/20241218091609 | 1 + .../dedicated/configure_instance.md | 578 +----------------- .../dedicated/configure_instance/index.md | 113 ++++ .../configure_instance/network_security.md | 281 +++++++++ .../dedicated/configure_instance/saml.md | 132 ++++ .../configure_instance/users_notifications.md | 50 ++ .../dedicated/create_instance.md | 8 +- .../dedicated/hosted_runners.md | 2 +- doc/administration/dedicated/index.md | 6 +- doc/administration/dedicated/monitor.md | 36 ++ doc/development/application_secrets.md | 80 ++- doc/subscriptions/gitlab_dedicated/index.md | 18 +- .../gitlab_dedicated_for_government/index.md | 4 +- .../vulnerability_management_policy.md | 10 +- .../vulnerabilities/index.md | 16 +- .../vulnerability_report/index.md | 9 - doc/user/group/saml_sso/troubleshooting.md | 2 +- doc/user/profile/comment_templates.md | 8 +- .../members/sharing_projects_groups.md | 31 +- .../delete_orphaned_project_namespaces.rb | 35 ++ .../migration_helpers/work_items/widgets.rb | 16 +- .../work_items/base_type_importer.rb | 4 + locale/gitlab.pot | 9 +- package.json | 2 +- qa/qa/page/component/note.rb | 14 + qa/qa/page/file/shared/editor.rb | 26 + qa/qa/page/file/show.rb | 5 +- .../file/delete_file_via_web_spec.rb | 3 +- .../repository/file/edit_file_via_web_spec.rb | 3 +- .../source_editor_toolbar_spec.rb | 3 +- .../user/user_inherited_access_spec.rb | 5 +- qa/qa/tools/ci/non_empty_suites.rb | 87 +++ qa/qa/tools/ci/runnable_specs.rb | 94 --- qa/spec/tools/ci/non_empty_suites_spec.rb | 19 + qa/spec/tools/ci/runnables_specs_spec.rb | 67 -- qa/tasks/ci.rake | 2 +- scripts/rspec_helpers.sh | 88 ++- .../merge_request/batch_comments_spec.rb | 2 +- .../maintainer_edits_fork_spec.rb | 7 + spec/features/projects/blobs/edit_spec.rb | 26 +- .../projects/files/editing_a_file_spec.rb | 14 +- .../projects/files/user_edits_files_spec.rb | 80 ++- .../files/user_replaces_files_spec.rb | 2 +- spec/frontend/blob_edit/blob_bundle_spec.js | 5 +- spec/frontend/blob_edit/edit_blob_spec.js | 9 +- .../pipeline_stage_spec.js | 57 +- .../components/invite_modal_base_spec.js | 2 +- .../model_experiments_header_spec.js | 8 - .../notes/components/comment_form_spec.js | 26 +- .../components/commit_changes_modal_spec.js | 130 ++-- .../repository/pages/blob_edit_header_spec.js | 142 +++++ spec/helpers/blob_helper_spec.rb | 86 ++- spec/initializers/secret_token_spec.rb | 34 +- ...delete_orphaned_project_namespaces_spec.rb | 72 +++ .../work_items/widgets_spec.rb | 10 +- .../identity/passthrough_spec.rb | 2 +- .../identity/restore_spec.rb | 6 +- ...delete_orphaned_project_namespaces_spec.rb | 44 ++ ...o_incidents_for_parity_with_issues_spec.rb | 8 + spec/models/application_record_spec.rb | 2 +- spec/models/hooks/web_hook_spec.rb | 156 +++-- .../chat_message/pipeline_message_spec.rb | 2 +- .../mutations/work_items/convert_spec.rb | 1 - spec/requests/api/merge_requests_spec.rb | 6 +- .../web_hooks/log_execution_service_spec.rb | 7 +- .../add_work_item_widget_shared_examples.rb | 10 +- yarn.lock | 13 +- 95 files changed, 2198 insertions(+), 1116 deletions(-) create mode 100644 app/assets/javascripts/blob_edit/blob_edit_header.js create mode 100644 app/assets/javascripts/repository/pages/blob_edit_header.vue create mode 100644 config/initializers/active_record_encryption.rb create mode 100644 db/docs/batched_background_migrations/delete_orphaned_project_namespaces.yml create mode 100644 db/migrate/20241218091609_add_widgets_to_incidents_for_parity_with_issues.rb create mode 100644 db/post_migrate/20241125145919_queue_delete_orphaned_project_namespaces.rb create mode 100644 db/schema_migrations/20241125145919 create mode 100644 db/schema_migrations/20241218091609 create mode 100644 doc/administration/dedicated/configure_instance/index.md create mode 100644 doc/administration/dedicated/configure_instance/network_security.md create mode 100644 doc/administration/dedicated/configure_instance/saml.md create mode 100644 doc/administration/dedicated/configure_instance/users_notifications.md create mode 100644 doc/administration/dedicated/monitor.md create mode 100644 lib/gitlab/background_migration/delete_orphaned_project_namespaces.rb create mode 100644 qa/qa/tools/ci/non_empty_suites.rb delete mode 100644 qa/qa/tools/ci/runnable_specs.rb create mode 100644 qa/spec/tools/ci/non_empty_suites_spec.rb delete mode 100644 qa/spec/tools/ci/runnables_specs_spec.rb create mode 100644 spec/frontend/repository/pages/blob_edit_header_spec.js create mode 100644 spec/lib/gitlab/background_migration/delete_orphaned_project_namespaces_spec.rb create mode 100644 spec/migrations/20241125145919_queue_delete_orphaned_project_namespaces_spec.rb create mode 100644 spec/migrations/20241211091609_add_widgets_to_incidents_for_parity_with_issues_spec.rb diff --git a/.rubocop_todo/performance/flat_map.yml b/.rubocop_todo/performance/flat_map.yml index 8c4f00ffbc7..c3df4d38e8c 100644 --- a/.rubocop_todo/performance/flat_map.yml +++ b/.rubocop_todo/performance/flat_map.yml @@ -14,3 +14,4 @@ Performance/FlatMap: - 'lib/gitlab/diff/file_collection/base.rb' - 'lib/gitlab/instrumentation/redis_cluster_validator.rb' - 'lib/gitlab/testing/request_inspector_middleware.rb' + - 'qa/qa/tools/ci/non_empty_suites.rb' diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index c24639752e2..1afdaca08a7 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -781102090c60f0693fd827e01e78895294f8f1eb +b7f4b9ff2339e859904e03269288487b390e3795 diff --git a/Gemfile.checksum b/Gemfile.checksum index c9da6140093..10c8cae6109 100644 --- a/Gemfile.checksum +++ b/Gemfile.checksum @@ -785,6 +785,6 @@ {"name":"xml-simple","version":"1.1.9","platform":"ruby","checksum":"d21131e519c86f1a5bc2b6d2d57d46e6998e47f18ed249b25cad86433dbd695d"}, {"name":"xpath","version":"3.2.0","platform":"ruby","checksum":"6dfda79d91bb3b949b947ecc5919f042ef2f399b904013eb3ef6d20dd3a4082e"}, {"name":"yajl-ruby","version":"1.4.3","platform":"ruby","checksum":"8c974d9c11ae07b0a3b6d26efea8407269b02e4138118fbe3ef0d2ec9724d1d2"}, -{"name":"yard","version":"0.9.26","platform":"ruby","checksum":"30594aa05cf737aa725c73444c7be3d54a443d0e258e1503da4eb1a0822cf963"}, +{"name":"yard","version":"0.9.37","platform":"ruby","checksum":"a6e910399e78e613f80ba9add9ba7c394b1a935f083cccbef82903a3d2a26992"}, {"name":"zeitwerk","version":"2.6.7","platform":"ruby","checksum":"61767a6158480df290d0d2a3fd860d8ba3a28ba113837668ee94b657716a1409"} ] diff --git a/Gemfile.lock b/Gemfile.lock index 663f28b947f..478ebde042c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1967,7 +1967,7 @@ GEM xpath (3.2.0) nokogiri (~> 1.8) yajl-ruby (1.4.3) - yard (0.9.26) + yard (0.9.37) zeitwerk (2.6.7) PLATFORMS diff --git a/Gemfile.next.checksum b/Gemfile.next.checksum index 3cecf1ebd03..7cc38ac0531 100644 --- a/Gemfile.next.checksum +++ b/Gemfile.next.checksum @@ -797,6 +797,6 @@ {"name":"xml-simple","version":"1.1.9","platform":"ruby","checksum":"d21131e519c86f1a5bc2b6d2d57d46e6998e47f18ed249b25cad86433dbd695d"}, {"name":"xpath","version":"3.2.0","platform":"ruby","checksum":"6dfda79d91bb3b949b947ecc5919f042ef2f399b904013eb3ef6d20dd3a4082e"}, {"name":"yajl-ruby","version":"1.4.3","platform":"ruby","checksum":"8c974d9c11ae07b0a3b6d26efea8407269b02e4138118fbe3ef0d2ec9724d1d2"}, -{"name":"yard","version":"0.9.26","platform":"ruby","checksum":"30594aa05cf737aa725c73444c7be3d54a443d0e258e1503da4eb1a0822cf963"}, +{"name":"yard","version":"0.9.37","platform":"ruby","checksum":"a6e910399e78e613f80ba9add9ba7c394b1a935f083cccbef82903a3d2a26992"}, {"name":"zeitwerk","version":"2.6.7","platform":"ruby","checksum":"61767a6158480df290d0d2a3fd860d8ba3a28ba113837668ee94b657716a1409"} ] diff --git a/Gemfile.next.lock b/Gemfile.next.lock index 7b4959768cc..ab006674f6f 100644 --- a/Gemfile.next.lock +++ b/Gemfile.next.lock @@ -1995,7 +1995,7 @@ GEM xpath (3.2.0) nokogiri (~> 1.8) yajl-ruby (1.4.3) - yard (0.9.26) + yard (0.9.37) zeitwerk (2.6.7) PLATFORMS diff --git a/app/assets/javascripts/blob_edit/blob_bundle.js b/app/assets/javascripts/blob_edit/blob_bundle.js index 730ea9fe801..7e097041beb 100644 --- a/app/assets/javascripts/blob_edit/blob_bundle.js +++ b/app/assets/javascripts/blob_edit/blob_bundle.js @@ -1,6 +1,6 @@ import $ from 'jquery'; import { createAlert } from '~/alert'; -import NewCommitForm from '../new_commit_form'; +import initBlobEditHeader from '~/blob_edit/blob_edit_header'; export default () => { const editBlobForm = $('.js-edit-blob-form'); @@ -20,8 +20,7 @@ export default () => { import('./edit_blob') .then(({ default: EditBlob } = {}) => { - // eslint-disable-next-line no-new - new EditBlob({ + const editor = new EditBlob({ assetsPath: `${urlRoot}${assetsPath}`, filePath, currentAction, @@ -30,6 +29,8 @@ export default () => { isMarkdown, previewMarkdownPath, }); + + initBlobEditHeader(editor); }) .catch((e) => createAlert({ @@ -47,8 +48,6 @@ export default () => { window.onbeforeunload = null; }); - new NewCommitForm(editBlobForm); // eslint-disable-line no-new - // returning here blocks page navigation window.onbeforeunload = () => ''; } diff --git a/app/assets/javascripts/blob_edit/blob_edit_header.js b/app/assets/javascripts/blob_edit/blob_edit_header.js new file mode 100644 index 00000000000..83db372ac3f --- /dev/null +++ b/app/assets/javascripts/blob_edit/blob_edit_header.js @@ -0,0 +1,42 @@ +import Vue from 'vue'; +import { parseBoolean } from '~/lib/utils/common_utils'; +import BlobEditHeader from '~/repository/pages/blob_edit_header.vue'; + +export default function initBlobEditHeader(editor) { + const el = document.querySelector('.js-blob-edit-header'); + + if (!el) { + return null; + } + + const { + updatePath, + cancelPath, + originalBranch, + targetBranch, + canPushCode, + canPushToBranch, + emptyRepo, + blobName, + branchAllowsCollaboration, + lastCommitSha, + } = el.dataset; + + return new Vue({ + el, + provide: { + editor, + updatePath, + cancelPath, + originalBranch, + targetBranch, + blobName, + lastCommitSha, + emptyRepo: parseBoolean(emptyRepo), + canPushCode: parseBoolean(canPushCode), + canPushToBranch: parseBoolean(canPushToBranch), + branchAllowsCollaboration: parseBoolean(branchAllowsCollaboration), + }, + render: (createElement) => createElement(BlobEditHeader), + }); +} diff --git a/app/assets/javascripts/blob_edit/edit_blob.js b/app/assets/javascripts/blob_edit/edit_blob.js index 123e59bdff0..0a35ba64c07 100644 --- a/app/assets/javascripts/blob_edit/edit_blob.js +++ b/app/assets/javascripts/blob_edit/edit_blob.js @@ -216,4 +216,8 @@ export default class EditBlob { this.$toggleButton.toggleClass('soft-wrap-active', this.isSoftWrapped); this.editor.updateOptions({ wordWrap: this.isSoftWrapped ? 'on' : 'off' }); } + + getFileContent() { + return this.editor?.getValue(); + } } diff --git a/app/assets/javascripts/ci/pipeline_mini_graph/job_action_button.vue b/app/assets/javascripts/ci/pipeline_mini_graph/job_action_button.vue index 9667615c50f..34d2970243b 100644 --- a/app/assets/javascripts/ci/pipeline_mini_graph/job_action_button.vue +++ b/app/assets/javascripts/ci/pipeline_mini_graph/job_action_button.vue @@ -118,7 +118,7 @@ export default {