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 @@