From af5193aa3cc159fd7d08be988bd00f1921077117 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 24 Jan 2024 12:06:49 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .rubocop_todo/gitlab/namespaced_class.yml | 1 - .rubocop_todo/layout/line_length.yml | 3 - .rubocop_todo/performance/map_compact.yml | 1 - .rubocop_todo/rspec/feature_category.yml | 1 - .rubocop_todo/rspec/named_subject.yml | 1 - .rubocop_todo/style/arguments_forwarding.yml | 1 - .rubocop_todo/style/guard_clause.yml | 1 - .rubocop_todo/style/if_unless_modifier.yml | 1 - .rubocop_todo/style/inline_disable_annotation.yml | 1 - GITALY_SERVER_VERSION | 2 +- Gemfile.checksum | 8 +- Gemfile.lock | 8 +- app/assets/javascripts/constants.js | 2 - app/assets/javascripts/gl_form.js | 16 - .../components/checks/constants.js | 17 + .../components/checks/message.vue | 17 +- .../components/merge_checks.vue | 7 +- .../filtered_search_bar/tokens/base_token.vue | 57 +- .../filtered_search_bar/tokens/user_token.vue | 72 +- .../gcp/artifact_registry/base_controller.rb | 43 - .../artifact_registry/docker_images_controller.rb | 135 --- .../gcp/artifact_registry/setup_controller.rb | 11 - .../resolvers/namespace_projects_resolver.rb | 6 + app/helpers/dashboard_helper.rb | 4 + app/helpers/todos_helper.rb | 4 + app/mailers/previews/notify_preview.rb | 2 +- app/models/namespace.rb | 6 +- app/models/namespaces/traversal/cached.rb | 54 ++ app/models/namespaces/traversal/linear.rb | 4 + app/models/namespaces/traversal/recursive.rb | 6 + app/models/user_detail.rb | 1 + app/services/groups/update_service.rb | 3 +- .../user_detail_onboarding_status.json | 17 + app/views/dashboard/issues.html.haml | 2 + app/views/dashboard/merge_requests.html.haml | 2 + app/views/dashboard/todos/index.html.haml | 5 +- app/views/layouts/devise.html.haml | 6 +- .../docker_images/_docker_image.html.haml | 33 - .../docker_images/_docker_image_tag.html.haml | 1 - .../docker_images/_pagination.html.haml | 13 - .../docker_images/index.html.haml | 23 - .../gcp/artifact_registry/setup/new.html.haml | 31 - app/views/shared/wikis/edit.html.haml | 3 +- bin/saas-feature.rb | 381 ++++++++ .../development/gcp_technical_demo.yml | 8 - .../initializers/rest-client-hostname_override.rb | 2 +- config/routes/gcp.rb | 13 - config/routes/project.rb | 1 - ...0000_migrate_data_from_workspaces_url_column.rb | 2 +- ...212237_add_onboarding_status_to_user_details.rb | 10 + ...23000000_update_workspaces_url_prefix_column.rb | 20 + ...ll_for_ci_builds_integer_columns_is_finished.rb | 35 + ..._indexes_for_p_ci_builds_auto_canceled_by_id.rb | 27 + ...sync_indexes_for_p_ci_builds_commit_id_part1.rb | 32 + db/schema_migrations/20240116212237 | 1 + db/schema_migrations/20240122071840 | 1 + db/schema_migrations/20240123000000 | 1 + db/schema_migrations/20240123071840 | 1 + db/schema_migrations/20240124081840 | 1 + db/structure.sql | 1 + doc/api/graphql/reference/index.md | 2 + .../dedicated-capacity-planning-as-a-service.png | Bin 0 -> 153784 bytes .../dedicated-capacity-planning-forecasting.png | Bin 0 -> 155472 bytes .../dedicated-capacity-planning-reporting.png | Bin 0 -> 275988 bytes .../images/tamland-as-a-service.png | Bin 46896 -> 0 bytes .../images/tamland-as-part-of-stack.png | Bin 38591 -> 0 bytes .../blueprints/capacity_planning/index.md | 85 +- doc/ci/runners/saas/macos_saas_runner.md | 4 +- doc/development/ee_features.md | 23 + doc/development/permissions/custom_roles.md | 166 ++-- doc/development/secure_coding_guidelines.md | 8 +- gems/gitlab-http/spec/gitlab/stub_requests.rb | 4 +- lib/gitlab/ci/config/external/mapper.rb | 1 + lib/gitlab/ci/config/external/mapper/normalizer.rb | 4 +- lib/gitlab/pages/url_builder.rb | 34 +- lib/gitlab/url_blocker.rb | 429 --------- locale/gitlab.pot | 6 +- spec/bin/saas_feature_spec.rb | 218 +++++ spec/config/settings_spec.rb | 15 + spec/factories/namespaces/descendants.rb | 6 + .../components/checks/draft_spec.js | 2 +- .../components/merge_checks_spec.js | 37 +- .../filtered_search_bar/tokens/base_token_spec.js | 25 +- .../filtered_search_bar/tokens/user_token_spec.js | 118 +-- .../resolvers/namespace_projects_resolver_spec.rb | 8 +- spec/helpers/dashboard_helper_spec.rb | 6 + spec/helpers/todos_helper_spec.rb | 6 + .../rest-client-hostname_override_spec.rb | 2 +- .../ci/config/external/mapper/normalizer_spec.rb | 9 + spec/lib/gitlab/ci/config/external/mapper_spec.rb | 18 + .../lib/gitlab/database/loose_foreign_keys_spec.rb | 4 + spec/lib/gitlab/pages/url_builder_spec.rb | 12 - spec/lib/gitlab/url_blocker_spec.rb | 1009 -------------------- spec/models/namespaces/traversal/cached_spec.rb | 196 ++-- spec/models/user_detail_spec.rb | 72 +- .../docker_images_controller_spec.rb | 137 --- .../gcp/artifact_registry/setup_controller_spec.rb | 73 -- spec/services/groups/update_service_spec.rb | 2 + spec/support/helpers/stub_requests.rb | 6 +- spec/support/rspec_order_todo.yml | 1 - .../wiki/user_creates_wiki_page_shared_examples.rb | 8 +- .../wiki/user_views_wiki_page_shared_examples.rb | 4 +- .../uses_gitlab_url_blocker_shared_examples.rb | 2 +- .../namespaces/traversal_examples.rb | 8 + 104 files changed, 1473 insertions(+), 2466 deletions(-) delete mode 100644 app/controllers/projects/gcp/artifact_registry/base_controller.rb delete mode 100644 app/controllers/projects/gcp/artifact_registry/docker_images_controller.rb delete mode 100644 app/controllers/projects/gcp/artifact_registry/setup_controller.rb create mode 100644 app/validators/json_schemas/user_detail_onboarding_status.json delete mode 100644 app/views/projects/gcp/artifact_registry/docker_images/_docker_image.html.haml delete mode 100644 app/views/projects/gcp/artifact_registry/docker_images/_docker_image_tag.html.haml delete mode 100644 app/views/projects/gcp/artifact_registry/docker_images/_pagination.html.haml delete mode 100644 app/views/projects/gcp/artifact_registry/docker_images/index.html.haml delete mode 100644 app/views/projects/gcp/artifact_registry/setup/new.html.haml create mode 100755 bin/saas-feature.rb delete mode 100644 config/feature_flags/development/gcp_technical_demo.yml delete mode 100644 config/routes/gcp.rb create mode 100644 db/migrate/20240116212237_add_onboarding_status_to_user_details.rb create mode 100644 db/migrate/20240123000000_update_workspaces_url_prefix_column.rb create mode 100644 db/post_migrate/20240122071840_ensure_backfill_for_ci_builds_integer_columns_is_finished.rb create mode 100644 db/post_migrate/20240123071840_prepare_async_indexes_for_p_ci_builds_auto_canceled_by_id.rb create mode 100644 db/post_migrate/20240124081840_prepare_async_indexes_for_p_ci_builds_commit_id_part1.rb create mode 100644 db/schema_migrations/20240116212237 create mode 100644 db/schema_migrations/20240122071840 create mode 100644 db/schema_migrations/20240123000000 create mode 100644 db/schema_migrations/20240123071840 create mode 100644 db/schema_migrations/20240124081840 create mode 100644 doc/architecture/blueprints/capacity_planning/images/dedicated-capacity-planning-as-a-service.png create mode 100644 doc/architecture/blueprints/capacity_planning/images/dedicated-capacity-planning-forecasting.png create mode 100644 doc/architecture/blueprints/capacity_planning/images/dedicated-capacity-planning-reporting.png delete mode 100644 doc/architecture/blueprints/capacity_planning/images/tamland-as-a-service.png delete mode 100644 doc/architecture/blueprints/capacity_planning/images/tamland-as-part-of-stack.png delete mode 100644 lib/gitlab/url_blocker.rb create mode 100644 spec/bin/saas_feature_spec.rb delete mode 100644 spec/lib/gitlab/url_blocker_spec.rb delete mode 100644 spec/requests/projects/gcp/artifact_registry/docker_images_controller_spec.rb delete mode 100644 spec/requests/projects/gcp/artifact_registry/setup_controller_spec.rb diff --git a/.rubocop_todo/gitlab/namespaced_class.yml b/.rubocop_todo/gitlab/namespaced_class.yml index 4cc5f4ffef0..eff4a6506cf 100644 --- a/.rubocop_todo/gitlab/namespaced_class.yml +++ b/.rubocop_todo/gitlab/namespaced_class.yml @@ -1215,7 +1215,6 @@ Gitlab/NamespacedClass: - 'lib/gitlab/untrusted_regexp.rb' - 'lib/gitlab/untrusted_regexp/ruby_syntax.rb' - 'lib/gitlab/uploads_transfer.rb' - - 'lib/gitlab/url_blocker.rb' - 'lib/gitlab/url_builder.rb' - 'lib/gitlab/url_helpers.rb' - 'lib/gitlab/url_sanitizer.rb' diff --git a/.rubocop_todo/layout/line_length.yml b/.rubocop_todo/layout/line_length.yml index 59f19430b57..6dd83f1aceb 100644 --- a/.rubocop_todo/layout/line_length.yml +++ b/.rubocop_todo/layout/line_length.yml @@ -2671,7 +2671,6 @@ Layout/LineLength: - 'lib/gitlab/tracking.rb' - 'lib/gitlab/tracking/destinations/snowplow.rb' - 'lib/gitlab/tracking/event_definition.rb' - - 'lib/gitlab/url_blocker.rb' - 'lib/gitlab/usage/metric_definition.rb' - 'lib/gitlab/usage/metrics/aggregates/aggregate.rb' - 'lib/gitlab/usage/metrics/aggregates/sources/calculations/intersection.rb' @@ -3801,7 +3800,6 @@ Layout/LineLength: - 'spec/lib/gitlab/tracking/event_definition_spec.rb' - 'spec/lib/gitlab/tracking/standard_context_spec.rb' - 'spec/lib/gitlab/tracking_spec.rb' - - 'spec/lib/gitlab/url_blocker_spec.rb' - 'spec/lib/gitlab/url_builder_spec.rb' - 'spec/lib/gitlab/usage/metric_definition_spec.rb' - 'spec/lib/gitlab/usage/metric_spec.rb' @@ -4024,7 +4022,6 @@ Layout/LineLength: - 'spec/models/todo_spec.rb' - 'spec/models/upload_spec.rb' - 'spec/models/uploads/fog_spec.rb' - - 'spec/models/user_detail_spec.rb' - 'spec/models/user_spec.rb' - 'spec/models/wiki_page_spec.rb' - 'spec/models/x509_certificate_spec.rb' diff --git a/.rubocop_todo/performance/map_compact.yml b/.rubocop_todo/performance/map_compact.yml index 576a610006e..4a3395ba823 100644 --- a/.rubocop_todo/performance/map_compact.yml +++ b/.rubocop_todo/performance/map_compact.yml @@ -103,7 +103,6 @@ Performance/MapCompact: - 'lib/gitlab/git/commit.rb' - 'lib/gitlab/git/conflict/file.rb' - 'lib/gitlab/sql/pattern.rb' - - 'lib/gitlab/url_blocker.rb' - 'qa/qa/page/component/issuable/sidebar.rb' - 'qa/qa/support/formatters/test_metrics_formatter.rb' - 'qa/qa/tools/ci/ff_changes.rb' diff --git a/.rubocop_todo/rspec/feature_category.yml b/.rubocop_todo/rspec/feature_category.yml index ff159a848f2..de0f4213855 100644 --- a/.rubocop_todo/rspec/feature_category.yml +++ b/.rubocop_todo/rspec/feature_category.yml @@ -4679,7 +4679,6 @@ RSpec/FeatureCategory: - 'spec/models/user_agent_detail_spec.rb' - 'spec/models/user_canonical_email_spec.rb' - 'spec/models/user_custom_attribute_spec.rb' - - 'spec/models/user_detail_spec.rb' - 'spec/models/user_highest_role_spec.rb' - 'spec/models/user_mentions/commit_user_mention_spec.rb' - 'spec/models/user_mentions/issue_user_mention_spec.rb' diff --git a/.rubocop_todo/rspec/named_subject.yml b/.rubocop_todo/rspec/named_subject.yml index 13ea468885a..77ed1246b7a 100644 --- a/.rubocop_todo/rspec/named_subject.yml +++ b/.rubocop_todo/rspec/named_subject.yml @@ -2416,7 +2416,6 @@ RSpec/NamedSubject: - 'spec/lib/gitlab/tree_summary_spec.rb' - 'spec/lib/gitlab/unicode_spec.rb' - 'spec/lib/gitlab/untrusted_regexp_spec.rb' - - 'spec/lib/gitlab/url_blocker_spec.rb' - 'spec/lib/gitlab/url_builder_spec.rb' - 'spec/lib/gitlab/usage/metric_definition_spec.rb' - 'spec/lib/gitlab/usage/metrics/instrumentations/database_metric_spec.rb' diff --git a/.rubocop_todo/style/arguments_forwarding.yml b/.rubocop_todo/style/arguments_forwarding.yml index f578b75e5f0..b72751ed279 100644 --- a/.rubocop_todo/style/arguments_forwarding.yml +++ b/.rubocop_todo/style/arguments_forwarding.yml @@ -115,7 +115,6 @@ Style/ArgumentsForwarding: - 'lib/gitlab/redis/multi_store.rb' - 'lib/gitlab/repository_cache.rb' - 'lib/gitlab/tracking.rb' - - 'lib/gitlab/url_blocker.rb' - 'lib/gitlab/url_builder.rb' - 'lib/gitlab/usage/metrics/query.rb' - 'lib/gitlab_settings/settings.rb' diff --git a/.rubocop_todo/style/guard_clause.yml b/.rubocop_todo/style/guard_clause.yml index 933b33999e3..9896356b1f6 100644 --- a/.rubocop_todo/style/guard_clause.yml +++ b/.rubocop_todo/style/guard_clause.yml @@ -538,7 +538,6 @@ Style/GuardClause: - 'lib/gitlab/sidekiq_config/cli_methods.rb' - 'lib/gitlab/sidekiq_middleware/size_limiter/compressor.rb' - 'lib/gitlab/sql/set_operator.rb' - - 'lib/gitlab/url_blocker.rb' - 'lib/gitlab/usage/metrics/instrumentations/count_bulk_imports_entities_metric.rb' - 'lib/gitlab/utils/override.rb' - 'lib/gitlab/webpack/manifest.rb' diff --git a/.rubocop_todo/style/if_unless_modifier.yml b/.rubocop_todo/style/if_unless_modifier.yml index cb5e5134dcf..72189f27bd0 100644 --- a/.rubocop_todo/style/if_unless_modifier.yml +++ b/.rubocop_todo/style/if_unless_modifier.yml @@ -881,7 +881,6 @@ Style/IfUnlessModifier: - 'lib/gitlab/suggestions/suggestion_set.rb' - 'lib/gitlab/template_parser/eval_state.rb' - 'lib/gitlab/untrusted_regexp.rb' - - 'lib/gitlab/url_blocker.rb' - 'lib/gitlab/usage_data_counters/base_counter.rb' - 'lib/gitlab/usage_data_counters/hll_redis_counter.rb' - 'lib/gitlab/utils/delegator_override.rb' diff --git a/.rubocop_todo/style/inline_disable_annotation.yml b/.rubocop_todo/style/inline_disable_annotation.yml index 470ede21304..58650799d8d 100644 --- a/.rubocop_todo/style/inline_disable_annotation.yml +++ b/.rubocop_todo/style/inline_disable_annotation.yml @@ -2620,7 +2620,6 @@ Style/InlineDisableAnnotation: - 'lib/gitlab/throttle.rb' - 'lib/gitlab/tracking.rb' - 'lib/gitlab/uploads/migration_helper.rb' - - 'lib/gitlab/url_blocker.rb' - 'lib/gitlab/url_builder.rb' - 'lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric.rb' - 'lib/gitlab/usage/metrics/instrumentations/database_metric.rb' diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index 08cc8e9bddf..255d283413d 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -7eb79ebcb084d4e881777f44ca5055cce6e60ccf +4261fb1dccde53037494d42745c59583f6644553 diff --git a/Gemfile.checksum b/Gemfile.checksum index dcd0f1e82fe..2124bcd11d0 100644 --- a/Gemfile.checksum +++ b/Gemfile.checksum @@ -71,8 +71,8 @@ {"name":"capybara-screenshot","version":"1.0.26","platform":"ruby","checksum":"816b9370a07752097c82a05f568aaf5d3b7f45c3db5d3aab2014071e1b3c0c77"}, {"name":"carrierwave","version":"1.3.4","platform":"ruby","checksum":"81772dabd1830edbd7f4526d2ae2c79f974f1d48900c3f03f7ecb7c657463a21"}, {"name":"cbor","version":"0.5.9.6","platform":"ruby","checksum":"434a147658dd1df24ec9e7b3297c1fd4f8a691c97d0e688b3049df8e728b2114"}, -{"name":"character_set","version":"1.4.1","platform":"java","checksum":"38b632136b40e02fecba2898497b07ac640cc121f17ac536eaf19873d50053d0"}, -{"name":"character_set","version":"1.4.1","platform":"ruby","checksum":"f71b1ac35b21c4c6f9f26b8a67c7eec8e10bdf0da17488ac7f8fae756d9f8062"}, +{"name":"character_set","version":"1.8.0","platform":"java","checksum":"2d94ac33d6569434cf1ba464012b5e98010f5dafbd7b750e8d7db79f4c8eb8f7"}, +{"name":"character_set","version":"1.8.0","platform":"ruby","checksum":"2b7317462adaedff0bd1576ae86d71bc5efe133a5d0b7c257021b00fe3153f51"}, {"name":"charlock_holmes","version":"0.7.7","platform":"ruby","checksum":"1790eca3f661ffa6bbf5866c53c7191e4b8472626fc4997ff9dbe7c425e2cb43"}, {"name":"chef-config","version":"18.3.0","platform":"ruby","checksum":"c183a2ff41da8d63b1e4a60853c9c701a053ab9afe13df767a578db5f07072df"}, {"name":"chef-utils","version":"18.3.0","platform":"ruby","checksum":"827f7aace26ba9f5f8aca45059644205cc715baded80229f1fd5518d21970701"}, @@ -502,7 +502,6 @@ {"name":"rb-inotify","version":"0.10.1","platform":"ruby","checksum":"050062d4f31d307cca52c3f6a7f4b946df8de25fc4bd373e1a5142e41034a7ca"}, {"name":"rb_sys","version":"0.9.86","platform":"ruby","checksum":"65d35ad5f2f2e7257607310186d6a178f34d0fee807d3b1af5611db6a5503a8c"}, {"name":"rbtrace","version":"0.4.14","platform":"ruby","checksum":"162bbf89cecabfc4f09c869b655f6f3a679c4870ebb7cbdcadf7393a81cc1769"}, -{"name":"rbtree","version":"0.4.6","platform":"ruby","checksum":"14eea4469b24fd2472542e5f3eb105d6344c8ccf36f0b56d55fdcfeb4e0f10fc"}, {"name":"rchardet","version":"1.8.0","platform":"ruby","checksum":"693acd5253d5ade81a51940697955f6dd4bb2f0d245bda76a8e23deec70a52c7"}, {"name":"re2","version":"2.7.0","platform":"aarch64-linux","checksum":"778921298b6e8aba26a6230dd298c9b361b92e45024f81fa6aee788060fa307c"}, {"name":"re2","version":"2.7.0","platform":"arm-linux","checksum":"d328b5286d83ae265e13b855da8e348a976f80f91b748045b52073a570577954"}, @@ -592,7 +591,6 @@ {"name":"sentry-raven","version":"3.1.2","platform":"ruby","checksum":"103d3b122958810d34898ce2e705bcf549ddb9d855a70ce9a3970ee2484f364a"}, {"name":"sentry-ruby","version":"5.10.0","platform":"ruby","checksum":"115c24c0aee1309210f3a2988fb118e2bec1f11609feeda90e694388b1183619"}, {"name":"sentry-sidekiq","version":"5.10.0","platform":"ruby","checksum":"cc81018d0733fb1be3fb5641c9e0b61030bbeaa1d0b23ca64797d70def7aea1a"}, -{"name":"set","version":"1.0.2","platform":"ruby","checksum":"02ffa4de1f2621495e05b72326040dd014d7abbcb02fea698bc600a389992c02"}, {"name":"sexp_processor","version":"4.17.1","platform":"ruby","checksum":"91110946720307f30bf1d549e90d9a529fef40d1fc471c069c8cca7667015da0"}, {"name":"shellany","version":"0.0.1","platform":"ruby","checksum":"0e127a9132698766d7e752e82cdac8250b6adbd09e6c0a7fbbb6f61964fedee7"}, {"name":"shoulda-matchers","version":"5.1.0","platform":"ruby","checksum":"a01d20589989e9653ab4a28c67d9db2b82bcf0a2496cf01d5e1a95a4aaaf5b07"}, @@ -613,8 +611,6 @@ {"name":"snowplow-tracker","version":"0.8.0","platform":"ruby","checksum":"7ba6f4f1443a829845fd28e63eda72d9d3d247f485310ddcccaebbc52b734a38"}, {"name":"solargraph","version":"0.47.2","platform":"ruby","checksum":"87ca4b799b9155c2c31c15954c483e952fdacd800f52d6709b901dd447bcac6a"}, {"name":"sorbet-runtime","version":"0.5.11144","platform":"ruby","checksum":"cb36dfc4ede6d206fa6f7587d4be7c8b4fcd3cc9fd5792614fb9b6c7030548a0"}, -{"name":"sorted_set","version":"1.0.3","platform":"java","checksum":"996283f2e5c6e838825bcdcee31d6306515ae5f24bcb0ee4ce09dfff32919b8c"}, -{"name":"sorted_set","version":"1.0.3","platform":"ruby","checksum":"4f2b8bee6e8c59cbd296228c0f1f81679357177a8b6859dcc2a99e86cce6372f"}, {"name":"spamcheck","version":"1.3.0","platform":"ruby","checksum":"a46082752257838d8484c844736e309ec499f85dcc51283a5f973b33f1c994f5"}, {"name":"spring","version":"4.1.0","platform":"ruby","checksum":"f17f080fb0df558d663c897a6229ed3d5cc54819ab51876ea6eef49a67f0a3cb"}, {"name":"spring-commands-rspec","version":"1.0.4","platform":"ruby","checksum":"6202e54fa4767452e3641461a83347645af478bf45dddcca9737b43af0dd1a2c"}, diff --git a/Gemfile.lock b/Gemfile.lock index 2f7c295dde6..9dfcf3ac1f4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -383,8 +383,7 @@ GEM mime-types (>= 1.16) ssrf_filter (~> 1.0, < 1.1.0) cbor (0.5.9.6) - character_set (1.4.1) - sorted_set (~> 1.0) + character_set (1.8.0) charlock_holmes (0.7.7) chef-config (18.3.0) addressable @@ -1350,7 +1349,6 @@ GEM ffi (>= 1.0.6) msgpack (>= 0.4.3) optimist (>= 3.0.0) - rbtree (0.4.6) rchardet (1.8.0) re2 (2.7.0) mini_portile2 (~> 2.8.5) @@ -1547,7 +1545,6 @@ GEM sentry-sidekiq (5.10.0) sentry-ruby (~> 5.10.0) sidekiq (>= 3.0) - set (1.0.2) sexp_processor (4.17.1) shellany (0.0.1) shoulda-matchers (5.1.0) @@ -1601,9 +1598,6 @@ GEM tilt (~> 2.0) yard (~> 0.9, >= 0.9.24) sorbet-runtime (0.5.11144) - sorted_set (1.0.3) - rbtree - set (~> 1.0) spamcheck (1.3.0) grpc (~> 1.0) spring (4.1.0) diff --git a/app/assets/javascripts/constants.js b/app/assets/javascripts/constants.js index 631968ff531..f43a2d5d8ff 100644 --- a/app/assets/javascripts/constants.js +++ b/app/assets/javascripts/constants.js @@ -3,5 +3,3 @@ export const getModifierKey = (removeSuffix = false) => { const winKey = `Ctrl${removeSuffix ? '' : '+'}`; return window.gl?.client?.isMac ? '⌘' : winKey; }; - -export const PRELOAD_THROTTLE_TIMEOUT_MS = 4000; diff --git a/app/assets/javascripts/gl_form.js b/app/assets/javascripts/gl_form.js index 776f27a8583..f4008fe3cc9 100644 --- a/app/assets/javascripts/gl_form.js +++ b/app/assets/javascripts/gl_form.js @@ -5,7 +5,6 @@ import GfmAutoComplete, { defaultAutocompleteConfig } from 'ee_else_ce/gfm_auto_ import { disableButtonIfEmptyField } from '~/lib/utils/common_utils'; import dropzoneInput from './dropzone_input'; import { addMarkdownListeners, removeMarkdownListeners } from './lib/utils/text_markdown'; -import { PRELOAD_THROTTLE_TIMEOUT_MS } from './constants'; export default class GLForm { /** @@ -69,21 +68,6 @@ export default class GLForm { ); this.autoComplete = new GfmAutoComplete(dataSources); this.autoComplete.setup(this.form.find('.js-gfm-input'), this.enableGFM); - - if (this.preloadMembers && dataSources?.members) { - // for now the preload is only implemented for the members - // timeout helping to trottle the preloads in the case content_editor - // is set as main comment editor and support for rspec tests - // https://gitlab.com/gitlab-org/gitlab/-/issues/427437 - - requestIdleCallback(() => - setTimeout( - () => this.autoComplete?.fetchData($('.js-gfm-input'), '@'), - PRELOAD_THROTTLE_TIMEOUT_MS, - ), - ); - } - this.formDropzone = dropzoneInput(this.form, { parallelUploads: 1 }); if (this.form.is(':not(.js-no-autosize)')) { diff --git a/app/assets/javascripts/vue_merge_request_widget/components/checks/constants.js b/app/assets/javascripts/vue_merge_request_widget/components/checks/constants.js index 24bc7017e06..88efcfa46e7 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/checks/constants.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/checks/constants.js @@ -1,3 +1,5 @@ +import { __ } from '~/locale'; + export const COMPONENTS = { conflict: () => import('./conflicts.vue'), discussions_not_resolved: () => import('./unresolved_discussions.vue'), @@ -5,3 +7,18 @@ export const COMPONENTS = { need_rebase: () => import('./rebase.vue'), default: () => import('./message.vue'), }; + +export const FAILURE_REASONS = { + broken_status: __('Cannot merge the source into the target branch, due to a conflict.'), + ci_must_pass: __('Pipeline must succeed.'), + conflict: __('Merge conflicts must be resolved.'), + discussions_not_resolved: __('Unresolved discussions must be resolved.'), + draft_status: __('Merge request must not be draft.'), + not_open: __('Merge request must be open.'), + need_rebase: __('Merge request must be rebased, because a fast-forward merge is not possible.'), + not_approved: __('All required approvals must be given.'), + policies_denied: __('Denied licenses must be removed or approved.'), + merge_request_blocked: __('Merge request is blocked by another merge request.'), + status_checks_must_pass: __('Status checks must pass.'), + jira_association_missing: __('Either the title or description must reference a Jira issue.'), +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/checks/message.vue b/app/assets/javascripts/vue_merge_request_widget/components/checks/message.vue index 7f21445559a..da3cb1397dd 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/checks/message.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/checks/message.vue @@ -1,6 +1,6 @@