From d1b3f24693e264bc76daf50f70cf3fe0e49debd9 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 23 May 2024 12:14:18 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .rubocop_todo/gitlab/bounded_contexts.yml | 3 + ...e_end_string_concatenation_indentation.yml | 1 - .../lint/ambiguous_regexp_literal.yml | 13 - .rubocop_todo/rspec/context_wording.yml | 2 - .rubocop_todo/rspec/feature_category.yml | 2 - .../components/design_sidebar.vue | 2 +- .../components/table/members_table.vue | 39 ++- .../components/table/role_details_drawer.vue | 75 +++++ .../design_management}/design_disclosure.vue | 2 +- .../design_preview/design_description.vue | 39 +++ .../design_preview/design_details.vue | 15 +- .../design_preview/design_sidebar.vue | 55 +++ .../design_preview/design_toolbar.vue | 34 +- .../resolvers/work_items/types_resolver.rb | 3 +- .../widget_definitions/hierarchy_type.rb | 12 + app/models/bulk_imports/export.rb | 8 + .../bulk_imports/file_transfer/base_config.rb | 5 + app/models/concerns/importable.rb | 1 + app/models/group.rb | 1 + app/models/project.rb | 1 + app/models/user.rb | 1 + app/models/work_items/type.rb | 18 +- .../user_contributions_export_service.rb | 19 ++ app/workers/all_queues.yml | 9 + .../bulk_imports/relation_export_worker.rb | 5 + .../user_contributions_export_worker.rb | 60 ++++ config/events/schema.json | 2 - .../wip/show_role_details_in_drawer.yml | 9 + config/metrics/schema/base.json | 12 - config/sidekiq_queues.yml | 2 + ..._valid_foreign_key_to_namespaces_parent.rb | 23 ++ ..._add_epics_issue_id_not_null_constraint.rb | 15 + db/schema_migrations/20240510134106 | 1 + db/schema_migrations/20240517072604 | 1 + db/structure.sql | 6 + doc/api/graphql/reference/index.md | 1 + .../internal_analytics/review_guidelines.md | 2 +- doc/development/work_items.md | 4 + doc/user/group/saml_sso/group_sync.md | 6 + .../container_registry_hover_path_13_4.png | Bin 13597 -> 0 bytes doc/user/packages/container_registry/index.md | 33 +- doc/user/packages/generic_packages/index.md | 8 +- .../project/integrations/beyond_identity.md | 16 +- .../project/repository/branches/default.md | 6 +- .../event_definition.yml | 16 - .../metric_definition.yml | 21 -- lib/api/entities/ml/mlflow/run_info.rb | 4 +- lib/api/features.rb | 2 +- lib/api/generic_packages.rb | 17 +- .../user_contributions_export_mapper.rb | 47 +++ .../gitlab/analytics/group_fetcher.rb | 48 --- .../analytics/internal_events_generator.rb | 266 --------------- .../import_export/base/relation_factory.rb | 5 +- .../import_export/group/import_export.yml | 5 + .../import_export/group/relation_factory.rb | 3 +- .../json/streaming_serializer.rb | 14 + .../import_export/project/import_export.yml | 5 + .../import_export/project/relation_factory.rb | 3 +- locale/gitlab.pot | 9 + scripts/internal_events/cli/event.rb | 4 - scripts/internal_events/cli/event_definer.rb | 12 +- .../cli/helpers/group_ownership.rb | 99 +++--- scripts/internal_events/cli/metric.rb | 4 - scripts/internal_events/cli/metric_definer.rb | 28 +- scripts/verify-tff-mapping | 31 +- spec/features/atom/users_spec.rb | 2 +- .../groups/members/manage_groups_spec.rb | 1 + .../groups/members/manage_members_spec.rb | 1 + ...r_creates_branch_and_merge_request_spec.rb | 2 +- .../issues/user_creates_issue_spec.rb | 2 +- .../members/groups_with_access_list_spec.rb | 1 + .../projects/members/manage_members_spec.rb | 1 + ...group_notification_settings_finder_spec.rb | 16 - .../events/ee_event_without_identifiers.yml | 2 - .../events/event_with_identifiers.yml | 2 - .../events/event_with_mr_url.yml | 2 - .../events/keyboard_smashed_event.yml | 2 - .../secondary_event_with_identifiers.yml | 2 - .../metrics/ee_total_28d_single_event.yml | 2 - .../metrics/ee_total_7d_single_event.yml | 2 - .../metrics/ee_total_single_event.yml | 2 - .../metrics/keyboard_smashed_metric_28d.yml | 2 - .../metrics/keyboard_smashed_metric_7d.yml | 2 - .../project_id_28d_multiple_events.yml | 2 - .../metrics/project_id_7d_multiple_events.yml | 2 - .../metrics/total_single_event.yml | 2 - .../metrics/user_id_28d_single_event.yml | 2 - .../metrics/user_id_7d_single_event.yml | 2 - .../scripts/internal_events/new_metrics.yml | 2 +- .../components/design_sidebar_spec.js | 2 +- .../components/table/members_table_spec.js | 117 +++++-- .../table/role_details_drawer_spec.js | 73 ++++ spec/frontend/members/mock_data.js | 2 - .../design_disclosure_spec.js | 2 +- .../design_preview/design_description_spec.js | 25 ++ .../design_preview/design_details_spec.js | 12 + .../design_preview/design_sidebar_spec.js | 51 +++ .../design_preview/design_toolbar_spec.js | 11 + spec/helpers/labels_helper_spec.rb | 2 +- spec/helpers/users_helper_spec.rb | 2 +- spec/helpers/visibility_level_helper_spec.rb | 12 +- .../direct_upload_support_spec.rb | 4 +- .../validate_database_config_spec.rb | 6 +- .../references/label_reference_filter_spec.rb | 14 +- .../user_contributions_export_mapper_spec.rb | 123 +++++++ spec/lib/feature_spec.rb | 2 +- .../gitlab/analytics/group_fetcher_spec.rb | 100 ------ .../internal_events_generator_spec.rb | 318 ------------------ ...c_basic_fields_to_work_item_record_spec.rb | 12 +- .../backfill_project_repositories_spec.rb | 15 +- spec/lib/gitlab/import_export/all_models.yml | 2 + .../base/relation_factory_spec.rb | 8 + .../import_test_coverage_spec.rb | 1 + .../json/streaming_serializer_spec.rb | 128 ++++++- .../import_export/safe_model_attributes.yml | 3 +- .../snowplow_schema_validation_spec.rb | 33 -- spec/mailers/notify_spec.rb | 18 - spec/models/bulk_imports/export_spec.rb | 50 +++ .../file_transfer/project_config_spec.rb | 10 + spec/models/namespace_spec.rb | 9 +- .../namespaces/traversal/cached_spec.rb | 3 + spec/models/user_spec.rb | 12 + spec/models/work_items/type_spec.rb | 65 +++- spec/requests/api/generic_packages_spec.rb | 37 +- spec/scripts/internal_events/cli_spec.rb | 20 +- .../user_contributions_export_service_spec.rb | 55 +++ .../import_export/configuration_helper.rb | 4 +- spec/support/rspec_order_todo.yml | 2 - .../work_item_types_shared_context.rb | 11 +- .../relation_export_worker_spec.rb | 32 ++ .../user_contributions_export_worker_spec.rb | 104 ++++++ tests.yml | 10 + 132 files changed, 1659 insertions(+), 1136 deletions(-) create mode 100644 app/assets/javascripts/members/components/table/role_details_drawer.vue rename app/assets/javascripts/{design_management/components => vue_shared/components/design_management}/design_disclosure.vue (60%) create mode 100644 app/assets/javascripts/work_items/components/design_management/design_preview/design_description.vue create mode 100644 app/assets/javascripts/work_items/components/design_management/design_preview/design_sidebar.vue create mode 100644 app/services/bulk_imports/user_contributions_export_service.rb create mode 100644 app/workers/bulk_imports/user_contributions_export_worker.rb create mode 100644 config/feature_flags/wip/show_role_details_in_drawer.yml create mode 100644 db/migrate/20240517072604_add_not_valid_foreign_key_to_namespaces_parent.rb create mode 100644 db/post_migrate/20240510134106_add_epics_issue_id_not_null_constraint.rb create mode 100644 db/schema_migrations/20240510134106 create mode 100644 db/schema_migrations/20240517072604 delete mode 100644 doc/user/packages/container_registry/img/container_registry_hover_path_13_4.png delete mode 100644 generator_templates/gitlab_internal_events/event_definition.yml delete mode 100644 generator_templates/gitlab_internal_events/metric_definition.yml create mode 100644 lib/bulk_imports/user_contributions_export_mapper.rb delete mode 100644 lib/generators/gitlab/analytics/group_fetcher.rb delete mode 100644 lib/generators/gitlab/analytics/internal_events_generator.rb create mode 100644 spec/frontend/members/components/table/role_details_drawer_spec.js rename spec/frontend/{design_management/components => vue_shared/components/design_management}/design_disclosure_spec.js (86%) create mode 100644 spec/frontend/work_items/components/design_management/design_preview/design_description_spec.js create mode 100644 spec/frontend/work_items/components/design_management/design_preview/design_sidebar_spec.js create mode 100644 spec/lib/bulk_imports/user_contributions_export_mapper_spec.rb delete mode 100644 spec/lib/generators/gitlab/analytics/group_fetcher_spec.rb delete mode 100644 spec/lib/generators/gitlab/analytics/internal_events_generator_spec.rb delete mode 100644 spec/lib/gitlab/tracking/snowplow_schema_validation_spec.rb create mode 100644 spec/services/bulk_imports/user_contributions_export_service_spec.rb create mode 100644 spec/workers/bulk_imports/user_contributions_export_worker_spec.rb diff --git a/.rubocop_todo/gitlab/bounded_contexts.yml b/.rubocop_todo/gitlab/bounded_contexts.yml index 3d996595e11..5b75fcfca33 100644 --- a/.rubocop_todo/gitlab/bounded_contexts.yml +++ b/.rubocop_todo/gitlab/bounded_contexts.yml @@ -1703,6 +1703,7 @@ Gitlab/BoundedContexts: - 'app/services/bulk_imports/repository_bundle_export_service.rb' - 'app/services/bulk_imports/tree_export_service.rb' - 'app/services/bulk_imports/uploads_export_service.rb' + - 'app/services/bulk_imports/user_contributions_export_service.rb' - 'app/services/bulk_push_event_payload_service.rb' - 'app/services/captcha/captcha_verification_service.rb' - 'app/services/chat_names/authorize_user_service.rb' @@ -2205,6 +2206,7 @@ Gitlab/BoundedContexts: - 'app/workers/bulk_imports/relation_export_worker.rb' - 'app/workers/bulk_imports/stale_import_worker.rb' - 'app/workers/bulk_imports/transform_references_worker.rb' + - 'app/workers/bulk_imports/user_contributions_export_worker.rb' - 'app/workers/chaos/cpu_spin_worker.rb' - 'app/workers/chaos/db_spin_worker.rb' - 'app/workers/chaos/kill_worker.rb' @@ -4605,6 +4607,7 @@ Gitlab/BoundedContexts: - 'lib/bulk_imports/source_url_builder.rb' - 'lib/bulk_imports/stage.rb' - 'lib/bulk_imports/uniquify.rb' + - 'lib/bulk_imports/user_contributions_export_mapper.rb' - 'lib/bulk_imports/users_mapper.rb' - 'lib/bulk_imports/visibility_level.rb' - 'lib/carrier_wave_string_file.rb' diff --git a/.rubocop_todo/layout/line_end_string_concatenation_indentation.yml b/.rubocop_todo/layout/line_end_string_concatenation_indentation.yml index 700482cb46e..5f087c4159c 100644 --- a/.rubocop_todo/layout/line_end_string_concatenation_indentation.yml +++ b/.rubocop_todo/layout/line_end_string_concatenation_indentation.yml @@ -505,7 +505,6 @@ Layout/LineEndStringConcatenationIndentation: - 'lib/bulk_imports/error.rb' - 'lib/feature/definition.rb' - 'lib/feature/shared.rb' - - 'lib/generators/gitlab/analytics/internal_events_generator.rb' - 'lib/gitlab/audit/auditor.rb' - 'lib/gitlab/auth/ldap/access.rb' - 'lib/gitlab/auth/user_access_denied_reason.rb' diff --git a/.rubocop_todo/lint/ambiguous_regexp_literal.yml b/.rubocop_todo/lint/ambiguous_regexp_literal.yml index cb6735f617a..d00aae4e0fb 100644 --- a/.rubocop_todo/lint/ambiguous_regexp_literal.yml +++ b/.rubocop_todo/lint/ambiguous_regexp_literal.yml @@ -2,18 +2,5 @@ # Cop supports --autocorrect. Lint/AmbiguousRegexpLiteral: Exclude: - - 'lib/api/features.rb' - - 'qa/spec/page/element_spec.rb' - - 'spec/components/pajamas/avatar_component_spec.rb' - - 'spec/features/atom/users_spec.rb' - - 'spec/features/issues/user_creates_branch_and_merge_request_spec.rb' - - 'spec/features/issues/user_creates_issue_spec.rb' - - 'spec/helpers/labels_helper_spec.rb' - - 'spec/helpers/users_helper_spec.rb' - - 'spec/helpers/visibility_level_helper_spec.rb' - - 'spec/initializers/direct_upload_support_spec.rb' - - 'spec/initializers/validate_database_config_spec.rb' - - 'spec/lib/banzai/filter/references/label_reference_filter_spec.rb' - - 'spec/lib/feature_spec.rb' - 'spec/serializers/commit_entity_spec.rb' diff --git a/.rubocop_todo/rspec/context_wording.yml b/.rubocop_todo/rspec/context_wording.yml index 6745ca104a9..c70c3cebcf5 100644 --- a/.rubocop_todo/rspec/context_wording.yml +++ b/.rubocop_todo/rspec/context_wording.yml @@ -379,7 +379,6 @@ RSpec/ContextWording: - 'ee/spec/lib/gitlab/slash_commands/presenters/issue_show_spec.rb' - 'ee/spec/lib/gitlab/status_page/filter/image_filter_spec.rb' - 'ee/spec/lib/gitlab/status_page/storage/s3_client_spec.rb' - - 'ee/spec/lib/gitlab/tracking/snowplow_schema_validation_spec.rb' - 'ee/spec/lib/gitlab/tracking/standard_context_spec.rb' - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/build_type_metric_spec.rb' - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/distribution_metric_spec.rb' @@ -1920,7 +1919,6 @@ RSpec/ContextWording: - 'spec/lib/gitlab/time_tracking_formatter_spec.rb' - 'spec/lib/gitlab/tracking/destinations/snowplow_spec.rb' - 'spec/lib/gitlab/tracking/incident_management_spec.rb' - - 'spec/lib/gitlab/tracking/snowplow_schema_validation_spec.rb' - 'spec/lib/gitlab/tracking/standard_context_spec.rb' - 'spec/lib/gitlab/tracking_spec.rb' - 'spec/lib/gitlab/tree_summary_spec.rb' diff --git a/.rubocop_todo/rspec/feature_category.yml b/.rubocop_todo/rspec/feature_category.yml index 736f20f1984..def25d8c722 100644 --- a/.rubocop_todo/rspec/feature_category.yml +++ b/.rubocop_todo/rspec/feature_category.yml @@ -831,7 +831,6 @@ RSpec/FeatureCategory: - 'ee/spec/lib/gitlab/status_page_spec.rb' - 'ee/spec/lib/gitlab/subscription_portal/client_spec.rb' - 'ee/spec/lib/gitlab/template/custom_templates_spec.rb' - - 'ee/spec/lib/gitlab/tracking/snowplow_schema_validation_spec.rb' - 'ee/spec/lib/gitlab/tracking/standard_context_spec.rb' - 'ee/spec/lib/gitlab/tree_summary_spec.rb' - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/build_type_metric_spec.rb' @@ -3909,7 +3908,6 @@ RSpec/FeatureCategory: - 'spec/lib/gitlab/tracking/helpers/weak_password_error_event_spec.rb' - 'spec/lib/gitlab/tracking/incident_management_spec.rb' - 'spec/lib/gitlab/tracking/service_ping_context_spec.rb' - - 'spec/lib/gitlab/tracking/snowplow_schema_validation_spec.rb' - 'spec/lib/gitlab/tracking/standard_context_spec.rb' - 'spec/lib/gitlab/tree_summary_spec.rb' - 'spec/lib/gitlab/unicode_spec.rb' diff --git a/app/assets/javascripts/design_management/components/design_sidebar.vue b/app/assets/javascripts/design_management/components/design_sidebar.vue index 80e7546d8ec..e3174a995a4 100644 --- a/app/assets/javascripts/design_management/components/design_sidebar.vue +++ b/app/assets/javascripts/design_management/components/design_sidebar.vue @@ -5,13 +5,13 @@ import { isLoggedIn } from '~/lib/utils/common_utils'; import { s__, n__ } from '~/locale'; import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; +import DesignDisclosure from '~/vue_shared/components/design_management/design_disclosure.vue'; import { ACTIVE_DISCUSSION_SOURCE_TYPES } from '../constants'; import updateActiveDiscussionMutation from '../graphql/mutations/update_active_discussion.mutation.graphql'; import { extractDiscussions, extractParticipants } from '../utils/design_management_utils'; import DesignDiscussion from './design_notes/design_discussion.vue'; import DescriptionForm from './design_description/description_form.vue'; import DesignNoteSignedOut from './design_notes/design_note_signed_out.vue'; -import DesignDisclosure from './design_disclosure.vue'; export default { components: { diff --git a/app/assets/javascripts/members/components/table/members_table.vue b/app/assets/javascripts/members/components/table/members_table.vue index 17252dc9c7d..8327e5e56a5 100644 --- a/app/assets/javascripts/members/components/table/members_table.vue +++ b/app/assets/javascripts/members/components/table/members_table.vue @@ -1,5 +1,5 @@ + + diff --git a/app/assets/javascripts/design_management/components/design_disclosure.vue b/app/assets/javascripts/vue_shared/components/design_management/design_disclosure.vue similarity index 60% rename from app/assets/javascripts/design_management/components/design_disclosure.vue rename to app/assets/javascripts/vue_shared/components/design_management/design_disclosure.vue index 4a8f4b6c2d1..a7803ed7d61 100644 --- a/app/assets/javascripts/design_management/components/design_disclosure.vue +++ b/app/assets/javascripts/vue_shared/components/design_management/design_disclosure.vue @@ -13,7 +13,7 @@ export default { diff --git a/app/assets/javascripts/work_items/components/design_management/design_preview/design_description.vue b/app/assets/javascripts/work_items/components/design_management/design_preview/design_description.vue new file mode 100644 index 00000000000..41c78fe334c --- /dev/null +++ b/app/assets/javascripts/work_items/components/design_management/design_preview/design_description.vue @@ -0,0 +1,39 @@ + + + diff --git a/app/assets/javascripts/work_items/components/design_management/design_preview/design_details.vue b/app/assets/javascripts/work_items/components/design_management/design_preview/design_details.vue index f3e39e11863..fd5e64394c3 100644 --- a/app/assets/javascripts/work_items/components/design_management/design_preview/design_details.vue +++ b/app/assets/javascripts/work_items/components/design_management/design_preview/design_details.vue @@ -12,6 +12,7 @@ import { DESIGN_DETAIL_LAYOUT_CLASSLIST } from '../constants'; import { DESIGN_NOT_FOUND_ERROR, DESIGN_VERSION_NOT_EXIST_ERROR } from '../error_messages'; import DesignPresentation from './design_presentation.vue'; import DesignToolbar from './design_toolbar.vue'; +import DesignSidebar from './design_sidebar.vue'; const DEFAULT_SCALE = 1; const DEFAULT_MAX_SCALE = 2; @@ -20,6 +21,7 @@ export default { WORK_ITEM_ROUTE_NAME, components: { DesignPresentation, + DesignSidebar, DesignToolbar, GlAlert, }, @@ -63,6 +65,7 @@ export default { discussions: [], workItemId: '', workItemTitle: '', + isSidebarOpen: true, }; }, apollo: { @@ -145,6 +148,9 @@ export default { setMaxScale(event) { this.maxScale = 1 / event; }, + toggleSidebar() { + this.isSidebarOpen = !this.isSidebarOpen; + }, }, }; @@ -154,7 +160,13 @@ export default { class="design-detail js-design-detail fixed-top gl-w-full gl-flex gl-justify-content-center gl-flex-col gl-lg-flex-direction-row gl-bg-gray-10" >
- +
@@ -175,6 +187,7 @@ export default { @setMaxScale="setMaxScale" />
+
diff --git a/app/assets/javascripts/work_items/components/design_management/design_preview/design_sidebar.vue b/app/assets/javascripts/work_items/components/design_management/design_preview/design_sidebar.vue new file mode 100644 index 00000000000..e42c99aea9f --- /dev/null +++ b/app/assets/javascripts/work_items/components/design_management/design_preview/design_sidebar.vue @@ -0,0 +1,55 @@ + + + diff --git a/app/assets/javascripts/work_items/components/design_management/design_preview/design_toolbar.vue b/app/assets/javascripts/work_items/components/design_management/design_preview/design_toolbar.vue index 6dd0d34f92c..380fbb136e2 100644 --- a/app/assets/javascripts/work_items/components/design_management/design_preview/design_toolbar.vue +++ b/app/assets/javascripts/work_items/components/design_management/design_preview/design_toolbar.vue @@ -1,16 +1,25 @@