diff --git a/.rubocop_todo/layout/class_structure.yml b/.rubocop_todo/layout/class_structure.yml index 02b86de76f4..028293df27f 100644 --- a/.rubocop_todo/layout/class_structure.yml +++ b/.rubocop_todo/layout/class_structure.yml @@ -213,7 +213,6 @@ Layout/ClassStructure: - 'ee/app/services/package_metadata/ingestion/advisory/affected_package_ingestion_task.rb' - 'ee/app/services/package_metadata/ingestion/compressed_package/license_ingestion_task.rb' - 'ee/app/services/package_metadata/ingestion/compressed_package/package_ingestion_task.rb' - - 'ee/app/services/search/zoekt/task_serializer_service.rb' - 'ee/app/services/security/ingestion/tasks/update_vulnerability_uuids.rb' - 'ee/app/services/security/security_orchestration_policies/on_demand_scan_pipeline_configuration_service.rb' - 'ee/app/services/security/training_providers/base_url_service.rb' diff --git a/.rubocop_todo/layout/line_break_after_final_mixin.yml b/.rubocop_todo/layout/line_break_after_final_mixin.yml index 5d214c9845c..2bc4acd4fef 100644 --- a/.rubocop_todo/layout/line_break_after_final_mixin.yml +++ b/.rubocop_todo/layout/line_break_after_final_mixin.yml @@ -13,7 +13,6 @@ Layout/LineBreakAfterFinalMixin: - 'app/workers/concurrency_limit/resume_worker.rb' - 'app/workers/expire_build_artifacts_worker.rb' - 'app/workers/gitlab/export/prune_project_export_jobs_worker.rb' - - 'app/workers/import_export_project_cleanup_worker.rb' - 'app/workers/members/expiring_worker.rb' - 'app/workers/metrics/global_metrics_update_worker.rb' - 'app/workers/namespaces/process_outdated_namespace_descendants_cron_worker.rb' diff --git a/.rubocop_todo/layout/line_length.yml b/.rubocop_todo/layout/line_length.yml index 60e60e868ad..d839f73296f 100644 --- a/.rubocop_todo/layout/line_length.yml +++ b/.rubocop_todo/layout/line_length.yml @@ -2665,7 +2665,6 @@ Layout/LineLength: - 'spec/features/projects_spec.rb' - 'spec/features/search/user_searches_for_comments_spec.rb' - 'spec/features/search/user_searches_for_merge_requests_spec.rb' - - 'spec/features/search/user_uses_header_search_field_spec.rb' - 'spec/features/security/project/internal_access_spec.rb' - 'spec/features/security/project/public_access_spec.rb' - 'spec/features/security/project/snippet/internal_access_spec.rb' diff --git a/.rubocop_todo/rspec/avoid_conditional_statements.yml b/.rubocop_todo/rspec/avoid_conditional_statements.yml index fc589a52ac5..3d68934fb88 100644 --- a/.rubocop_todo/rspec/avoid_conditional_statements.yml +++ b/.rubocop_todo/rspec/avoid_conditional_statements.yml @@ -63,6 +63,5 @@ RSpec/AvoidConditionalStatements: - 'spec/features/projects/settings/user_transfers_a_project_spec.rb' - 'spec/features/projects/show/user_sees_git_instructions_spec.rb' - 'spec/features/projects_spec.rb' - - 'spec/features/search/user_uses_header_search_field_spec.rb' - 'spec/features/usage_stats_consent_spec.rb' - 'spec/features/users/login_spec.rb' diff --git a/.rubocop_todo/rspec/before_all_role_assignment.yml b/.rubocop_todo/rspec/before_all_role_assignment.yml index 0c84b90e627..7d912b4020b 100644 --- a/.rubocop_todo/rspec/before_all_role_assignment.yml +++ b/.rubocop_todo/rspec/before_all_role_assignment.yml @@ -800,7 +800,6 @@ RSpec/BeforeAllRoleAssignment: - 'spec/features/search/user_searches_for_milestones_spec.rb' - 'spec/features/search/user_searches_for_users_spec.rb' - 'spec/features/search/user_searches_for_wiki_pages_spec.rb' - - 'spec/features/search/user_uses_header_search_field_spec.rb' - 'spec/features/user_can_display_performance_bar_spec.rb' - 'spec/features/user_sorts_things_spec.rb' - 'spec/features/work_items/work_item_children_spec.rb' diff --git a/Gemfile.checksum b/Gemfile.checksum index f39ebe39db8..116d60a8d0f 100644 --- a/Gemfile.checksum +++ b/Gemfile.checksum @@ -35,7 +35,7 @@ {"name":"awrence","version":"1.2.1","platform":"ruby","checksum":"dd1d214c12a91f449d1ef81d7ee3babc2816944e450752e7522c65521872483e"}, {"name":"aws-eventstream","version":"1.3.0","platform":"ruby","checksum":"f1434cc03ab2248756eb02cfa45e900e59a061d7fbdc4a9fd82a5dd23d796d3f"}, {"name":"aws-partitions","version":"1.1001.0","platform":"ruby","checksum":"2979f3317d3a757508d35d0f322839f422cbc8459589b7cc4a3889d0085a8307"}, -{"name":"aws-sdk-cloudformation","version":"1.41.0","platform":"ruby","checksum":"31e47539719734413671edf9b1a31f8673fbf9688549f50c41affabbcb1c6b26"}, +{"name":"aws-sdk-cloudformation","version":"1.131.0","platform":"ruby","checksum":"b76aff1fa4ce825dfb21d88b105bde5037b12f5596ce9be78778d2f035e873ae"}, {"name":"aws-sdk-core","version":"3.223.0","platform":"ruby","checksum":"d8c309116787cd24fb32095da4fa94d1f76e26baea705eabb66aa4585e8d8c77"}, {"name":"aws-sdk-kms","version":"1.76.0","platform":"ruby","checksum":"e7f75013cba9ba357144f66bbc600631c192e2cda9dd572794be239654e2cf49"}, {"name":"aws-sdk-s3","version":"1.185.0","platform":"ruby","checksum":"7e5ebb091b2a5dafe561786e0b7bfee7a2ae5959a02f302572a09e6b7178a5c7"}, diff --git a/Gemfile.lock b/Gemfile.lock index 114ed753996..b8d455bceb4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -357,9 +357,9 @@ GEM awrence (1.2.1) aws-eventstream (1.3.0) aws-partitions (1.1001.0) - aws-sdk-cloudformation (1.41.0) - aws-sdk-core (~> 3, >= 3.99.0) - aws-sigv4 (~> 1.1) + aws-sdk-cloudformation (1.131.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sigv4 (~> 1.5) aws-sdk-core (3.223.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) diff --git a/Gemfile.next.checksum b/Gemfile.next.checksum index f39ebe39db8..116d60a8d0f 100644 --- a/Gemfile.next.checksum +++ b/Gemfile.next.checksum @@ -35,7 +35,7 @@ {"name":"awrence","version":"1.2.1","platform":"ruby","checksum":"dd1d214c12a91f449d1ef81d7ee3babc2816944e450752e7522c65521872483e"}, {"name":"aws-eventstream","version":"1.3.0","platform":"ruby","checksum":"f1434cc03ab2248756eb02cfa45e900e59a061d7fbdc4a9fd82a5dd23d796d3f"}, {"name":"aws-partitions","version":"1.1001.0","platform":"ruby","checksum":"2979f3317d3a757508d35d0f322839f422cbc8459589b7cc4a3889d0085a8307"}, -{"name":"aws-sdk-cloudformation","version":"1.41.0","platform":"ruby","checksum":"31e47539719734413671edf9b1a31f8673fbf9688549f50c41affabbcb1c6b26"}, +{"name":"aws-sdk-cloudformation","version":"1.131.0","platform":"ruby","checksum":"b76aff1fa4ce825dfb21d88b105bde5037b12f5596ce9be78778d2f035e873ae"}, {"name":"aws-sdk-core","version":"3.223.0","platform":"ruby","checksum":"d8c309116787cd24fb32095da4fa94d1f76e26baea705eabb66aa4585e8d8c77"}, {"name":"aws-sdk-kms","version":"1.76.0","platform":"ruby","checksum":"e7f75013cba9ba357144f66bbc600631c192e2cda9dd572794be239654e2cf49"}, {"name":"aws-sdk-s3","version":"1.185.0","platform":"ruby","checksum":"7e5ebb091b2a5dafe561786e0b7bfee7a2ae5959a02f302572a09e6b7178a5c7"}, diff --git a/Gemfile.next.lock b/Gemfile.next.lock index 114ed753996..b8d455bceb4 100644 --- a/Gemfile.next.lock +++ b/Gemfile.next.lock @@ -357,9 +357,9 @@ GEM awrence (1.2.1) aws-eventstream (1.3.0) aws-partitions (1.1001.0) - aws-sdk-cloudformation (1.41.0) - aws-sdk-core (~> 3, >= 3.99.0) - aws-sigv4 (~> 1.1) + aws-sdk-cloudformation (1.131.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sigv4 (~> 1.5) aws-sdk-core (3.223.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) diff --git a/app/assets/javascripts/behaviors/markdown/render_glql.js b/app/assets/javascripts/behaviors/markdown/render_glql.js index e5ed934e7db..0379a97ee65 100644 --- a/app/assets/javascripts/behaviors/markdown/render_glql.js +++ b/app/assets/javascripts/behaviors/markdown/render_glql.js @@ -1,4 +1,5 @@ -export const renderGlql = async (els) => { +export const renderGlql = async (els = []) => { + if (els.length === 0) return; const { default: render } = await import(/* webpackChunkName: 'glql' */ '~/glql'); - return render(els); + render(els); }; diff --git a/app/assets/javascripts/repository/components/header_area/blob_repository_actions_group.vue b/app/assets/javascripts/repository/components/header_area/blob_repository_actions_group.vue index 4a2c773110d..220623e355f 100644 --- a/app/assets/javascripts/repository/components/header_area/blob_repository_actions_group.vue +++ b/app/assets/javascripts/repository/components/header_area/blob_repository_actions_group.vue @@ -74,6 +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 index 11f973d4c66..9dbf5fac7be 100644 --- a/app/assets/javascripts/repository/components/header_area/permalink_dropdown_item.vue +++ b/app/assets/javascripts/repository/components/header_area/permalink_dropdown_item.vue @@ -2,6 +2,7 @@ import Vue from 'vue'; import { GlDisclosureDropdownItem, GlToast } from '@gitlab/ui'; import { __ } from '~/locale'; +import { InternalEvents } from '~/tracking'; import { keysFor, PROJECT_FILES_GO_TO_PERMALINK } from '~/behaviors/shortcuts/keybindings'; import { Mousetrap } from '~/lib/mousetrap'; import { shouldDisableShortcuts } from '~/behaviors/shortcuts/shortcuts_toggle'; @@ -15,11 +16,17 @@ export default { components: { GlDisclosureDropdownItem, }, + mixins: [InternalEvents.mixin()], props: { permalinkPath: { type: String, required: true, }, + source: { + type: String, + required: true, + validator: (value) => ['blob', 'repository'].includes(value), + }, }, data() { return { @@ -57,10 +64,14 @@ export default { triggerCopyPermalink() { const buttonElement = this.$refs.copyPermalinkButton.$el; buttonElement.click(); - this.onCopyPermalink(); + this.onCopyPermalink('shortcut'); }, - onCopyPermalink() { + onCopyPermalink(method) { this.$toast.show(__('Permalink copied to clipboard.')); + this.trackEvent('click_permalink_button_in_overflow_menu', { + label: method, + property: this.source, + }); }, }, }; @@ -73,7 +84,7 @@ export default { data-testid="permalink" :data-clipboard-text="absolutePermalinkPath" data-clipboard-handle-tooltip="false" - @action="onCopyPermalink" + @action="onCopyPermalink('click')" > diff --git a/app/assets/javascripts/vue_shared/components/markdown/markdown_editor.vue b/app/assets/javascripts/vue_shared/components/markdown/markdown_editor.vue index 0869c3ed927..6bee3ccd437 100644 --- a/app/assets/javascripts/vue_shared/components/markdown/markdown_editor.vue +++ b/app/assets/javascripts/vue_shared/components/markdown/markdown_editor.vue @@ -367,7 +367,7 @@ export default { };