From bb1accd44a85929984deaa55f15f66234a14dc11 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Mon, 21 Jul 2025 15:10:16 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .eslint_todo/vue-no-unused-properties.mjs | 4 - .rubocop_todo/gitlab/bounded_contexts.yml | 1 + .rubocop_todo/gitlab/namespaced_class.yml | 1 + DUO_WORKFLOW_EXECUTOR_VERSION | 2 +- Gemfile | 2 +- Gemfile.checksum | 4 +- Gemfile.lock | 10 +- Gemfile.next.checksum | 4 +- Gemfile.next.lock | 10 +- .../javascripts/emoji/components/picker.vue | 12 - .../groups/settings/init_access_dropdown.js | 36 -- .../components/widgets/checklist.vue | 5 - .../components/widgets/list.vue | 8 - .../pipeline_wizard/components/wrapper.vue | 1 + .../projects/compare/components/app.vue | 21 +- .../compare/components/repo_dropdown.vue | 91 ++- .../compare/components/revision_card.vue | 12 +- .../compare/components/revision_dropdown.vue | 13 +- .../javascripts/projects/compare/index.js | 6 +- .../dashboard_layout.stories.js | 126 ----- .../dashboard_layout.vue | 106 ---- app/controllers/jwks_controller.rb | 15 + .../oauth/authorizations_controller.rb | 16 + .../oauth/dynamic_registrations_controller.rb | 86 +++ .../protected_resource_metadata_controller.rb | 26 + app/controllers/oauth/tokens_controller.rb | 12 + app/graphql/mutations/work_items/reorder.rb | 50 ++ app/graphql/types/mutation_type.rb | 1 + app/helpers/application_helper.rb | 20 +- app/helpers/application_settings_helper.rb | 2 +- app/helpers/auth_helper.rb | 11 +- app/helpers/compare_helper.rb | 9 +- app/helpers/integrations_helper.rb | 2 +- .../projects/security/configuration_helper.rb | 2 +- app/helpers/sidebars_helper.rb | 2 +- .../dev_ops_report/metric_presenter.rb | 2 +- app/services/work_items/reorder_service.rb | 73 +++ .../_security_newsletter_callout.html.haml | 2 +- .../_successful_verification_lightweight.haml | 1 + .../devise/sessions/restricted.html.haml | 2 +- app/views/devise/shared/_footer.html.haml | 2 +- .../doorkeeper/authorizations/new.html.haml | 4 +- app/views/help/index.html.haml | 6 +- .../header/_super_sidebar_logged_out.haml | 12 +- app/views/layouts/mailer/devise.html.haml | 2 +- app/views/shared/_promo.html.haml | 2 +- .../wip/oauth_dynamic_client_registration.yml | 10 + config/locales/doorkeeper.en.yml | 1 + config/routes.rb | 3 + config/routes/directs.rb | 2 +- config/routes/directs/about.rb | 5 - config/routes/directs/promo.rb | 17 + ..._organization_id_on_ci_runner_machines.yml | 2 +- ..._organization_id_on_ci_runner_machines.yml | 2 +- ..._organization_id_on_ci_runner_taggings.yml | 2 +- ...backfill_organization_id_on_ci_runners.yml | 2 +- db/docs/issue_assignees.yml | 12 +- ...50501083748_set_api_rate_limits_to_zero.rb | 38 +- ...75354_add_dynamic_to_oauth_applications.rb | 13 + ..._backfill_organization_id_on_ci_runners.rb | 21 + ...l_organization_id_on_ci_runner_machines.rb | 21 + ...l_organization_id_on_ci_runner_taggings.rb | 21 + ...g_organization_id_on_ci_runner_machines.rb | 21 + ...d_issue_assignees_namespace_id_not_null.rb | 14 + ..._top_level_ancestor_to_sbom_graph_paths.rb | 17 + db/schema_migrations/20250714075354 | 1 + db/schema_migrations/20250714085826 | 1 + db/schema_migrations/20250714085833 | 1 + db/schema_migrations/20250714085841 | 1 + db/schema_migrations/20250714085848 | 1 + db/schema_migrations/20250715224740 | 1 + db/schema_migrations/20250721063158 | 1 + db/structure.sql | 8 +- .../backup_restore/backup_archive_process.md | 4 +- .../backup_restore/backup_gitlab.md | 6 +- .../compliance/compliance_features.md | 2 +- doc/administration/dedicated/architecture.md | 2 +- doc/administration/geo/_index.md | 6 +- .../background_verification.md | 2 +- .../geo/replication/security_review.md | 2 +- .../synchronization_verification.md | 4 +- .../replication/upgrading_the_geo_sites.md | 9 +- doc/administration/gitaly/praefect/_index.md | 10 +- .../gitaly/praefect/recovery.md | 20 +- doc/administration/gitaly/troubleshooting.md | 2 +- doc/administration/housekeeping.md | 2 +- doc/administration/license.md | 2 +- doc/administration/object_storage.md | 2 +- .../operations/moving_repositories.md | 32 +- .../reference_architectures/_index.md | 5 +- .../repository_storage_paths.md | 8 +- doc/administration/server_hooks.md | 24 +- doc/administration/whats-new.md | 1 + doc/api/deployments.md | 2 +- .../audit_event_streaming_instances.md | 2 +- doc/api/graphql/reference/_index.md | 28 + doc/api/group_repository_storage_moves.md | 2 +- doc/api/oauth2.md | 2 +- doc/api/project_repository_storage_moves.md | 2 +- doc/api/projects.md | 3 +- doc/api/remote_mirrors.md | 2 +- doc/api/snippet_repository_storage_moves.md | 2 +- doc/ci/steps/_index.md | 4 +- doc/development/avoiding_required_stops.md | 2 +- .../gitaly_touch_points.md | 2 +- doc/development/documentation/redirects.md | 2 +- .../fe_guide/dashboard_layout_framework.md | 8 +- doc/development/fe_guide/icons.md | 2 +- .../multi_version_compatibility.md | 2 +- ...unning_tests_that_require_special_setup.md | 2 +- doc/development/workhorse/channel.md | 4 +- .../jetbrains_troubleshooting.md | 2 +- doc/install/aws/_index.md | 6 +- doc/install/requirements.md | 2 +- doc/integration/sourcegraph.md | 2 +- .../incident_management/manage_incidents.md | 2 +- doc/policy/maintenance.md | 1 + doc/solutions/cloud/aws/_index.md | 2 +- doc/solutions/cloud/aws/gitaly_sre_for_aws.md | 2 +- .../cloud/aws/gitlab_instance_on_aws.md | 2 +- doc/topics/offline/quick_start_guide.md | 2 +- doc/update/_index.md | 255 +-------- doc/update/convert_to_ee/_index.md | 1 + doc/update/package/_index.md | 2 +- doc/update/plan_your_upgrade.md | 1 + doc/update/upgrade.md | 256 +++++++++ doc/update/upgrading_from_source.md | 2 +- doc/update/with_downtime.md | 10 +- doc/update/zero_downtime.md | 8 +- doc/user/compliance/_index.md | 2 +- doc/user/group/saml_sso/troubleshooting.md | 2 +- .../repository/branches/branch_rules.md | 2 +- .../repository/code_suggestions/_index.md | 3 +- .../repository/monorepos/troubleshooting.md | 6 +- lib/gitlab/application_rate_limiter.rb | 1 + .../unconfirm_notification_email.html.haml | 2 +- .../unconfirm_notification_email.text.erb | 6 +- lib/gitlab/git/finders/refs_finder.rb | 10 +- lib/gitlab/gitaly_client/list_refs_sort.rb | 40 ++ lib/gitlab/gitaly_client/ref_service.rb | 3 +- lib/gitlab/gon_helper.rb | 2 +- lib/gitlab/saas.rb | 16 +- locale/gitlab.pot | 6 + package.json | 2 +- scripts/migration_schema_validator.rb | 11 +- spec/factories/oauth_applications.rb | 17 + spec/features/admin/admin_settings_spec.rb | 2 +- .../projects/compare/components/app_spec.js | 8 +- .../projects/compare/components/mock_data.js | 8 +- .../compare/components/repo_dropdown_spec.js | 145 +++-- .../components/revision_dropdown_spec.js | 2 +- .../dashboard_layout_spec.js | 174 ------ .../mutations/work_items/reorder_spec.rb | 80 +++ spec/helpers/application_helper_spec.rb | 26 +- spec/helpers/auth_helper_spec.rb | 29 +- .../security/configuration_helper_spec.rb | 2 +- spec/helpers/sidebars_helper_spec.rb | 6 +- spec/lib/gitlab/database/dictionary_spec.rb | 5 +- .../email/html_to_markdown_parser_spec.rb | 5 + spec/lib/gitlab/email/reply_parser_spec.rb | 1 + .../gitlab/git/finders/refs_finder_spec.rb | 38 ++ .../gitaly_client/list_refs_sort_spec.rb | 25 + .../gitlab/gitaly_client/ref_service_spec.rb | 32 ++ spec/lib/gitlab/saas_spec.rb | 8 + ...083748_set_api_rate_limits_to_zero_spec.rb | 50 +- .../mutations/work_items/reorder_spec.rb | 75 +++ spec/requests/jwks_controller_spec.rb | 1 + .../oauth/authorizations_controller_spec.rb | 117 ++++ .../dynamic_registrations_controller_spec.rb | 522 ++++++++++++++++++ ...ected_resource_metadata_controller_spec.rb | 119 ++++ spec/requests/oauth/tokens_controller_spec.rb | 125 +++++ spec/routing/directs/about_spec.rb | 13 - spec/routing/directs/promo_spec.rb | 65 +++ .../work_items/reorder_service_spec.rb | 54 ++ spec/support/finder_collection_allowlist.yml | 1 + .../reorder_service_shared_examples.rb | 65 +++ .../devise/shared/_footer.html.haml_spec.rb | 2 +- .../internal/ai_assist/duoworkflow/runner.go | 12 +- yarn.lock | 15 +- 179 files changed, 2602 insertions(+), 1213 deletions(-) delete mode 100644 app/assets/javascripts/groups/settings/init_access_dropdown.js delete mode 100644 app/assets/javascripts/vue_shared/components/customizable_dashboard/dashboard_layout.vue create mode 100644 app/controllers/oauth/dynamic_registrations_controller.rb create mode 100644 app/controllers/oauth/protected_resource_metadata_controller.rb create mode 100644 app/graphql/mutations/work_items/reorder.rb create mode 100644 app/services/work_items/reorder_service.rb create mode 100644 config/feature_flags/wip/oauth_dynamic_client_registration.yml delete mode 100644 config/routes/directs/about.rb create mode 100644 config/routes/directs/promo.rb create mode 100644 db/migrate/20250714075354_add_dynamic_to_oauth_applications.rb create mode 100644 db/post_migrate/20250714085826_finalize_backfill_organization_id_on_ci_runners.rb create mode 100644 db/post_migrate/20250714085833_finalize_backfill_organization_id_on_ci_runner_machines.rb create mode 100644 db/post_migrate/20250714085841_finalize_backfill_organization_id_on_ci_runner_taggings.rb create mode 100644 db/post_migrate/20250714085848_finalize_backfill_missing_organization_id_on_ci_runner_machines.rb create mode 100644 db/post_migrate/20250715224740_add_issue_assignees_namespace_id_not_null.rb create mode 100644 db/post_migrate/20250721063158_add_partial_index_on_top_level_ancestor_to_sbom_graph_paths.rb create mode 100644 db/schema_migrations/20250714075354 create mode 100644 db/schema_migrations/20250714085826 create mode 100644 db/schema_migrations/20250714085833 create mode 100644 db/schema_migrations/20250714085841 create mode 100644 db/schema_migrations/20250714085848 create mode 100644 db/schema_migrations/20250715224740 create mode 100644 db/schema_migrations/20250721063158 create mode 100644 doc/update/upgrade.md create mode 100644 lib/gitlab/gitaly_client/list_refs_sort.rb delete mode 100644 spec/frontend/vue_shared/components/customizable_dashboard/dashboard_layout_spec.js create mode 100644 spec/graphql/mutations/work_items/reorder_spec.rb create mode 100644 spec/lib/gitlab/gitaly_client/list_refs_sort_spec.rb create mode 100644 spec/requests/api/graphql/mutations/work_items/reorder_spec.rb create mode 100644 spec/requests/oauth/dynamic_registrations_controller_spec.rb create mode 100644 spec/requests/oauth/protected_resource_metadata_controller_spec.rb delete mode 100644 spec/routing/directs/about_spec.rb create mode 100644 spec/routing/directs/promo_spec.rb create mode 100644 spec/services/work_items/reorder_service_spec.rb create mode 100644 spec/support/shared_examples/reorder_service_shared_examples.rb diff --git a/.eslint_todo/vue-no-unused-properties.mjs b/.eslint_todo/vue-no-unused-properties.mjs index c23df4e9a68..20529d93c9b 100644 --- a/.eslint_todo/vue-no-unused-properties.mjs +++ b/.eslint_todo/vue-no-unused-properties.mjs @@ -74,7 +74,6 @@ export default { 'app/assets/javascripts/diffs/components/diff_row.vue', 'app/assets/javascripts/diffs/components/diff_view.vue', 'app/assets/javascripts/diffs/components/image_diff_overlay.vue', - 'app/assets/javascripts/emoji/components/picker.vue', 'app/assets/javascripts/error_tracking/components/error_details.vue', 'app/assets/javascripts/error_tracking/components/error_tracking_list.vue', 'app/assets/javascripts/feature_flags/components/empty_state.vue', @@ -153,9 +152,6 @@ export default { 'app/assets/javascripts/pages/projects/pipeline_schedules/shared/components/interval_pattern_input.vue', 'app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue', 'app/assets/javascripts/performance_bar/components/performance_bar_app.vue', - 'app/assets/javascripts/pipeline_wizard/components/widgets/checklist.vue', - 'app/assets/javascripts/pipeline_wizard/components/widgets/list.vue', - 'app/assets/javascripts/pipeline_wizard/components/wrapper.vue', 'app/assets/javascripts/popovers/components/popovers.vue', 'app/assets/javascripts/projects/commit/components/form_modal.vue', 'app/assets/javascripts/projects/commit/components/projects_dropdown.vue', diff --git a/.rubocop_todo/gitlab/bounded_contexts.yml b/.rubocop_todo/gitlab/bounded_contexts.yml index 6f17503d98e..65a02893af4 100644 --- a/.rubocop_todo/gitlab/bounded_contexts.yml +++ b/.rubocop_todo/gitlab/bounded_contexts.yml @@ -2136,6 +2136,7 @@ Gitlab/BoundedContexts: - 'ee/app/finders/iterations/cadences_finder.rb' - 'ee/app/finders/iterations_finder.rb' - 'ee/app/finders/licenses_finder.rb' + - 'ee/app/finders/push_rule_finder.rb' - 'ee/app/finders/llm/extra_resource_finder.rb' - 'ee/app/finders/member_roles/roles_finder.rb' - 'ee/app/finders/okrs/checkin_reminder_key_result_finder.rb' diff --git a/.rubocop_todo/gitlab/namespaced_class.yml b/.rubocop_todo/gitlab/namespaced_class.yml index 3d4a4b73d0c..ff80bd4abe0 100644 --- a/.rubocop_todo/gitlab/namespaced_class.yml +++ b/.rubocop_todo/gitlab/namespaced_class.yml @@ -824,6 +824,7 @@ Gitlab/NamespacedClass: - 'ee/app/finders/groups_with_templates_finder.rb' - 'ee/app/finders/iterations_finder.rb' - 'ee/app/finders/licenses_finder.rb' + - 'ee/app/finders/push_rule_finder.rb' - 'ee/app/finders/productivity_analytics_finder.rb' - 'ee/app/finders/scim_finder.rb' - 'ee/app/mailers/ci_minutes_usage_mailer.rb' diff --git a/DUO_WORKFLOW_EXECUTOR_VERSION b/DUO_WORKFLOW_EXECUTOR_VERSION index 4fe2fe843d9..89a67e8cd24 100644 --- a/DUO_WORKFLOW_EXECUTOR_VERSION +++ b/DUO_WORKFLOW_EXECUTOR_VERSION @@ -1 +1 @@ -0.0.40 +0.0.41 diff --git a/Gemfile b/Gemfile index c6b49bb353c..6a15f36e2bd 100644 --- a/Gemfile +++ b/Gemfile @@ -229,7 +229,7 @@ gem 'google-apis-cloudresourcemanager_v1', '~> 0.31.0', feature_category: :share gem 'google-apis-iam_v1', '~> 0.36.0', feature_category: :shared gem 'google-apis-serviceusage_v1', '~> 0.28.0', feature_category: :shared gem 'google-apis-sqladmin_v1beta4', '~> 0.41.0', feature_category: :shared -gem 'google-apis-androidpublisher_v3', '~> 0.34.0', feature_category: :shared +gem 'google-apis-androidpublisher_v3', '~> 0.83.0', feature_category: :shared gem 'googleauth', '~> 1.14', feature_category: :shared gem 'google-cloud-artifact_registry-v1', '~> 0.11.0', feature_category: :shared diff --git a/Gemfile.checksum b/Gemfile.checksum index b6320280451..d5a50c60b67 100644 --- a/Gemfile.checksum +++ b/Gemfile.checksum @@ -246,7 +246,7 @@ {"name":"gitlab_quality-test_tooling","version":"2.10.0","platform":"ruby","checksum":"68e518f71d85981bdc096d8dbd3369c85f54a2fb9d3115a0b90ef9f14c845017"}, {"name":"globalid","version":"1.1.0","platform":"ruby","checksum":"b337e1746f0c8cb0a6c918234b03a1ddeb4966206ce288fbb57779f59b2d154f"}, {"name":"gon","version":"6.4.0","platform":"ruby","checksum":"e3a618d659392890f1aa7db420f17c75fd7d35aeb5f8fe003697d02c4b88d2f0"}, -{"name":"google-apis-androidpublisher_v3","version":"0.34.0","platform":"ruby","checksum":"d7e1d7dd92f79c498fe2082222a1740d788e022e660c135564b3fd299cab5425"}, +{"name":"google-apis-androidpublisher_v3","version":"0.83.0","platform":"ruby","checksum":"34bc99b81deb7d9bba665e14255f7b7c7b0392105174a3c7b689d5445014c4f8"}, {"name":"google-apis-cloudbilling_v1","version":"0.22.0","platform":"ruby","checksum":"db2b72aebdc2664fd5095264a160cf757119ba3a83a036817b78d0d2ad7886fd"}, {"name":"google-apis-cloudresourcemanager_v1","version":"0.31.0","platform":"ruby","checksum":"f0a472a228c0b9b592741380ce79ead2458ea0066a4b5a78635818b9b62efbbf"}, {"name":"google-apis-compute_v1","version":"0.57.0","platform":"ruby","checksum":"404514548abc3a44f5e96393d6a6d588d287548ecb6f5a886ad76e1beea78068"}, @@ -320,7 +320,7 @@ {"name":"health_check","version":"3.1.0","platform":"ruby","checksum":"10146508237dc54ed7e24c292d8ba7fb8f9590cf26c66e325b947438c4103b57"}, {"name":"heapy","version":"0.2.0","platform":"ruby","checksum":"74141e845d61ffc7c1e8bf8b127c8cf94544ec7a1181aec613288682543585ea"}, {"name":"html-pipeline","version":"2.14.3","platform":"ruby","checksum":"8a1d4d7128b2141913387cac0f8ba898bb6812557001acc0c2b46910f59413a0"}, -{"name":"html2text","version":"0.2.0","platform":"ruby","checksum":"31c2f0be9ab7aa4fc780b07d5f84882ebc22a9024c29a45f4f5adfe42e92ad4f"}, +{"name":"html2text","version":"0.4.0","platform":"ruby","checksum":"b1becfa0b9150739633f7dc6d8637a49d7e38c3223bcb3afa3cebf59960afdc5"}, {"name":"htmlbeautifier","version":"1.4.2","platform":"ruby","checksum":"9de0c98480fe80d795ed5734a11f183563cd969686f25a04609c0f5a446fa5f8"}, {"name":"htmlentities","version":"4.3.4","platform":"ruby","checksum":"125a73c6c9f2d1b62100b7c3c401e3624441b663762afa7fe428476435a673da"}, {"name":"http","version":"5.1.1","platform":"ruby","checksum":"fcaec14a4f82de6d2f9cb978c07326814c6c2b42b8974f6ec166ff19c645ebaf"}, diff --git a/Gemfile.lock b/Gemfile.lock index b3ee5efd4ad..2e311436fb3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -830,8 +830,8 @@ GEM i18n (>= 0.7) multi_json request_store (>= 1.0) - google-apis-androidpublisher_v3 (0.34.0) - google-apis-core (>= 0.9.1, < 2.a) + google-apis-androidpublisher_v3 (0.83.0) + google-apis-core (>= 0.15.0, < 2.a) google-apis-cloudbilling_v1 (0.22.0) google-apis-core (>= 0.9.1, < 2.a) google-apis-cloudresourcemanager_v1 (0.31.0) @@ -1006,8 +1006,8 @@ GEM html-pipeline (2.14.3) activesupport (>= 2) nokogiri (>= 1.4) - html2text (0.2.0) - nokogiri (~> 1.6) + html2text (0.4.0) + nokogiri (>= 1.0, < 2.0) htmlbeautifier (1.4.2) htmlentities (4.3.4) http (5.1.1) @@ -2179,7 +2179,7 @@ DEPENDENCIES gitlab_omniauth-ldap (~> 2.2.0) gitlab_quality-test_tooling (~> 2.10.0) gon (~> 6.4.0) - google-apis-androidpublisher_v3 (~> 0.34.0) + google-apis-androidpublisher_v3 (~> 0.83.0) google-apis-cloudbilling_v1 (~> 0.22.0) google-apis-cloudresourcemanager_v1 (~> 0.31.0) google-apis-compute_v1 (~> 0.57.0) diff --git a/Gemfile.next.checksum b/Gemfile.next.checksum index 4f8d60a14c3..1be46884817 100644 --- a/Gemfile.next.checksum +++ b/Gemfile.next.checksum @@ -246,7 +246,7 @@ {"name":"gitlab_quality-test_tooling","version":"2.10.0","platform":"ruby","checksum":"68e518f71d85981bdc096d8dbd3369c85f54a2fb9d3115a0b90ef9f14c845017"}, {"name":"globalid","version":"1.1.0","platform":"ruby","checksum":"b337e1746f0c8cb0a6c918234b03a1ddeb4966206ce288fbb57779f59b2d154f"}, {"name":"gon","version":"6.4.0","platform":"ruby","checksum":"e3a618d659392890f1aa7db420f17c75fd7d35aeb5f8fe003697d02c4b88d2f0"}, -{"name":"google-apis-androidpublisher_v3","version":"0.34.0","platform":"ruby","checksum":"d7e1d7dd92f79c498fe2082222a1740d788e022e660c135564b3fd299cab5425"}, +{"name":"google-apis-androidpublisher_v3","version":"0.83.0","platform":"ruby","checksum":"34bc99b81deb7d9bba665e14255f7b7c7b0392105174a3c7b689d5445014c4f8"}, {"name":"google-apis-cloudbilling_v1","version":"0.22.0","platform":"ruby","checksum":"db2b72aebdc2664fd5095264a160cf757119ba3a83a036817b78d0d2ad7886fd"}, {"name":"google-apis-cloudresourcemanager_v1","version":"0.31.0","platform":"ruby","checksum":"f0a472a228c0b9b592741380ce79ead2458ea0066a4b5a78635818b9b62efbbf"}, {"name":"google-apis-compute_v1","version":"0.57.0","platform":"ruby","checksum":"404514548abc3a44f5e96393d6a6d588d287548ecb6f5a886ad76e1beea78068"}, @@ -320,7 +320,7 @@ {"name":"health_check","version":"3.1.0","platform":"ruby","checksum":"10146508237dc54ed7e24c292d8ba7fb8f9590cf26c66e325b947438c4103b57"}, {"name":"heapy","version":"0.2.0","platform":"ruby","checksum":"74141e845d61ffc7c1e8bf8b127c8cf94544ec7a1181aec613288682543585ea"}, {"name":"html-pipeline","version":"2.14.3","platform":"ruby","checksum":"8a1d4d7128b2141913387cac0f8ba898bb6812557001acc0c2b46910f59413a0"}, -{"name":"html2text","version":"0.2.0","platform":"ruby","checksum":"31c2f0be9ab7aa4fc780b07d5f84882ebc22a9024c29a45f4f5adfe42e92ad4f"}, +{"name":"html2text","version":"0.4.0","platform":"ruby","checksum":"b1becfa0b9150739633f7dc6d8637a49d7e38c3223bcb3afa3cebf59960afdc5"}, {"name":"htmlbeautifier","version":"1.4.2","platform":"ruby","checksum":"9de0c98480fe80d795ed5734a11f183563cd969686f25a04609c0f5a446fa5f8"}, {"name":"htmlentities","version":"4.3.4","platform":"ruby","checksum":"125a73c6c9f2d1b62100b7c3c401e3624441b663762afa7fe428476435a673da"}, {"name":"http","version":"5.1.1","platform":"ruby","checksum":"fcaec14a4f82de6d2f9cb978c07326814c6c2b42b8974f6ec166ff19c645ebaf"}, diff --git a/Gemfile.next.lock b/Gemfile.next.lock index 3a107f256a9..e1b3b0b6ff0 100644 --- a/Gemfile.next.lock +++ b/Gemfile.next.lock @@ -824,8 +824,8 @@ GEM i18n (>= 0.7) multi_json request_store (>= 1.0) - google-apis-androidpublisher_v3 (0.34.0) - google-apis-core (>= 0.9.1, < 2.a) + google-apis-androidpublisher_v3 (0.83.0) + google-apis-core (>= 0.15.0, < 2.a) google-apis-cloudbilling_v1 (0.22.0) google-apis-core (>= 0.9.1, < 2.a) google-apis-cloudresourcemanager_v1 (0.31.0) @@ -1000,8 +1000,8 @@ GEM html-pipeline (2.14.3) activesupport (>= 2) nokogiri (>= 1.4) - html2text (0.2.0) - nokogiri (~> 1.6) + html2text (0.4.0) + nokogiri (>= 1.0, < 2.0) htmlbeautifier (1.4.2) htmlentities (4.3.4) http (5.1.1) @@ -2174,7 +2174,7 @@ DEPENDENCIES gitlab_omniauth-ldap (~> 2.2.0) gitlab_quality-test_tooling (~> 2.10.0) gon (~> 6.4.0) - google-apis-androidpublisher_v3 (~> 0.34.0) + google-apis-androidpublisher_v3 (~> 0.83.0) google-apis-cloudbilling_v1 (~> 0.22.0) google-apis-cloudresourcemanager_v1 (~> 0.31.0) google-apis-compute_v1 (~> 0.57.0) diff --git a/app/assets/javascripts/emoji/components/picker.vue b/app/assets/javascripts/emoji/components/picker.vue index 3e67d38f3d2..7538e867a0b 100644 --- a/app/assets/javascripts/emoji/components/picker.vue +++ b/app/assets/javascripts/emoji/components/picker.vue @@ -82,23 +82,11 @@ export default { placement() { return this.right ? 'bottom-end' : 'bottom-start'; }, - newCustomEmoji() { - return { - text: __('Create new emoji'), - href: this.newEmojiPath, - extraAttrs: { - 'data-testid': 'create-new-emoji', - }, - }; - }, smileIcon() { return this.isHovered || this.isFocused || this.isVisible; }, }, methods: { - categoryAppeared(category) { - this.currentCategory = category; - }, async scrollToCategory(categoryName) { const categories = await getEmojiCategories(); const { top } = categories[categoryName]; diff --git a/app/assets/javascripts/groups/settings/init_access_dropdown.js b/app/assets/javascripts/groups/settings/init_access_dropdown.js deleted file mode 100644 index f18f260097b..00000000000 --- a/app/assets/javascripts/groups/settings/init_access_dropdown.js +++ /dev/null @@ -1,36 +0,0 @@ -import Vue from 'vue'; -import * as Sentry from '~/sentry/sentry_browser_wrapper'; -import AccessDropdown from './components/access_dropdown.vue'; - -export const initAccessDropdown = (el) => { - if (!el) { - return null; - } - - const { label, disabled, preselectedItems } = el.dataset; - let preselected = []; - try { - preselected = JSON.parse(preselectedItems); - } catch (e) { - Sentry.captureException(e); - } - - return new Vue({ - el, - render(createElement) { - const vm = this; - return createElement(AccessDropdown, { - props: { - preselectedItems: preselected, - label, - disabled, - }, - on: { - select(selected) { - vm.$emit('select', selected); - }, - }, - }); - }, - }); -}; diff --git a/app/assets/javascripts/pipeline_wizard/components/widgets/checklist.vue b/app/assets/javascripts/pipeline_wizard/components/widgets/checklist.vue index 4ba5c237311..be679e51854 100644 --- a/app/assets/javascripts/pipeline_wizard/components/widgets/checklist.vue +++ b/app/assets/javascripts/pipeline_wizard/components/widgets/checklist.vue @@ -27,11 +27,6 @@ export default { validator: (v) => v.every(isValidItemDefinition), default: () => [], }, - validate: { - type: Boolean, - required: false, - default: false, - }, id: { type: String, required: false, diff --git a/app/assets/javascripts/pipeline_wizard/components/widgets/list.vue b/app/assets/javascripts/pipeline_wizard/components/widgets/list.vue index 941b5fa3c1e..8e39895d484 100644 --- a/app/assets/javascripts/pipeline_wizard/components/widgets/list.vue +++ b/app/assets/javascripts/pipeline_wizard/components/widgets/list.vue @@ -51,11 +51,6 @@ export default { required: false, default: i18n.invalidFeedback, }, - id: { - type: String, - required: false, - default: () => uniqueId('listWidget-'), - }, pattern: { type: String, required: false, @@ -88,9 +83,6 @@ export default { // Filter out empty steps return this.value.filter(({ value }) => Boolean(value)).map(({ value }) => value) || []; }, - hasAnyValue() { - return this.value.some(({ value }) => Boolean(value)); - }, needsAnyValue() { return this.required && !this.value.some(({ value }) => Boolean(value)); }, diff --git a/app/assets/javascripts/pipeline_wizard/components/wrapper.vue b/app/assets/javascripts/pipeline_wizard/components/wrapper.vue index db19b1b0cb5..9c1f2eb37ca 100644 --- a/app/assets/javascripts/pipeline_wizard/components/wrapper.vue +++ b/app/assets/javascripts/pipeline_wizard/components/wrapper.vue @@ -86,6 +86,7 @@ export default { template: this.steps.get(i).get('template', true), })); }, + // eslint-disable-next-line vue/no-unused-properties -- used indirectly by tracking mixin or external analytics utility tracking() { return { category: `pipeline_wizard:${this.templateId}`, diff --git a/app/assets/javascripts/projects/compare/components/app.vue b/app/assets/javascripts/projects/compare/components/app.vue index d6f4a0ce206..0ab37677019 100644 --- a/app/assets/javascripts/projects/compare/components/app.vue +++ b/app/assets/javascripts/projects/compare/components/app.vue @@ -10,7 +10,6 @@ import { } from '@gitlab/ui'; import PageHeading from '~/vue_shared/components/page_heading.vue'; import csrf from '~/lib/utils/csrf'; -import { joinPaths } from '~/lib/utils/url_utility'; import { I18N, COMPARE_OPTIONS, @@ -73,10 +72,6 @@ export default { type: Object, required: true, }, - projects: { - type: Array, - required: true, - }, straight: { type: Boolean, required: true, @@ -85,7 +80,6 @@ export default { data() { return { from: { - projects: this.projects, selectedProject: this.targetProject, revision: this.paramsFrom, refsProjectPath: this.targetProjectRefsPath, @@ -99,14 +93,10 @@ export default { }; }, methods: { - onSubmit() { - this.$refs.form.submit(); - }, onSelectProject({ direction, project }) { - const refsPath = joinPaths(gon.relative_url_root || '', `/${project.name}`, '/refs'); // direction is either 'from' or 'to' - this[direction].refsProjectPath = refsPath; - this[direction].selectedProject = project; + this[direction].refsProjectPath = project.refs_url; + this[direction].selectedProject = { ...project }; }, onSelectRevision({ direction, revision }) { this[direction].revision = revision; // direction is either 'from' or 'to' @@ -123,7 +113,7 @@ export default {