From 32adca98b38b3a5e8780cf1e8319bad1b11af1fb Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 16 Jul 2025 21:07:42 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .rubocop_todo/gitlab/namespaced_class.yml | 1 - .../rspec/factory_bot/avoid_create.yml | 1 - .rubocop_todo/rspec/verified_doubles.yml | 1 - .../glql/components/common/actions.vue | 11 ++---- .../glql/components/common/facade.vue | 35 +++++++++++------ .../common/{footer.vue => pagination.vue} | 2 +- .../javascripts/glql/utils/copy_as_gfm.js | 1 - app/models/ci/build.rb | 6 --- app/models/ci/build_metadata.rb | 2 - app/models/ci/pipeline.rb | 6 +-- app/models/concerns/ci/metadatable.rb | 17 ++------- app/serializers/merge_request_serializer.rb | 2 +- .../merge_request_sidebar_basic_entity.rb | 15 -------- .../ci/find_exposed_artifacts_service.rb | 20 +++------- ...ing_has_exposed_artifacts_metadata_col.yml | 13 ------- .../security_inventory/_index.md | 36 +++++++++--------- .../application_security/triage/_index.md | 5 ++- doc/user/gitlab_com/_index.md | 6 ++- doc/user/glql/_index.md | 4 +- locale/gitlab.pot | 12 ++++-- .../glql/components/common/actions_spec.js | 20 ++-------- .../glql/components/common/facade_spec.js | 6 +-- spec/models/ci/build_spec.rb | 38 ------------------- ...merge_request_sidebar_basic_entity_spec.rb | 22 ----------- spec/support/rspec_order_todo.yml | 1 - 25 files changed, 83 insertions(+), 200 deletions(-) rename app/assets/javascripts/glql/components/common/{footer.vue => pagination.vue} (98%) delete mode 100644 app/serializers/merge_request_sidebar_basic_entity.rb delete mode 100644 config/feature_flags/gitlab_com_derisk/ci_stop_using_has_exposed_artifacts_metadata_col.yml delete mode 100644 spec/serializers/merge_request_sidebar_basic_entity_spec.rb diff --git a/.rubocop_todo/gitlab/namespaced_class.yml b/.rubocop_todo/gitlab/namespaced_class.yml index cd985ec2b97..d9c7069b8f1 100644 --- a/.rubocop_todo/gitlab/namespaced_class.yml +++ b/.rubocop_todo/gitlab/namespaced_class.yml @@ -548,7 +548,6 @@ Gitlab/NamespacedClass: - 'app/serializers/merge_request_poll_cached_widget_entity.rb' - 'app/serializers/merge_request_poll_widget_entity.rb' - 'app/serializers/merge_request_serializer.rb' - - 'app/serializers/merge_request_sidebar_basic_entity.rb' - 'app/serializers/merge_request_sidebar_extras_entity.rb' - 'app/serializers/merge_request_user_entity.rb' - 'app/serializers/merge_request_widget_commit_entity.rb' diff --git a/.rubocop_todo/rspec/factory_bot/avoid_create.yml b/.rubocop_todo/rspec/factory_bot/avoid_create.yml index 94795161a8b..5777db87354 100644 --- a/.rubocop_todo/rspec/factory_bot/avoid_create.yml +++ b/.rubocop_todo/rspec/factory_bot/avoid_create.yml @@ -481,7 +481,6 @@ RSpec/FactoryBot/AvoidCreate: - 'spec/serializers/merge_request_poll_cached_widget_entity_spec.rb' - 'spec/serializers/merge_request_poll_widget_entity_spec.rb' - 'spec/serializers/merge_request_serializer_spec.rb' - - 'spec/serializers/merge_request_sidebar_basic_entity_spec.rb' - 'spec/serializers/merge_request_sidebar_extras_entity_spec.rb' - 'spec/serializers/merge_request_user_entity_spec.rb' - 'spec/serializers/merge_request_widget_commit_entity_spec.rb' diff --git a/.rubocop_todo/rspec/verified_doubles.yml b/.rubocop_todo/rspec/verified_doubles.yml index a8002f14ec8..66b2ac2bd3a 100644 --- a/.rubocop_todo/rspec/verified_doubles.yml +++ b/.rubocop_todo/rspec/verified_doubles.yml @@ -728,7 +728,6 @@ RSpec/VerifiedDoubles: - 'spec/serializers/linked_project_issue_entity_spec.rb' - 'spec/serializers/merge_request_poll_cached_widget_entity_spec.rb' - 'spec/serializers/merge_request_poll_widget_entity_spec.rb' - - 'spec/serializers/merge_request_sidebar_basic_entity_spec.rb' - 'spec/serializers/merge_request_sidebar_extras_entity_spec.rb' - 'spec/serializers/merge_request_widget_commit_entity_spec.rb' - 'spec/serializers/merge_request_widget_entity_spec.rb' diff --git a/app/assets/javascripts/glql/components/common/actions.vue b/app/assets/javascripts/glql/components/common/actions.vue index 55fc4b4cf1d..dd1470822c7 100644 --- a/app/assets/javascripts/glql/components/common/actions.vue +++ b/app/assets/javascripts/glql/components/common/actions.vue @@ -2,7 +2,6 @@ import { GlDisclosureDropdown, GlTooltipDirective } from '@gitlab/ui'; import { identity, uniqueId } from 'lodash'; import { __ } from '~/locale'; -import { eventHubByKey } from '../../utils/event_hub_factory'; export default { name: 'GlqlActions', @@ -12,7 +11,6 @@ export default { directives: { GlTooltip: GlTooltipDirective, }, - inject: ['queryKey'], props: { modalTitle: { type: String, @@ -27,7 +25,6 @@ export default { }, data() { return { - eventHub: eventHubByKey(this.queryKey), toggleId: uniqueId('dropdown-toggle-btn-'), }; }, @@ -36,19 +33,19 @@ export default { return [ { text: __('View source'), - action: () => this.eventHub.$emit('viewSource', { title: this.modalTitle }), + action: () => this.$emit('viewSource', { title: this.modalTitle }), }, { text: __('Copy source'), - action: () => this.eventHub.$emit('copySource'), + action: () => this.$emit('copySource'), }, this.showCopyContents && { text: __('Copy contents'), - action: () => this.eventHub.$emit('copyAsGFM'), + action: () => this.$emit('copyAsGFM'), }, { text: __('Reload'), - action: () => this.eventHub.$emit('reload'), + action: () => this.$emit('reload'), }, ].filter(identity); }, diff --git a/app/assets/javascripts/glql/components/common/facade.vue b/app/assets/javascripts/glql/components/common/facade.vue index 36e22c18cbb..a0417322bc7 100644 --- a/app/assets/javascripts/glql/components/common/facade.vue +++ b/app/assets/javascripts/glql/components/common/facade.vue @@ -9,6 +9,8 @@ import { GlSprintf, GlExperimentBadge, } from '@gitlab/ui'; +import { uniqueId } from 'lodash'; +import { sha256 } from '~/lib/utils/text_utility'; import { __, sprintf } from '~/locale'; import CrudComponent from '~/vue_shared/components/crud_component.vue'; import { renderMarkdown } from '~/notes/utils'; @@ -19,7 +21,7 @@ import { copyGLQLNodeAsGFM } from '../../utils/copy_as_gfm'; import { executeAndPresentQuery, presentPreview, loadMore } from '../../core'; import Counter from '../../utils/counter'; import { eventHubByKey } from '../../utils/event_hub_factory'; -import GlqlFooter from './footer.vue'; +import GlqlPagination from './pagination.vue'; import GlqlActions from './actions.vue'; import GlqlFootnote from './footnote.vue'; @@ -37,7 +39,7 @@ export default { GlExperimentBadge, GlIntersectionObserver, CrudComponent, - GlqlFooter, + GlqlPagination, GlqlFootnote, GlqlActions, }, @@ -55,9 +57,10 @@ export default { data() { return { eventHub: eventHubByKey(this.queryKey), + crudComponentId: uniqueId('glql-crud-'), queryModalSettings: { - id: `glql-${this.queryKey}`, + id: uniqueId('glql-modal-'), show: false, title: '', primaryAction: { text: __('Copy source') }, @@ -109,13 +112,14 @@ export default { return `\`\`\`glql\n${this.query}\n\`\`\``; }, }, + watch: { + previewPresenter(previewPresenter) { + this.isCollapsed = previewPresenter?.config?.collapsed || false; + }, + }, async mounted() { this.loadOnClick = this.glFeatures.glqlLoadOnClick; - this.eventHub.$on('viewSource', this.viewSource.bind(this)); - this.eventHub.$on('copySource', this.copySource.bind(this)); - this.eventHub.$on('copyAsGFM', this.copyAsGFM.bind(this)); - this.eventHub.$on('reload', this.reload.bind(this)); this.eventHub.$on('loadMore', this.loadMore.bind(this)); }, @@ -223,7 +227,7 @@ export default { renderMarkdown, async trackRender() { try { - this.trackEvent('render_glql_block', { label: this.queryKey }); + this.trackEvent('render_glql_block', { label: await sha256(this.query) }); } catch (e) { // ignore any tracking errors } @@ -292,19 +296,26 @@ export default {