From 1d9f78b3a4ecd36806890e80e513242d0fdf7b6e Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 28 Jul 2021 15:09:57 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../Task for group::configure.md | 9 + .rubocop_manual_todo.yml | 11 -- .../javascripts/diffs/components/app.vue | 10 +- .../pages/ldap/omniauth_callbacks/index.js | 2 +- .../projects/environments/folder/index.js | 2 +- .../projects/environments/metrics/index.js | 2 +- .../projects/environments/terminal/index.js | 2 +- .../pages/projects/network/show/index.js | 4 +- .../permissions/components/settings_panel.vue | 20 +- .../projects/static_site_editor/show/index.js | 4 +- .../components/details_page/delete_modal.vue | 27 ++- .../details_page/details_header.vue | 23 ++- .../registry/explorer/constants/details.js | 2 +- ...container_repository_details.query.graphql | 1 + .../registry/explorer/pages/details.vue | 2 +- app/assets/javascripts/sourcegraph/load.js | 5 +- .../cycle_analytics/stage_actions.rb | 96 +++++++++ .../concerns/cycle_analytics_params.rb | 34 +++- .../groups/email_campaigns_controller.rb | 2 +- .../cycle_analytics/stages_controller.rb | 37 ++-- .../merge_requests/diffs_controller.rb | 8 +- .../projects/merge_requests_controller.rb | 1 + app/controllers/projects_controller.rb | 5 - app/controllers/search_controller.rb | 15 +- app/graphql/mutations/base_mutation.rb | 6 + app/graphql/mutations/issues/set_due_date.rb | 13 +- app/graphql/types/base_argument.rb | 22 +++ app/helpers/projects_helper.rb | 2 - app/models/hooks/web_hook.rb | 13 +- app/models/project.rb | 2 +- app/models/project_setting.rb | 4 + .../users/in_product_marketing_email.rb | 3 +- .../concerns/diff_file_conflict_type.rb | 24 +++ app/serializers/diff_file_entity.rb | 7 +- app/serializers/diff_file_metadata_entity.rb | 2 + app/serializers/diffs_metadata_entity.rb | 9 +- .../in_product_marketing_emails_service.rb | 13 +- .../shared/deploy_tokens/_form.html.haml | 23 ++- .../shared/deploy_tokens/_index.html.haml | 2 +- .../allow_editing_commit_messages.yml | 8 - .../development/diff_searching_usage_data.yml | 8 + config/metrics/aggregates/code_review.yml | 2 + ...code_review_user_searches_diff_monthly.yml | 21 ++ ..._code_review_user_searches_diff_weekly.yml | 21 ++ .../20210723075525_diff_searches.yml | 21 ++ ...rketing_email_team_short_0_cta_clicked.yml | 22 +++ ...duct_marketing_email_team_short_0_sent.yml | 22 +++ config/routes/project.rb | 9 +- ...llow_to_edit_commit_to_project_settings.rb | 8 +- doc/api/graphql/reference/index.md | 77 +++++++- doc/ci/yaml/index.md | 2 +- doc/development/api_graphql_styleguide.md | 27 +++ doc/development/usage_ping/dictionary.md | 70 +++++++ doc/integration/jira/configure.md | 59 ++++++ doc/integration/jira/development_panel.md | 55 +----- doc/integration/jira/index.md | 2 +- doc/integration/jira/issues.md | 10 +- .../jira/jira_cloud_configuration.md | 4 +- .../jira/jira_server_configuration.md | 2 +- doc/user/infrastructure/iac/index.md | 6 - doc/user/infrastructure/mr_integration.md | 11 +- lib/api/invitations.rb | 4 +- lib/backup.rb | 39 ++++ .../cycle_analytics/request_params.rb | 186 ++++++++++++++++++ .../ci/pipeline/expression/lexeme/pattern.rb | 2 +- lib/gitlab/conflict/file.rb | 22 ++- .../message/in_product_marketing/base.rb | 8 +- .../message/in_product_marketing/team.rb | 4 + .../in_product_marketing/team_short.rb | 47 +++++ lib/gitlab/git/conflict/file.rb | 3 +- .../gitaly_client/conflict_files_stitcher.rb | 1 + .../metrics/requests_rack_middleware.rb | 2 +- .../metrics/subscribers/active_record.rb | 2 +- lib/gitlab/regex.rb | 10 +- lib/gitlab/usage_data_counters.rb | 3 +- .../usage_data_counters/diffs_counter.rb | 10 + .../known_events/code_review_events.yml | 5 + lib/gitlab/utils.rb | 2 +- lib/product_analytics/tracker.rb | 2 +- locale/gitlab.pot | 61 +++--- .../cycle_analytics/stages_controller_spec.rb | 150 ++++++++++++-- .../merge_requests/diffs_controller_spec.rb | 164 ++++++++------- spec/controllers/projects_controller_spec.rb | 4 +- spec/controllers/search_controller_spec.rb | 16 ++ .../components/settings_panel_spec.js | 20 +- .../details_page/delete_modal_spec.js | 53 ++++- .../details_page/details_header_spec.js | 28 +-- spec/frontend/registry/explorer/mock_data.js | 1 + spec/frontend/registry/explorer/stubs.js | 5 + spec/graphql/mutations/base_mutation_spec.rb | 56 ++++++ .../mutations/ci/runner/delete_spec.rb | 2 +- .../mutations/ci/runner/update_spec.rb | 2 +- spec/graphql/types/base_argument_spec.rb | 38 +++- spec/helpers/projects_helper_spec.rb | 30 --- spec/lib/backup/database_backup_error_spec.rb | 30 +++ spec/lib/backup/file_backup_error_spec.rb | 35 ++++ .../backup/repository_backup_error_spec.rb | 42 ++++ spec/lib/gitlab/conflict/file_spec.rb | 31 +++ .../in_product_marketing/team_short_spec.rb | 47 +++++ .../message/in_product_marketing/team_spec.rb | 40 ++++ spec/lib/gitlab/git/conflict/file_spec.rb | 2 +- .../conflict_files_stitcher_spec.rb | 25 ++- spec/lib/gitlab/usage_data_spec.rb | 4 + spec/models/hooks/web_hook_spec.rb | 45 ++++- spec/models/project_spec.rb | 1 - .../users/in_product_marketing_email_spec.rb | 6 + .../mutations/issues/set_due_date_spec.rb | 2 +- spec/requests/api/project_attributes.yml | 1 - spec/serializers/diff_file_entity_spec.rb | 4 +- .../diff_file_metadata_entity_spec.rb | 10 +- spec/serializers/diffs_entity_spec.rb | 2 +- .../serializers/diffs_metadata_entity_spec.rb | 58 +++++- .../serializers/paginated_diff_entity_spec.rb | 2 +- ...n_product_marketing_emails_service_spec.rb | 13 +- .../diff_file_entity_shared_examples.rb | 16 ++ .../deploy_tokens/_form.html.haml_spec.rb | 4 +- 116 files changed, 1870 insertions(+), 468 deletions(-) create mode 100644 .gitlab/issue_templates/Task for group::configure.md create mode 100644 app/controllers/concerns/analytics/cycle_analytics/stage_actions.rb create mode 100644 app/serializers/concerns/diff_file_conflict_type.rb delete mode 100644 config/feature_flags/development/allow_editing_commit_messages.yml create mode 100644 config/feature_flags/development/diff_searching_usage_data.yml create mode 100644 config/metrics/counts_28d/20210720144005_i_code_review_user_searches_diff_monthly.yml create mode 100644 config/metrics/counts_7d/20210720144005_i_code_review_user_searches_diff_weekly.yml create mode 100644 config/metrics/counts_all/20210723075525_diff_searches.yml create mode 100644 config/metrics/counts_all/20210727095918_in_product_marketing_email_team_short_0_cta_clicked.yml create mode 100644 config/metrics/counts_all/20210727095923_in_product_marketing_email_team_short_0_sent.yml create mode 100644 doc/integration/jira/configure.md create mode 100644 lib/gitlab/analytics/cycle_analytics/request_params.rb create mode 100644 lib/gitlab/email/message/in_product_marketing/team_short.rb create mode 100644 lib/gitlab/usage_data_counters/diffs_counter.rb create mode 100644 spec/graphql/mutations/base_mutation_spec.rb create mode 100644 spec/lib/backup/database_backup_error_spec.rb create mode 100644 spec/lib/backup/file_backup_error_spec.rb create mode 100644 spec/lib/backup/repository_backup_error_spec.rb create mode 100644 spec/lib/gitlab/email/message/in_product_marketing/team_short_spec.rb diff --git a/.gitlab/issue_templates/Task for group::configure.md b/.gitlab/issue_templates/Task for group::configure.md new file mode 100644 index 00000000000..441f66d6698 --- /dev/null +++ b/.gitlab/issue_templates/Task for group::configure.md @@ -0,0 +1,9 @@ +## Scope + +This issue is part of a bigger development effort described in detail by its epic. The scope of this issue is to ... + +## Actions + + + +- [ ] TODO diff --git a/.rubocop_manual_todo.yml b/.rubocop_manual_todo.yml index 6839dee403f..78f6b0fa15c 100644 --- a/.rubocop_manual_todo.yml +++ b/.rubocop_manual_todo.yml @@ -2459,17 +2459,6 @@ Gitlab/FeatureAvailableUsage: # WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/327490 Style/RegexpLiteralMixedPreserve: Exclude: - - 'ee/app/models/status_page/project_setting.rb' - - 'ee/app/presenters/vulnerability_presenter.rb' - - 'ee/lib/api/geo_nodes.rb' - - 'ee/lib/gitlab/vulnerabilities/standard_vulnerability.rb' - - 'lib/api/invitations.rb' - - 'lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb' - - 'lib/gitlab/metrics/requests_rack_middleware.rb' - - 'lib/gitlab/metrics/subscribers/active_record.rb' - - 'lib/gitlab/regex.rb' - - 'lib/gitlab/utils.rb' - - 'lib/product_analytics/tracker.rb' - 'qa/qa/page/project/settings/advanced.rb' - 'qa/spec/service/docker_run/gitlab_runner_spec.rb' - 'rubocop/cop/gitlab/duplicate_spec_location.rb' diff --git a/app/assets/javascripts/diffs/components/app.vue b/app/assets/javascripts/diffs/components/app.vue index 35b7ea48958..6d3d113f932 100644 --- a/app/assets/javascripts/diffs/components/app.vue +++ b/app/assets/javascripts/diffs/components/app.vue @@ -506,7 +506,10 @@ export default { ); } - if (window.gon?.features?.diffsVirtualScrolling) { + if ( + window.gon?.features?.diffsVirtualScrolling || + window.gon?.features?.diffSearchingUsageData + ) { let keydownTime; Mousetrap.bind(['mod+f', 'mod+g'], () => { keydownTime = new Date().getTime(); @@ -520,6 +523,11 @@ export default { // and max 1000ms to be sure it the search box is filtered if (delta >= 0 && delta < 1000) { this.disableVirtualScroller = true; + + if (window.gon?.features?.diffSearchingUsageData) { + api.trackRedisHllUserEvent('i_code_review_user_searches_diff'); + api.trackRedisCounterEvent('user_searches_diffs'); + } } } }); diff --git a/app/assets/javascripts/pages/ldap/omniauth_callbacks/index.js b/app/assets/javascripts/pages/ldap/omniauth_callbacks/index.js index e93def5323f..8d8534ec556 100644 --- a/app/assets/javascripts/pages/ldap/omniauth_callbacks/index.js +++ b/app/assets/javascripts/pages/ldap/omniauth_callbacks/index.js @@ -1,3 +1,3 @@ import { mount2faAuthentication } from '~/authentication/mount_2fa'; -document.addEventListener('DOMContentLoaded', mount2faAuthentication); +mount2faAuthentication(); diff --git a/app/assets/javascripts/pages/projects/environments/folder/index.js b/app/assets/javascripts/pages/projects/environments/folder/index.js index 5feaf944038..2f22a3a84ff 100644 --- a/app/assets/javascripts/pages/projects/environments/folder/index.js +++ b/app/assets/javascripts/pages/projects/environments/folder/index.js @@ -1,3 +1,3 @@ import initEnvironmentsFolderBundle from '~/environments/folder/environments_folder_bundle'; -document.addEventListener('DOMContentLoaded', initEnvironmentsFolderBundle); +initEnvironmentsFolderBundle(); diff --git a/app/assets/javascripts/pages/projects/environments/metrics/index.js b/app/assets/javascripts/pages/projects/environments/metrics/index.js index d3028aec313..606439866ea 100644 --- a/app/assets/javascripts/pages/projects/environments/metrics/index.js +++ b/app/assets/javascripts/pages/projects/environments/metrics/index.js @@ -1,3 +1,3 @@ import monitoringApp from '~/monitoring/monitoring_app'; -document.addEventListener('DOMContentLoaded', monitoringApp); +monitoringApp(); diff --git a/app/assets/javascripts/pages/projects/environments/terminal/index.js b/app/assets/javascripts/pages/projects/environments/terminal/index.js index 7129e24cee1..d42c163a41b 100644 --- a/app/assets/javascripts/pages/projects/environments/terminal/index.js +++ b/app/assets/javascripts/pages/projects/environments/terminal/index.js @@ -1,3 +1,3 @@ import initTerminal from '~/terminal/'; -document.addEventListener('DOMContentLoaded', initTerminal); +initTerminal(); diff --git a/app/assets/javascripts/pages/projects/network/show/index.js b/app/assets/javascripts/pages/projects/network/show/index.js index 9f05f63b742..2dabcfadfab 100644 --- a/app/assets/javascripts/pages/projects/network/show/index.js +++ b/app/assets/javascripts/pages/projects/network/show/index.js @@ -2,7 +2,7 @@ import $ from 'jquery'; import ShortcutsNetwork from '~/behaviors/shortcuts/shortcuts_network'; import Network from '../network'; -document.addEventListener('DOMContentLoaded', () => { +(() => { if (!$('.network-graph').length) return; const networkGraph = new Network({ @@ -14,4 +14,4 @@ document.addEventListener('DOMContentLoaded', () => { // eslint-disable-next-line no-new new ShortcutsNetwork(networkGraph.branch_graph); -}); +})(); diff --git a/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue b/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue index 6fcaa3ab04b..86a2d127363 100644 --- a/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue +++ b/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue @@ -3,7 +3,6 @@ import { GlIcon, GlSprintf, GlLink, GlFormCheckbox, GlToggle } from '@gitlab/ui' import settingsMixin from 'ee_else_ce/pages/projects/shared/permissions/mixins/settings_pannel_mixin'; import { s__ } from '~/locale'; -import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; import { visibilityOptions, visibilityLevelDescriptions, @@ -48,7 +47,7 @@ export default { GlFormCheckbox, GlToggle, }, - mixins: [settingsMixin, glFeatureFlagsMixin()], + mixins: [settingsMixin], props: { requestCveAvailable: { @@ -737,22 +736,5 @@ export default { }} - - - - {{ s__('ProjectSettings|Allow editing commit messages') }} - - - diff --git a/app/assets/javascripts/pages/projects/static_site_editor/show/index.js b/app/assets/javascripts/pages/projects/static_site_editor/show/index.js index 8f808dae56c..d9d265e4e4a 100644 --- a/app/assets/javascripts/pages/projects/static_site_editor/show/index.js +++ b/app/assets/javascripts/pages/projects/static_site_editor/show/index.js @@ -1,5 +1,3 @@ import initStaticSiteEditor from '~/static_site_editor'; -window.addEventListener('DOMContentLoaded', () => { - initStaticSiteEditor(document.querySelector('#static-site-editor')); -}); +initStaticSiteEditor(document.querySelector('#static-site-editor')); diff --git a/app/assets/javascripts/registry/explorer/components/details_page/delete_modal.vue b/app/assets/javascripts/registry/explorer/components/details_page/delete_modal.vue index 0432cf1123c..f857c96c9d1 100644 --- a/app/assets/javascripts/registry/explorer/components/details_page/delete_modal.vue +++ b/app/assets/javascripts/registry/explorer/components/details_page/delete_modal.vue @@ -1,5 +1,5 @@