From 72c331ebf56ba3d49a79ec799de84e790748adef Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 9 Mar 2021 18:09:41 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .rubocop_manual_todo.yml | 1 - GITALY_SERVER_VERSION | 2 +- .../components/fluentd_output_settings.vue | 20 +- .../ingress_modsecurity_settings.vue | 12 +- .../notes/components/note_actions.vue | 23 +- .../projects/forks/new/components/app.vue | 72 ++++++ .../forks/new/components/fork_form.vue | 16 +- .../pages/projects/forks/new/index.js | 10 +- .../releases/components/app_edit_new.vue | 11 +- .../releases/components/tag_field_new.vue | 70 ++++- .../components/configuration_table.vue | 18 +- .../components/manage_sast.vue | 8 +- ...res_constants.js => scanners_constants.js} | 61 +++-- .../components/upgrade.vue | 2 +- .../components/states/work_in_progress.vue | 5 +- .../queries/toggle_wip.mutation.graphql | 1 + .../diff_viewer/viewers/renamed.vue | 8 +- .../vue_shared/security_reports/constants.js | 2 +- app/controllers/projects_controller.rb | 2 +- app/helpers/diff_helper.rb | 2 +- app/models/group.rb | 2 +- app/models/label.rb | 4 + app/models/merge_request.rb | 9 +- app/models/user.rb | 4 + app/policies/base_policy.rb | 11 +- app/services/boards/base_item_move_service.rb | 72 ++++++ app/services/boards/issues/move_service.rb | 75 +----- .../merge_requests/after_create_service.rb | 7 + app/views/projects/forks/new.html.haml | 45 ++-- .../shared/deploy_tokens/_index.html.haml | 2 +- ...tings-headers-repository-deploy-tokens.yml | 5 + ...security-configuration-ui-strings-ssot.yml | 5 + ...disable-gc-compacting-via-monkey-patch.yml | 5 + ...tsov-fix-project-export-web-rate-limit.yml | 5 + changelogs/unreleased/gl-button-reaction.yml | 5 + ...se-creation-on-existing-tag-through-ui.yml | 5 + ...actor-use-policies-framework-for-admin.yml | 5 + .../unreleased/selected-state-commit-view.yml | 5 + .../sh-log-large-multipart-files-com.yml | 5 + config/initializers/rack_multipart_patch.rb | 40 +++ .../003_gc_compact.rb | 21 ++ .../replication/version_specific_updates.md | 5 +- .../gitaly/img/gitaly_network_13_9.png | Bin 33155 -> 9791 bytes doc/administration/object_storage.md | 4 +- .../gitlab_rails_cheat_sheet.md | 61 +++++ doc/api/dora4_group_analytics.md | 6 +- doc/api/dora4_project_analytics.md | 2 +- doc/api/feature_flags.md | 2 +- doc/api/graphql/reference/index.md | 33 +++ doc/api/projects.md | 16 ++ .../ecs/img/ecs-launch-status.png | Bin 35530 -> 13587 bytes .../ecs/img/ecs-task-definitions.png | Bin 27730 -> 10367 bytes .../ecs/img/service-parameter.png | Bin 20121 -> 8170 bytes .../cloud_deployment/ecs/quick_start_guide.md | 4 +- doc/ci/cloud_deployment/index.md | 2 +- doc/ci/environments/img/deployments_list.png | Bin 59572 -> 18119 bytes .../img/environment_auto_stop_v13_10.png | Bin 0 -> 53602 bytes .../environments_dynamic_groups_v13_10.png | Bin 0 -> 57387 bytes doc/ci/environments/img/environments_list.png | Bin 59854 -> 17379 bytes ...nments_terminal_button_on_index_v13_10.png | Bin 0 -> 42113 bytes ...onments_terminal_button_on_show_v13_10.png | Bin 0 -> 53590 bytes doc/ci/environments/index.md | 221 ++++++---------- .../end_to_end_testing_webdriverio/index.md | 23 +- doc/ci/img/deployments_view.png | Bin 40326 -> 12385 bytes doc/ci/img/environment_auto_stop_v12_8.png | Bin 16587 -> 0 bytes doc/ci/img/environments_available_13_10.png | Bin 44017 -> 13245 bytes doc/ci/img/environments_dynamic_groups.png | Bin 21902 -> 0 bytes .../environments_terminal_button_on_index.png | Bin 11080 -> 0 bytes .../environments_terminal_button_on_show.png | Bin 7642 -> 0 bytes doc/ci/review_apps/index.md | 4 - doc/development/auto_devops.md | 2 +- .../database/client_side_connection_pool.md | 2 +- .../documentation/feature_flags.md | 4 + doc/development/experiment_guide/index.md | 58 +++-- doc/development/fe_guide/accessibility.md | 4 +- doc/development/go_guide/index.md | 2 +- doc/development/i18n/translation.md | 12 +- ...unning_tests_that_require_special_setup.md | 2 +- .../testing_guide/frontend_testing.md | 2 +- doc/development/testing_guide/review_apps.md | 2 +- doc/install/azure/index.md | 4 +- doc/install/openshift_and_gitlab/index.md | 2 +- doc/operations/feature_flags.md | 6 +- doc/security/README.md | 1 + doc/security/token_overview.md | 108 ++++++++ doc/topics/autodevops/index.md | 2 +- doc/topics/autodevops/stages.md | 2 +- doc/topics/autodevops/upgrading_postgresql.md | 2 +- .../dependency_scanning/index.md | 2 +- doc/user/clusters/agent/index.md | 10 +- doc/user/clusters/applications.md | 7 +- .../compliance/license_compliance/index.md | 2 +- .../img/group_activity_analytics_v13_10.png | Bin 42111 -> 12597 bytes .../group/img/select_group_dropdown_13_10.png | Bin 37009 -> 11986 bytes doc/user/group/saml_sso/index.md | 2 +- .../account/two_factor_authentication.md | 2 +- .../img/busy_indicator_note_header_v13_9.png | Bin 69887 -> 24006 bytes .../img/busy_indicator_notes_v13_9.png | Bin 102516 -> 41947 bytes .../img/busy_indicator_profile_page_v13_6.png | Bin 78509 -> 25119 bytes .../busy_indicator_settings_menu_v13_6.png | Bin 87157 -> 26843 bytes ...busy_indicator_sidebar_collapsed_v13_9.png | Bin 23305 -> 6190 bytes .../img/busy_indicator_sidebar_v13_9.png | Bin 59898 -> 21914 bytes .../busy_indicator_user_popovers_v13_6.png | Bin 105329 -> 32158 bytes .../quick_start_guide.md | 2 +- .../quick_start_guide.md | 2 +- doc/user/project/clusters/serverless/index.md | 6 +- doc/user/project/index.md | 4 +- doc/user/project/releases/index.md | 13 +- lib/api/helpers/projects_helpers.rb | 4 + lib/declarative_policy/policy_dsl.rb | 2 +- lib/gitlab/http_connection_adapter.rb | 31 ++- locale/gitlab.pot | 27 +- .../clusters/applications_controller_spec.rb | 3 +- .../groups/clusters_controller_spec.rb | 33 ++- spec/controllers/groups_controller_spec.rb | 28 +- spec/controllers/projects_controller_spec.rb | 8 + spec/features/groups_spec.rb | 22 +- .../issues/user_interacts_with_awards_spec.rb | 4 +- .../user_selects_branches_for_new_mr_spec.rb | 8 +- spec/features/projects/new_project_spec.rb | 46 +++- .../releases/user_creates_release_spec.rb | 2 +- .../security/group/internal_access_spec.rb | 35 ++- .../security/group/private_access_spec.rb | 42 ++- .../security/group/public_access_spec.rb | 35 ++- .../namespaces/projects_finder_spec.rb | 6 +- .../projects/forks/new/components/app_spec.js | 42 +++ .../forks/new/components/fork_form_spec.js | 6 +- .../releases/components/tag_field_new_spec.js | 117 ++++++--- .../configuration_table_spec.js | 18 +- .../security_configuration/upgrade_spec.js | 2 +- spec/helpers/namespaces_helper_spec.rb | 36 ++- .../initializers/rack_multipart_patch_spec.rb | 61 +++++ .../gitlab/http_connection_adapter_spec.rb | 239 ++++++++++++++---- .../import_export/project/tree_saver_spec.rb | 20 +- spec/models/group_spec.rb | 12 +- spec/models/member_spec.rb | 6 +- spec/models/merge_request_spec.rb | 9 + spec/models/user_spec.rb | 31 +++ spec/policies/base_policy_spec.rb | 6 +- spec/policies/group_policy_spec.rb | 38 ++- .../project_export_presenter_spec.rb | 20 +- spec/requests/api/project_attributes.yml | 2 - .../import_export/import_service_spec.rb | 28 +- .../after_create_service_spec.rb | 22 ++ ...urge_dependency_proxy_cache_worker_spec.rb | 22 +- 145 files changed, 1742 insertions(+), 666 deletions(-) create mode 100644 app/assets/javascripts/pages/projects/forks/new/components/app.vue rename app/assets/javascripts/security_configuration/components/{features_constants.js => scanners_constants.js} (66%) create mode 100644 app/services/boards/base_item_move_service.rb create mode 100644 changelogs/unreleased/205484-09-project-settings-headers-repository-deploy-tokens.yml create mode 100644 changelogs/unreleased/323376-security-configuration-ui-strings-ssot.yml create mode 100644 changelogs/unreleased/323555-disable-gc-compacting-via-monkey-patch.yml create mode 100644 changelogs/unreleased/georgekoltsov-fix-project-export-web-rate-limit.yml create mode 100644 changelogs/unreleased/gl-button-reaction.yml create mode 100644 changelogs/unreleased/nfriend-allow-release-creation-on-existing-tag-through-ui.yml create mode 100644 changelogs/unreleased/refactor-use-policies-framework-for-admin.yml create mode 100644 changelogs/unreleased/selected-state-commit-view.yml create mode 100644 changelogs/unreleased/sh-log-large-multipart-files-com.yml create mode 100644 config/initializers/rack_multipart_patch.rb create mode 100644 config/initializers_before_autoloader/003_gc_compact.rb create mode 100644 doc/ci/environments/img/environment_auto_stop_v13_10.png create mode 100644 doc/ci/environments/img/environments_dynamic_groups_v13_10.png create mode 100644 doc/ci/environments/img/environments_terminal_button_on_index_v13_10.png create mode 100644 doc/ci/environments/img/environments_terminal_button_on_show_v13_10.png delete mode 100644 doc/ci/img/environment_auto_stop_v12_8.png delete mode 100644 doc/ci/img/environments_dynamic_groups.png delete mode 100644 doc/ci/img/environments_terminal_button_on_index.png delete mode 100644 doc/ci/img/environments_terminal_button_on_show.png create mode 100644 doc/security/token_overview.md create mode 100644 spec/frontend/pages/projects/forks/new/components/app_spec.js create mode 100644 spec/initializers/rack_multipart_patch_spec.rb diff --git a/.rubocop_manual_todo.yml b/.rubocop_manual_todo.yml index 67dfeebaf7d..634c0a2e55c 100644 --- a/.rubocop_manual_todo.yml +++ b/.rubocop_manual_todo.yml @@ -44,7 +44,6 @@ Graphql/Descriptions: # WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/267606 FactoryBot/InlineAssociation: Exclude: - - 'ee/spec/factories/geo/event_log.rb' - 'ee/spec/factories/merge_request_blocks.rb' - 'ee/spec/factories/vulnerabilities/feedback.rb' - 'spec/factories/atlassian_identities.rb' diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index 10eeb3d68c6..2b795e2c604 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -d1f4340a1123d2436c7544d6ba64635c4c8f6104 +58bf16b78b3c99757a2f283a5befe57a2cb7f009 diff --git a/app/assets/javascripts/clusters/components/fluentd_output_settings.vue b/app/assets/javascripts/clusters/components/fluentd_output_settings.vue index 369cb2fa0f3..aaad0009ef3 100644 --- a/app/assets/javascripts/clusters/components/fluentd_output_settings.vue +++ b/app/assets/javascripts/clusters/components/fluentd_output_settings.vue @@ -54,15 +54,17 @@ export default { required: false, }, }, - data: () => ({ - currentServerSideSettings: { - host: null, - port: null, - protocol: null, - wafLogEnabled: null, - ciliumLogEnabled: null, - }, - }), + data() { + return { + currentServerSideSettings: { + host: null, + port: null, + protocol: null, + wafLogEnabled: null, + ciliumLogEnabled: null, + }, + }; + }, computed: { isSaving() { return [UPDATING].includes(this.status); diff --git a/app/assets/javascripts/clusters/components/ingress_modsecurity_settings.vue b/app/assets/javascripts/clusters/components/ingress_modsecurity_settings.vue index 26767c32275..277d2c33b73 100644 --- a/app/assets/javascripts/clusters/components/ingress_modsecurity_settings.vue +++ b/app/assets/javascripts/clusters/components/ingress_modsecurity_settings.vue @@ -53,11 +53,13 @@ export default { }), }, }, - data: () => ({ - modSecurityLogo, - initialValue: null, - initialMode: null, - }), + data() { + return { + modSecurityLogo, + initialValue: null, + initialMode: null, + }; + }, computed: { modSecurityEnabled: { get() { diff --git a/app/assets/javascripts/notes/components/note_actions.vue b/app/assets/javascripts/notes/components/note_actions.vue index 907a4316a93..e1f3c964ed8 100644 --- a/app/assets/javascripts/notes/components/note_actions.vue +++ b/app/assets/javascripts/notes/components/note_actions.vue @@ -259,19 +259,28 @@ export default { class="line-resolve-btn note-action-button" @click="onResolve" /> - - - - - + + + + + + + + + + +import ForkForm from './fork_form.vue'; + +export default { + components: { + ForkForm, + }, + props: { + forkIllustration: { + type: String, + required: true, + }, + endpoint: { + type: String, + required: true, + }, + projectFullPath: { + type: String, + required: true, + }, + projectId: { + type: String, + required: true, + }, + projectName: { + type: String, + required: true, + }, + projectPath: { + type: String, + required: true, + }, + projectDescription: { + type: String, + required: true, + }, + projectVisibility: { + type: String, + required: true, + }, + }, +}; + + + diff --git a/app/assets/javascripts/pages/projects/forks/new/components/fork_form.vue b/app/assets/javascripts/pages/projects/forks/new/components/fork_form.vue index fd35c16ab63..7112b23775d 100644 --- a/app/assets/javascripts/pages/projects/forks/new/components/fork_form.vue +++ b/app/assets/javascripts/pages/projects/forks/new/components/fork_form.vue @@ -45,23 +45,23 @@ export default { GlFormRadioGroup, GlFormSelect, }, + inject: { + newGroupPath: { + default: '', + }, + visibilityHelpPath: { + default: '', + }, + }, props: { endpoint: { type: String, required: true, }, - newGroupPath: { - type: String, - required: true, - }, projectFullPath: { type: String, required: true, }, - visibilityHelpPath: { - type: String, - required: true, - }, projectId: { type: String, required: true, diff --git a/app/assets/javascripts/pages/projects/forks/new/index.js b/app/assets/javascripts/pages/projects/forks/new/index.js index 420639eefb7..372967c8a1e 100644 --- a/app/assets/javascripts/pages/projects/forks/new/index.js +++ b/app/assets/javascripts/pages/projects/forks/new/index.js @@ -1,11 +1,12 @@ import Vue from 'vue'; -import ForkForm from './components/fork_form.vue'; +import App from './components/app.vue'; import ForkGroupsList from './components/fork_groups_list.vue'; const mountElement = document.getElementById('fork-groups-mount-element'); if (gon.features.forkProjectForm) { const { + forkIllustration, endpoint, newGroupPath, projectFullPath, @@ -20,9 +21,14 @@ if (gon.features.forkProjectForm) { // eslint-disable-next-line no-new new Vue({ el: mountElement, + provide: { + newGroupPath, + visibilityHelpPath, + }, render(h) { - return h(ForkForm, { + return h(App, { props: { + forkIllustration, endpoint, newGroupPath, projectFullPath, diff --git a/app/assets/javascripts/releases/components/app_edit_new.vue b/app/assets/javascripts/releases/components/app_edit_new.vue index b16bb76c305..a8c7b7c857a 100644 --- a/app/assets/javascripts/releases/components/app_edit_new.vue +++ b/app/assets/javascripts/releases/components/app_edit_new.vue @@ -86,12 +86,11 @@ export default { ]; }, }, - mounted() { - // eslint-disable-next-line promise/catch-or-return - this.initializeRelease().then(() => { - // Focus the first non-disabled input element - this.$el.querySelector('input:enabled').focus(); - }); + async mounted() { + await this.initializeRelease(); + + // Focus the first non-disabled input or button element + this.$el.querySelector('input:enabled, button:enabled').focus(); }, methods: { ...mapActions('detail', [ diff --git a/app/assets/javascripts/releases/components/tag_field_new.vue b/app/assets/javascripts/releases/components/tag_field_new.vue index 660fd7ac950..21360a5c6cb 100644 --- a/app/assets/javascripts/releases/components/tag_field_new.vue +++ b/app/assets/javascripts/releases/components/tag_field_new.vue @@ -1,20 +1,29 @@