From 3a045e1e085188917c3009b9bb25da41f8da9c6f Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 1 Apr 2025 15:19:34 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../layout/first_hash_element_indentation.yml | 20 -- .rubocop_todo/layout/line_length.yml | 1 - .rubocop_todo/rspec/be_eq.yml | 1 - .rubocop_todo/rspec/context_wording.yml | 1 - .rubocop_todo/rspec/receive_messages.yml | 1 - .rubocop_todo/rspec/return_from_stub.yml | 1 - .../rspec/verified_double_reference.yml | 1 - .rubocop_todo/rspec/verified_doubles.yml | 1 - .../boards/components/board_card_inner.vue | 4 +- app/assets/javascripts/issues/constants.js | 12 +- .../issues/show/components/description.vue | 6 +- .../components/task_list_item_actions.vue | 6 +- .../pipeline_wizard/templates/pages.yml | 65 ++--- .../blob_repository_actions_group.vue | 61 +---- .../header_area/permalink_dropdown_item.vue | 78 ++++++ .../search/results/components/blob_header.vue | 77 +++--- .../todos/components/todos_filter_bar.vue | 2 +- .../filtered_search_bar/constants.js | 4 +- .../list/components/issuable_item.vue | 8 +- .../components/create_work_item.vue | 8 +- .../notes/work_item_comment_form.vue | 4 +- .../notes/work_item_comment_locked.vue | 4 +- .../shared/work_item_relationship_popover.vue | 4 +- .../components/work_item_actions.vue | 24 +- .../work_item_attributes_wrapper.vue | 8 +- .../work_item_change_type_modal.vue | 8 +- .../work_item_description_rendered.vue | 4 +- .../components/work_item_detail.vue | 14 +- .../work_item_actions_split_button.vue | 8 +- .../work_item_children_wrapper.vue | 8 +- .../work_item_links/work_item_link_child.vue | 6 +- .../work_item_links/work_item_links_form.vue | 4 +- .../work_item_rolled_up_data.vue | 4 +- .../work_item_links/work_item_tree.vue | 4 +- .../components/work_item_parent.vue | 4 +- .../work_item_relationship_list.vue | 4 +- .../javascripts/work_items/constants.js | 108 ++++----- .../ci/runner_owner_project_resolver.rb | 25 +- app/models/ci/partition.rb | 1 + app/models/ci/runner.rb | 8 +- app/models/container_repository.rb | 2 +- ...ntainer_registry_authentication_service.rb | 5 +- app/services/ci/partitions/create_service.rb | 5 +- app/services/ci/partitions/sync_service.rb | 5 +- .../check_rule_existence_service.rb | 3 +- .../check_delete_rule_existence_service.rb | 4 +- .../check_rule_existence_service.rb | 3 +- .../cleanup_tags_base_service.rb | 2 +- .../gitlab/delete_tags_service.rb | 2 +- app/services/projects/destroy_service.rb | 2 +- db/docs/alert_management_alerts.yml | 2 +- db/docs/approval_merge_request_rules.yml | 2 +- ...merge_request_rules_approved_approvers.yml | 2 +- .../approval_merge_request_rules_users.yml | 2 +- db/docs/approvals.yml | 2 +- db/docs/authentication_events.yml | 2 +- db/docs/deployment_merge_requests.yml | 2 +- db/docs/deployments.yml | 2 +- db/docs/description_versions.yml | 2 +- db/docs/diff_note_positions.yml | 2 +- db/docs/dora_daily_metrics.yml | 2 +- db/docs/duo_workflows_checkpoints.yml | 6 +- db/docs/environments.yml | 2 +- db/docs/events.yml | 2 +- db/docs/gpg_signatures.yml | 2 +- ...ort_source_user_placeholder_references.yml | 2 +- ...ncident_management_timeline_event_tags.yml | 2 +- db/docs/issue_metrics.yml | 2 +- db/docs/issue_user_mentions.yml | 2 +- db/docs/issues.yml | 2 +- db/docs/keys.yml | 2 +- db/docs/label_links.yml | 2 +- db/docs/lfs_objects.yml | 2 +- db/docs/lfs_objects_projects.yml | 2 +- db/docs/members.yml | 2 +- db/docs/merge_request_assignees.yml | 2 +- db/docs/merge_request_cleanup_schedules.yml | 2 +- db/docs/merge_request_diff_commits.yml | 2 +- db/docs/merge_request_diff_files.yml | 2 +- db/docs/merge_request_diffs.yml | 2 +- db/docs/merge_request_metrics.yml | 2 +- db/docs/merge_request_reviewers.yml | 2 +- db/docs/merge_request_user_mentions.yml | 2 +- db/docs/merge_requests.yml | 2 +- .../merge_requests_compliance_violations.yml | 2 +- db/docs/namespaces.yml | 2 +- db/docs/note_diff_files.yml | 2 +- db/docs/notes.yml | 2 +- db/docs/oauth_access_grants.yml | 2 +- db/docs/oauth_access_tokens.yml | 2 +- db/docs/packages_dependency_links.yml | 2 +- db/docs/packages_package_file_build_infos.yml | 2 +- db/docs/packages_package_files.yml | 2 +- db/docs/packages_packages.yml | 2 +- db/docs/personal_access_tokens.yml | 2 +- db/docs/pm_package_version_licenses.yml | 2 +- db/docs/pm_package_versions.yml | 2 +- db/docs/project_authorizations.yml | 2 +- db/docs/project_daily_statistics.yml | 2 +- db/docs/project_features.yml | 2 +- db/docs/project_repositories.yml | 2 +- db/docs/project_statistics.yml | 2 +- db/docs/projects.yml | 2 +- db/docs/push_event_payloads.yml | 2 +- db/docs/releases.yml | 2 +- db/docs/resource_label_events.yml | 2 +- db/docs/resource_state_events.yml | 2 +- db/docs/routes.yml | 2 +- db/docs/sbom_occurrences.yml | 2 +- db/docs/security_scans.yml | 2 +- db/docs/sent_notifications.yml | 2 +- db/docs/system_note_metadata.yml | 2 +- db/docs/todos.yml | 2 +- db/docs/uploads.yml | 2 +- db/docs/uploads_9ba88c4165.yml | 2 +- db/docs/user_agent_details.yml | 2 +- db/docs/users.yml | 2 +- db/docs/vulnerabilities.yml | 2 +- db/docs/vulnerability_finding_links.yml | 2 +- .../vulnerability_historical_statistics.yml | 2 +- db/docs/vulnerability_identifiers.yml | 2 +- .../vulnerability_occurrence_identifiers.yml | 2 +- db/docs/vulnerability_occurrences.yml | 2 +- db/docs/vulnerability_reads.yml | 2 +- db/docs/vulnerability_state_transitions.yml | 2 +- db/docs/zoekt_repositories.yml | 2 +- ...dd_ancestors_column_to_sbom_occurrences.rb | 2 + ...le_final_path_to_packages_package_files.rb | 2 + ...dd_project_id_to_packages_package_files.rb | 2 + ...ability_column_to_sbom_occurances_table.rb | 2 + ...dd_null_project_id_index_to_zoekt_repos.rb | 2 + ...d_to_approval_merge_request_rules_users.rb | 2 + ...ules_on_config_id_and_id_and_updated_at.rb | 2 + ...roval_merge_request_rules_on_project_id.rb | 2 + ...rule_id_on_approval_merge_request_rules.rb | 2 + ...ules_fk_on_approval_merge_request_rules.rb | 2 + .../20240624053511_extend_uploads_index.rb | 2 + ...index_to_uploads_on_uploaded_by_user_id.rb | 2 + ...request_rules_on_mr_id_config_id_and_id.rb | 2 + ...ity_policy_approval_merge_request_rules.rb | 2 + ...ules_on_config_and_approval_policy_rule.rb | 2 + ...les_on_project_id_policy_rule_id_and_id.rb | 2 + ...ndex_id_and_state_on_zoekt_repositories.rb | 2 + ..._zoekt_repositories_index_on_size_bytes.rb | 2 + ...dex_for_p_ci_pipeline_trigger_id_and_id.rb | 26 ++ db/schema_migrations/20250331050258 | 1 + db/structure.sql | 6 + doc/api/graphql/reference/_index.md | 1 + doc/api/group_access_tokens.md | 4 +- doc/api/group_service_accounts.md | 43 ++++ doc/api/personal_access_tokens.md | 4 +- doc/api/project_access_tokens.md | 4 +- doc/development/documentation/metadata.md | 9 + .../styleguide/availability_details.md | 2 + .../merge_request_concepts/rate_limits.md | 2 + doc/development/migration_style_guide.md | 6 +- .../python_guide/create_project.md | 141 +++++++++++ .../python_guide/maintainership.md | 34 ++- doc/development/python_guide/styleguide.md | 28 ++- doc/downgrade_ee_to_ce/_index.md | 76 +++--- doc/install/docker/installation.md | 1 + .../advanced_search/elasticsearch.md | 7 + doc/subscriptions/subscription-add-ons.md | 2 +- doc/update/package/convert_to_ee.md | 5 + doc/update/upgrading_from_ce_to_ee.md | 3 + doc/user/group/saml_sso/group_sync.md | 226 ++++++++++-------- doc/user/okrs.md | 1 + doc/user/project/pages/_index.md | 7 +- .../project/pages/getting_started/pages_ui.md | 2 +- lib/banzai/filter/playable_link_filter.rb | 8 +- lib/container_registry/tag.rb | 2 +- lib/gitlab/application_rate_limiter.rb | 6 +- lib/gitlab/asciidoc.rb | 44 ++-- lib/gitlab/asciidoc/include_processor.rb | 2 +- .../auth/otp/strategies/forti_token_cloud.rb | 8 +- lib/gitlab/ci/config.rb | 6 +- lib/gitlab/ci/config/entry/processable.rb | 8 +- lib/gitlab/ci/config/yaml.rb | 11 +- .../migrations/observers/query_details.rb | 10 +- .../observers/transaction_duration.rb | 8 +- lib/gitlab/database/stat_activity.rb | 65 +++++ lib/gitlab/hook_data/release_builder.rb | 6 +- lib/gitlab/quick_actions/issuable_actions.rb | 12 +- locale/gitlab.pot | 14 +- package.json | 2 +- qa/qa/resource/snippet.rb | 8 +- rubocop/rubocop-migrations.yml | 50 ++-- spec/db/schema_spec.rb | 4 +- spec/factories/ci/runners.rb | 1 + .../user_filters_by_source_branch_spec.rb | 4 +- .../user_filters_by_target_branch_spec.rb | 4 +- .../components/task_list_item_actions_spec.js | 12 +- .../pipeline_wizard/templates/pages_spec.js | 27 +-- .../blob_repository_actions_group_spec.js | 74 +----- .../permalink_dropdown_item_spec.js | 110 +++++++++ .../results/components/blob_header_spec.js | 29 ++- .../components/create_work_item_spec.js | 12 +- .../work_item_link_child_contents_spec.js | 4 +- .../components/work_item_actions_spec.js | 42 ++-- .../work_item_change_type_modal_spec.js | 24 +- .../work_item_link_child_spec.js | 26 +- .../work_item_links_form_spec.js | 16 +- .../work_item_links/work_item_tree_spec.js | 18 +- spec/frontend/work_items/utils_spec.js | 38 +-- spec/lib/gitlab/ci/config/yaml_spec.rb | 174 ++++++++------ .../lib/gitlab/database/stat_activity_spec.rb | 85 +++++++ spec/models/ci/runner_spec.rb | 98 ++++---- .../api/ci/runner/jobs_request_post_spec.rb | 2 +- .../ci/partitions/create_service_spec.rb | 24 ++ .../ci/partitions/sync_service_spec.rb | 25 +- ...runner_associated_projects_service_spec.rb | 5 +- .../helpers/database/duplicate_indexes.yml | 7 + workhorse/cmd/gitlab-workhorse/gitaly_test.go | 6 + workhorse/internal/gitaly/diff.go | 4 + yarn.lock | 8 +- 215 files changed, 1664 insertions(+), 967 deletions(-) create mode 100644 app/assets/javascripts/repository/components/header_area/permalink_dropdown_item.vue create mode 100644 db/post_migrate/20250331050258_sync_index_for_p_ci_pipeline_trigger_id_and_id.rb create mode 100644 db/schema_migrations/20250331050258 create mode 100644 spec/frontend/repository/components/header_area/permalink_dropdown_item_spec.js diff --git a/.rubocop_todo/layout/first_hash_element_indentation.yml b/.rubocop_todo/layout/first_hash_element_indentation.yml index da66c9d8f5e..000e1a36573 100644 --- a/.rubocop_todo/layout/first_hash_element_indentation.yml +++ b/.rubocop_todo/layout/first_hash_element_indentation.yml @@ -2,26 +2,6 @@ # Cop supports --autocorrect. Layout/FirstHashElementIndentation: Exclude: - - 'ee/spec/services/projects/disable_deploy_key_service_spec.rb' - - 'ee/spec/services/projects/enable_deploy_key_service_spec.rb' - - 'ee/spec/services/projects/group_links/create_service_spec.rb' - - 'ee/spec/services/projects/group_links/destroy_service_spec.rb' - - 'ee/spec/services/projects/transfer_service_spec.rb' - - 'ee/spec/services/security/security_orchestration_policies/create_pipeline_service_spec.rb' - - 'ee/spec/services/security/token_revocation_service_spec.rb' - - 'ee/spec/services/security/track_scan_service_spec.rb' - - 'ee/spec/services/timebox_report_service_spec.rb' - - 'lib/banzai/filter/playable_link_filter.rb' - - 'lib/gitlab/application_rate_limiter.rb' - - 'lib/gitlab/asciidoc.rb' - - 'lib/gitlab/asciidoc/include_processor.rb' - - 'lib/gitlab/auth/otp/strategies/forti_token_cloud.rb' - - 'lib/gitlab/ci/config/entry/processable.rb' - - 'lib/gitlab/database/migrations/observers/query_details.rb' - - 'lib/gitlab/database/migrations/observers/transaction_duration.rb' - - 'lib/gitlab/hook_data/release_builder.rb' - - 'lib/gitlab/quick_actions/issuable_actions.rb' - - 'qa/qa/resource/snippet.rb' - 'spec/controllers/concerns/issuable_collections_spec.rb' - 'spec/controllers/groups/group_members_controller_spec.rb' - 'spec/controllers/import/manifest_controller_spec.rb' diff --git a/.rubocop_todo/layout/line_length.yml b/.rubocop_todo/layout/line_length.yml index 2ebe574a185..6e0c79ea10d 100644 --- a/.rubocop_todo/layout/line_length.yml +++ b/.rubocop_todo/layout/line_length.yml @@ -1817,7 +1817,6 @@ Layout/LineLength: - 'ee/spec/support/shared_examples/services/vulnerabilities/calls_vulnerability_statistics_utility_services_in_order.rb' - 'ee/spec/tasks/geo_rake_spec.rb' - 'ee/spec/validators/json_schema_validator_spec.rb' - - 'ee/spec/views/admin/application_settings/_elasticsearch_form.html.haml_spec.rb' - 'ee/spec/views/admin/application_settings/general.html.haml_spec.rb' - 'ee/spec/views/admin/dashboard/index.html.haml_spec.rb' - 'ee/spec/views/groups/security/discover/show.html.haml_spec.rb' diff --git a/.rubocop_todo/rspec/be_eq.yml b/.rubocop_todo/rspec/be_eq.yml index 966440825f2..c2635d0cea8 100644 --- a/.rubocop_todo/rspec/be_eq.yml +++ b/.rubocop_todo/rspec/be_eq.yml @@ -137,7 +137,6 @@ RSpec/BeEq: - 'ee/spec/lib/gitlab/database/desired_sharding_key_spec.rb' - 'ee/spec/lib/gitlab/duo/chat/react_executor_spec.rb' - 'ee/spec/lib/gitlab/duo_workflow/client_spec.rb' - - 'ee/spec/lib/gitlab/elastic/client_spec.rb' - 'ee/spec/lib/gitlab/elastic/document_reference_spec.rb' - 'ee/spec/lib/gitlab/elastic/elasticsearch_enabled_cache_spec.rb' - 'ee/spec/lib/gitlab/exclusive_lease_spec.rb' diff --git a/.rubocop_todo/rspec/context_wording.yml b/.rubocop_todo/rspec/context_wording.yml index 07f31532e7b..3558143b412 100644 --- a/.rubocop_todo/rspec/context_wording.yml +++ b/.rubocop_todo/rspec/context_wording.yml @@ -775,7 +775,6 @@ RSpec/ContextWording: - 'ee/spec/support/shared_examples/services/search_service_shared_examples.rb' - 'ee/spec/support/shared_examples/services/update_issuable_health_status_shared_examples.rb' - 'ee/spec/tasks/gitlab/license_rake_spec.rb' - - 'ee/spec/views/admin/application_settings/_elasticsearch_form.html.haml_spec.rb' - 'ee/spec/views/groups/edit.html.haml_spec.rb' - 'ee/spec/views/layouts/header/_read_only_banner.html.haml_spec.rb' - 'ee/spec/views/profiles/preferences/show.html.haml_spec.rb' diff --git a/.rubocop_todo/rspec/receive_messages.yml b/.rubocop_todo/rspec/receive_messages.yml index deb0d8ec523..9e8a086a831 100644 --- a/.rubocop_todo/rspec/receive_messages.yml +++ b/.rubocop_todo/rspec/receive_messages.yml @@ -174,7 +174,6 @@ RSpec/ReceiveMessages: - 'ee/spec/support/shared_examples/models/concerns/verifiable_replicator_shared_examples.rb' - 'ee/spec/support/shared_examples/services/audit_events/streaming/headers_operations_shared_examples.rb' - 'ee/spec/support/shared_examples/services/base_sync_service_shared_examples.rb' - - 'ee/spec/views/admin/application_settings/_elasticsearch_form.html.haml_spec.rb' - 'ee/spec/views/admin/dashboard/index.html.haml_spec.rb' - 'ee/spec/views/devise/registrations/new.html.haml_spec.rb' - 'ee/spec/views/devise/sessions/new.html.haml_spec.rb' diff --git a/.rubocop_todo/rspec/return_from_stub.yml b/.rubocop_todo/rspec/return_from_stub.yml index 2b92431210c..db93f48900f 100644 --- a/.rubocop_todo/rspec/return_from_stub.yml +++ b/.rubocop_todo/rspec/return_from_stub.yml @@ -29,7 +29,6 @@ RSpec/ReturnFromStub: - 'ee/spec/support/shared_examples/services/base_sync_service_shared_examples.rb' - 'ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb' - 'ee/spec/support/shared_examples/services/merge_merge_requests_shared_examples.rb' - - 'ee/spec/views/admin/application_settings/_elasticsearch_form.html.haml_spec.rb' - 'ee/spec/views/admin/application_settings/_git_abuse_rate_limit.html.haml_spec.rb' - 'ee/spec/views/admin/groups/_form.html.haml_spec.rb' - 'ee/spec/views/shared/_mirror_update_button.html.haml_spec.rb' diff --git a/.rubocop_todo/rspec/verified_double_reference.yml b/.rubocop_todo/rspec/verified_double_reference.yml index 68d04368431..9121e907448 100644 --- a/.rubocop_todo/rspec/verified_double_reference.yml +++ b/.rubocop_todo/rspec/verified_double_reference.yml @@ -65,7 +65,6 @@ RSpec/VerifiedDoubleReference: - 'ee/spec/support/shared_examples/lib/ai/context/dependencies/config_files/config_file_shared_examples.rb' - 'ee/spec/support/shared_examples/lib/gitlab/llm/anthropic/client_shared_examples.rb' - 'ee/spec/tasks/gitlab/license_rake_spec.rb' - - 'ee/spec/views/admin/application_settings/_elasticsearch_form.html.haml_spec.rb' - 'ee/spec/views/groups/settings/_enforce_ssh_certificates.html.haml_spec.rb' - 'ee/spec/workers/analytics/devops_adoption/create_snapshot_worker_spec.rb' - 'ee/spec/workers/analytics/value_stream_dashboard/count_worker_spec.rb' diff --git a/.rubocop_todo/rspec/verified_doubles.yml b/.rubocop_todo/rspec/verified_doubles.yml index edd572060b7..26a3a5cb550 100644 --- a/.rubocop_todo/rspec/verified_doubles.yml +++ b/.rubocop_todo/rspec/verified_doubles.yml @@ -52,7 +52,6 @@ RSpec/VerifiedDoubles: - 'ee/spec/lib/gitlab/code_owners/groups_loader_spec.rb' - 'ee/spec/lib/gitlab/code_owners/users_loader_spec.rb' - 'ee/spec/lib/gitlab/custom_file_templates_spec.rb' - - 'ee/spec/lib/gitlab/elastic/client_spec.rb' - 'ee/spec/lib/gitlab/expiring_subscription_message_spec.rb' - 'ee/spec/lib/gitlab/geo/git_ssh_proxy_spec.rb' - 'ee/spec/lib/gitlab/geo/log_cursor/lease_spec.rb' diff --git a/app/assets/javascripts/boards/components/board_card_inner.vue b/app/assets/javascripts/boards/components/board_card_inner.vue index bd25be8d48f..2cd24137259 100644 --- a/app/assets/javascripts/boards/components/board_card_inner.vue +++ b/app/assets/javascripts/boards/components/board_card_inner.vue @@ -13,7 +13,7 @@ import IssueMilestone from '~/issuable/components/issue_milestone.vue'; import { LINKED_CATEGORIES_MAP, STATE_CLOSED, - WORK_ITEM_TYPE_VALUE_EPIC, + WORK_ITEM_TYPE_NAME_EPIC, } from '~/work_items/constants'; import WorkItemRelationshipIcons from '~/work_items/components/shared/work_item_relationship_icons.vue'; import { ListType } from '../constants'; @@ -180,7 +180,7 @@ export default { return !this.disabled && this.list.listType !== ListType.closed; }, workItemType() { - return this.isEpicBoard ? WORK_ITEM_TYPE_VALUE_EPIC : this.item.type; + return this.isEpicBoard ? WORK_ITEM_TYPE_NAME_EPIC : this.item.type; }, workItemDrawerEnabled() { if (gon.current_user_use_work_items_view) return true; diff --git a/app/assets/javascripts/issues/constants.js b/app/assets/javascripts/issues/constants.js index 4f5086fcd76..e9a94fd4ec8 100644 --- a/app/assets/javascripts/issues/constants.js +++ b/app/assets/javascripts/issues/constants.js @@ -1,8 +1,8 @@ import { __ } from '~/locale'; import { - WORK_ITEM_TYPE_VALUE_KEY_RESULT, - WORK_ITEM_TYPE_VALUE_OBJECTIVE, - WORK_ITEM_TYPE_VALUE_TASK, + WORK_ITEM_TYPE_NAME_KEY_RESULT, + WORK_ITEM_TYPE_NAME_OBJECTIVE, + WORK_ITEM_TYPE_NAME_TASK, } from '~/work_items/constants'; export const STATUS_ALL = 'all'; @@ -47,9 +47,9 @@ export const issuableTypeText = { [TYPE_ALERT]: __('alert'), [TYPE_INCIDENT]: __('incident'), [TYPE_TEST_CASE]: __('test case'), - [WORK_ITEM_TYPE_VALUE_KEY_RESULT]: __('key result'), - [WORK_ITEM_TYPE_VALUE_OBJECTIVE]: __('objective'), - [WORK_ITEM_TYPE_VALUE_TASK]: __('task'), + [WORK_ITEM_TYPE_NAME_KEY_RESULT]: __('key result'), + [WORK_ITEM_TYPE_NAME_OBJECTIVE]: __('objective'), + [WORK_ITEM_TYPE_NAME_TASK]: __('task'), }; const SHIFT_KEY = 16; diff --git a/app/assets/javascripts/issues/show/components/description.vue b/app/assets/javascripts/issues/show/components/description.vue index 2f653800265..b034a7a2708 100644 --- a/app/assets/javascripts/issues/show/components/description.vue +++ b/app/assets/javascripts/issues/show/components/description.vue @@ -20,7 +20,7 @@ import { sprintfWorkItem, I18N_WORK_ITEM_ERROR_CREATING, I18N_WORK_ITEM_ERROR_DELETING, - WORK_ITEM_TYPE_VALUE_TASK, + WORK_ITEM_TYPE_NAME_TASK, } from '~/work_items/constants'; import { renderGFM } from '~/behaviors/markdown/render_gfm'; import eventHub from '../event_hub'; @@ -121,7 +121,7 @@ export default { }, computed: { taskWorkItemTypeId() { - return this.workItemTypes.find((type) => type.name === WORK_ITEM_TYPE_VALUE_TASK)?.id; + return this.workItemTypes.find((type) => type.name === WORK_ITEM_TYPE_NAME_TASK)?.id; }, issueGid() { return this.issueId ? convertToGraphQLId(TYPENAME_WORK_ITEM, this.issueId) : null; @@ -382,7 +382,7 @@ export default { }, showAlert(message, error) { createAlert({ - message: sprintfWorkItem(message, WORK_ITEM_TYPE_VALUE_TASK), + message: sprintfWorkItem(message, WORK_ITEM_TYPE_NAME_TASK), error, captureError: true, }); diff --git a/app/assets/javascripts/issues/show/components/task_list_item_actions.vue b/app/assets/javascripts/issues/show/components/task_list_item_actions.vue index 9362c87a95c..34c99db435a 100644 --- a/app/assets/javascripts/issues/show/components/task_list_item_actions.vue +++ b/app/assets/javascripts/issues/show/components/task_list_item_actions.vue @@ -1,14 +1,14 @@ @@ -109,22 +74,6 @@ export default { class="js-blob-blame-link sm:gl-hidden" data-testid="blame-dropdown-item" /> - - - + diff --git a/app/assets/javascripts/repository/components/header_area/permalink_dropdown_item.vue b/app/assets/javascripts/repository/components/header_area/permalink_dropdown_item.vue new file mode 100644 index 00000000000..b692c37138b --- /dev/null +++ b/app/assets/javascripts/repository/components/header_area/permalink_dropdown_item.vue @@ -0,0 +1,78 @@ + + + diff --git a/app/assets/javascripts/search/results/components/blob_header.vue b/app/assets/javascripts/search/results/components/blob_header.vue index 1ad69ae9a11..3698703ea01 100644 --- a/app/assets/javascripts/search/results/components/blob_header.vue +++ b/app/assets/javascripts/search/results/components/blob_header.vue @@ -82,6 +82,9 @@ export default { codeTheme() { return gon?.user_color_scheme || CODE_THEME_DEFAULT; }, + showSecondLine() { + return !this.query.project_id && this.projectPath; + }, }, methods: { trackClipboardClick() { @@ -95,40 +98,46 @@ export default { }; diff --git a/app/assets/javascripts/todos/components/todos_filter_bar.vue b/app/assets/javascripts/todos/components/todos_filter_bar.vue index 9cf9dba4545..bdbcbe9ea47 100644 --- a/app/assets/javascripts/todos/components/todos_filter_bar.vue +++ b/app/assets/javascripts/todos/components/todos_filter_bar.vue @@ -63,7 +63,7 @@ export const TARGET_TYPES = [ // eslint-disable-next-line @gitlab/require-i18n-strings id: 'Issue', value: TODO_TARGET_TYPE_ISSUE, - title: s__('Todos|Issue or Epic'), + title: s__('Todos|Issue'), }, { id: 'MergeRequest', diff --git a/app/assets/javascripts/vue_shared/components/filtered_search_bar/constants.js b/app/assets/javascripts/vue_shared/components/filtered_search_bar/constants.js index 97d21ce7371..416586304a1 100644 --- a/app/assets/javascripts/vue_shared/components/filtered_search_bar/constants.js +++ b/app/assets/javascripts/vue_shared/components/filtered_search_bar/constants.js @@ -79,11 +79,11 @@ export const TOKEN_TITLE_MY_REACTION = __('My reaction'); export const TOKEN_TITLE_ORGANIZATION = s__('Crm|Organization'); export const TOKEN_TITLE_RELEASE = __('Release'); export const TOKEN_TITLE_REVIEWER = s__('SearchToken|Reviewer'); -export const TOKEN_TITLE_SOURCE_BRANCH = __('Source Branch'); +export const TOKEN_TITLE_SOURCE_BRANCH = __('Source branch'); export const TOKEN_TITLE_STATUS = __('Status'); export const TOKEN_TITLE_JOBS_RUNNER_TYPE = s__('Job|Runner type'); export const TOKEN_TITLE_JOBS_SOURCE = s__('Job|Source'); -export const TOKEN_TITLE_TARGET_BRANCH = __('Target Branch'); +export const TOKEN_TITLE_TARGET_BRANCH = __('Target branch'); export const TOKEN_TITLE_TYPE = __('Type'); export const TOKEN_TITLE_UPDATED = __('Updated'); export const TOKEN_TITLE_VERSION = __('Version'); diff --git a/app/assets/javascripts/vue_shared/issuable/list/components/issuable_item.vue b/app/assets/javascripts/vue_shared/issuable/list/components/issuable_item.vue index c34c48fa975..17545aa8a9c 100644 --- a/app/assets/javascripts/vue_shared/issuable/list/components/issuable_item.vue +++ b/app/assets/javascripts/vue_shared/issuable/list/components/issuable_item.vue @@ -23,8 +23,8 @@ import { STATE_OPEN, STATE_CLOSED, LINKED_CATEGORIES_MAP, - WORK_ITEM_TYPE_VALUE_INCIDENT, - WORK_ITEM_TYPE_VALUE_ISSUE, + WORK_ITEM_TYPE_NAME_INCIDENT, + WORK_ITEM_TYPE_NAME_ISSUE, WORK_ITEM_TYPE_ENUM_INCIDENT, WORK_ITEM_TYPE_ENUM_ISSUE, } from '~/work_items/constants'; @@ -122,14 +122,14 @@ export default { }, isIncident() { return ( - this.issuable.workItemType?.name === WORK_ITEM_TYPE_VALUE_INCIDENT || + this.issuable.workItemType?.name === WORK_ITEM_TYPE_NAME_INCIDENT || this.issuable?.type === WORK_ITEM_TYPE_ENUM_INCIDENT ); }, isServiceDeskIssue() { return ( (this.issuable?.type === WORK_ITEM_TYPE_ENUM_ISSUE || - this.issuable.workItemType?.name === WORK_ITEM_TYPE_VALUE_ISSUE) && + this.issuable.workItemType?.name === WORK_ITEM_TYPE_NAME_ISSUE) && this.issuable?.author?.username === SUPPORT_BOT_USERNAME ); }, diff --git a/app/assets/javascripts/work_items/components/create_work_item.vue b/app/assets/javascripts/work_items/components/create_work_item.vue index 281baf811ef..d7dcb73c80b 100644 --- a/app/assets/javascripts/work_items/components/create_work_item.vue +++ b/app/assets/javascripts/work_items/components/create_work_item.vue @@ -54,8 +54,8 @@ import { WORK_ITEM_TYPE_NAME_LOWERCASE_MAP, WORK_ITEM_TYPE_NAME_MAP, WORK_ITEM_TYPE_VALUE_MAP, - WORK_ITEM_TYPE_VALUE_INCIDENT, - WORK_ITEM_TYPE_VALUE_EPIC, + WORK_ITEM_TYPE_NAME_INCIDENT, + WORK_ITEM_TYPE_NAME_EPIC, } from '../constants'; import createWorkItemMutation from '../graphql/create_work_item.mutation.graphql'; import namespaceWorkItemTypesQuery from '../graphql/namespace_work_item_types.query.graphql'; @@ -342,7 +342,7 @@ export default { // detail view instead. Since the legacy view doesn't support setting a parent // we need to hide this attribute here until the migration has been finished. // https://gitlab.com/gitlab-org/gitlab/-/issues/502823 - if (this.selectedWorkItemTypeName === WORK_ITEM_TYPE_VALUE_INCIDENT) { + if (this.selectedWorkItemTypeName === WORK_ITEM_TYPE_NAME_INCIDENT) { return false; } @@ -504,7 +504,7 @@ export default { ); }, shouldDatesRollup() { - return this.selectedWorkItemTypeName === WORK_ITEM_TYPE_VALUE_EPIC; + return this.selectedWorkItemTypeName === WORK_ITEM_TYPE_NAME_EPIC; }, }, watch: { diff --git a/app/assets/javascripts/work_items/components/notes/work_item_comment_form.vue b/app/assets/javascripts/work_items/components/notes/work_item_comment_form.vue index cf1c1c707c2..8e2f30999de 100644 --- a/app/assets/javascripts/work_items/components/notes/work_item_comment_form.vue +++ b/app/assets/javascripts/work_items/components/notes/work_item_comment_form.vue @@ -5,7 +5,7 @@ import { s__, __ } from '~/locale'; import { capitalizeFirstCharacter } from '~/lib/utils/text_utility'; import { STATE_OPEN, - WORK_ITEM_TYPE_VALUE_TASK, + WORK_ITEM_TYPE_NAME_TASK, WIDGET_TYPE_EMAIL_PARTICIPANTS, i18n, } from '~/work_items/constants'; @@ -206,7 +206,7 @@ export default { return this.isNoteInternal ? this.$options.i18n.addInternalNote : this.commentButtonText; }, docsLinks() { - return this.workItemType === WORK_ITEM_TYPE_VALUE_TASK + return this.workItemType === WORK_ITEM_TYPE_NAME_TASK ? { confidential_issues_docs_path: DOCS_WORK_ITEM_CONFIDENTIAL_TASKS_PATH, locked_discussion_docs_path: DOCS_WORK_ITEM_LOCKED_TASKS_PATH, diff --git a/app/assets/javascripts/work_items/components/notes/work_item_comment_locked.vue b/app/assets/javascripts/work_items/components/notes/work_item_comment_locked.vue index f972e8da506..c348f348c80 100644 --- a/app/assets/javascripts/work_items/components/notes/work_item_comment_locked.vue +++ b/app/assets/javascripts/work_items/components/notes/work_item_comment_locked.vue @@ -3,7 +3,7 @@ import { GlLink, GlIcon } from '@gitlab/ui'; import { __, sprintf } from '~/locale'; import { helpPagePath } from '~/helpers/help_page_helper'; import { issuableTypeText } from '~/issues/constants'; -import { WORK_ITEM_TYPE_VALUE_TASK } from '~/work_items/constants'; +import { WORK_ITEM_TYPE_NAME_TASK } from '~/work_items/constants'; export default { components: { @@ -14,7 +14,7 @@ export default { workItemType: { required: false, type: String, - default: WORK_ITEM_TYPE_VALUE_TASK, + default: WORK_ITEM_TYPE_NAME_TASK, }, isProjectArchived: { required: false, diff --git a/app/assets/javascripts/work_items/components/shared/work_item_relationship_popover.vue b/app/assets/javascripts/work_items/components/shared/work_item_relationship_popover.vue index 574b6e9b88a..c5499853c9d 100644 --- a/app/assets/javascripts/work_items/components/shared/work_item_relationship_popover.vue +++ b/app/assets/javascripts/work_items/components/shared/work_item_relationship_popover.vue @@ -1,7 +1,7 @@