From 042cd704b8177e7997af4a2ca90967d3178ccc3f Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 18 May 2021 18:10:54 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .gitlab/ci/rules.gitlab-ci.yml | 2 + .../javascripts/diffs/components/app.vue | 58 +- .../diffs/components/diff_content.vue | 4 +- .../diffs/components/diff_file.vue | 3 +- app/assets/javascripts/diffs/store/getters.js | 3 + app/assets/stylesheets/framework/diffs.scss | 2 +- .../page_bundles/merge_requests.scss | 4 + .../projects/merge_requests_controller.rb | 1 + app/models/project.rb | 37 +- app/presenters/project_presenter.rb | 8 +- .../project-topics-data-migration.yml | 5 + .../development/diffs_virtual_scrolling.yml | 8 + ...ry_index_for_project_topics_to_taggings.rb | 19 + ...ct_taggings_context_from_tags_to_topics.rb | 30 + ...ry_index_for_project_topics_to_taggings.rb | 19 + db/schema_migrations/20210511095657 | 1 + db/schema_migrations/20210511095658 | 1 + db/schema_migrations/20210517075444 | 1 + doc/.vale/gitlab/spelling-exceptions.txt | 1 + .../cloud_deployment/ecs/quick_start_guide.md | 6 +- doc/development/agent/local.md | 4 +- doc/development/contributing/style_guides.md | 2 +- doc/development/developing_with_solargraph.md | 14 +- doc/development/experiment_guide/index.md | 2 +- doc/development/fe_guide/graphql.md | 4 +- doc/development/gemfile.md | 4 +- doc/development/go_guide/index.md | 2 +- doc/development/stage_group_dashboards.md | 2 +- .../testing_guide/frontend_testing.md | 2 +- .../usage_ping/product_intelligence_review.md | 4 +- doc/integration/elasticsearch.md | 2 +- doc/update/index.md | 2 +- doc/user/analytics/ci_cd_analytics.md | 2 +- .../container_scanning/index.md | 8 +- .../application_security/dast_api/index.md | 14 +- .../dependency_scanning/index.md | 2 +- doc/user/application_security/sast/index.md | 2 +- doc/user/clusters/agent/index.md | 8 +- doc/user/group/devops_adoption/index.md | 2 +- doc/user/packages/generic_packages/index.md | 16 - doc/user/project/clusters/serverless/aws.md | 2 +- doc/user/project/deploy_keys/index.md | 2 +- doc/user/project/deploy_tokens/index.md | 14 +- .../project/integrations/hangouts_chat.md | 2 +- doc/user/project/repository/branches/index.md | 2 +- ...ct_taggings_context_from_tags_to_topics.rb | 21 + .../import_export/project/import_export.yml | 1 + package.json | 3 + spec/features/invites_spec.rb | 202 +++--- spec/finders/projects_finder_spec.rb | 2 +- ...ggings_context_from_tags_to_topics_spec.rb | 29 + spec/lib/gitlab/import_export/all_models.yml | 3 +- spec/models/project_spec.rb | 49 ++ spec/requests/api/project_attributes.yml | 2 + .../groups/autocomplete_sources_spec.rb} | 7 +- spec/spec_helper.rb | 1 + .../vue-virtual-scroller/package.json | 40 ++ .../src/components/DynamicScroller.vue | 212 ++++++ .../src/components/DynamicScrollerItem.vue | 218 ++++++ .../src/components/RecycleScroller.vue | 657 ++++++++++++++++++ .../src/components/common.js | 21 + .../vue-virtual-scroller/src/config.js | 3 + .../vue-virtual-scroller/src/index.js | 60 ++ .../src/mixins/IdState.js | 79 +++ .../vue-virtual-scroller/src/utils.js | 13 + yarn.lock | 25 +- 66 files changed, 1785 insertions(+), 196 deletions(-) create mode 100644 changelogs/unreleased/project-topics-data-migration.yml create mode 100644 config/feature_flags/development/diffs_virtual_scrolling.yml create mode 100644 db/post_migrate/20210511095657_add_temporary_index_for_project_topics_to_taggings.rb create mode 100644 db/post_migrate/20210511095658_schedule_migrate_project_taggings_context_from_tags_to_topics.rb create mode 100644 db/post_migrate/20210517075444_remove_temporary_index_for_project_topics_to_taggings.rb create mode 100644 db/schema_migrations/20210511095657 create mode 100644 db/schema_migrations/20210511095658 create mode 100644 db/schema_migrations/20210517075444 create mode 100644 lib/gitlab/background_migration/migrate_project_taggings_context_from_tags_to_topics.rb create mode 100644 spec/lib/gitlab/background_migration/migrate_project_taggings_context_from_tags_to_topics_spec.rb rename spec/{controllers/groups/autocomplete_sources_controller_spec.rb => requests/groups/autocomplete_sources_spec.rb} (89%) create mode 100644 vendor/assets/javascripts/vue-virtual-scroller/package.json create mode 100644 vendor/assets/javascripts/vue-virtual-scroller/src/components/DynamicScroller.vue create mode 100644 vendor/assets/javascripts/vue-virtual-scroller/src/components/DynamicScrollerItem.vue create mode 100644 vendor/assets/javascripts/vue-virtual-scroller/src/components/RecycleScroller.vue create mode 100644 vendor/assets/javascripts/vue-virtual-scroller/src/components/common.js create mode 100644 vendor/assets/javascripts/vue-virtual-scroller/src/config.js create mode 100644 vendor/assets/javascripts/vue-virtual-scroller/src/index.js create mode 100644 vendor/assets/javascripts/vue-virtual-scroller/src/mixins/IdState.js create mode 100644 vendor/assets/javascripts/vue-virtual-scroller/src/utils.js diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index c3eb16e74c3..5c9be5b1e9f 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -525,6 +525,8 @@ .qa:rules:package-and-qa: rules: + - <<: *if-not-ee + when: never - <<: *if-dot-com-gitlab-org-and-security-merge-request changes: *ci-qa-patterns allow_failure: true diff --git a/app/assets/javascripts/diffs/components/app.vue b/app/assets/javascripts/diffs/components/app.vue index 66157dfeaba..6a3f5993a22 100644 --- a/app/assets/javascripts/diffs/components/app.vue +++ b/app/assets/javascripts/diffs/components/app.vue @@ -3,6 +3,7 @@ import { GlLoadingIcon, GlPagination, GlSprintf } from '@gitlab/ui'; import { GlBreakpointInstance as bp } from '@gitlab/ui/dist/utils'; import Mousetrap from 'mousetrap'; import { mapState, mapGetters, mapActions } from 'vuex'; +import { DynamicScroller, DynamicScrollerItem } from 'vendor/vue-virtual-scroller'; import api from '~/api'; import { keysFor, @@ -17,7 +18,6 @@ import { getParameterByName, parseBoolean } from '~/lib/utils/common_utils'; import { updateHistory } from '~/lib/utils/url_utility'; import { __ } from '~/locale'; import PanelResizer from '~/vue_shared/components/panel_resizer.vue'; -import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; import notesEventHub from '../../notes/event_hub'; import { @@ -69,8 +69,9 @@ export default { PanelResizer, GlPagination, GlSprintf, + DynamicScroller, + DynamicScrollerItem, }, - mixins: [glFeatureFlagsMixin()], alerts: { ALERT_OVERFLOW_HIDDEN, ALERT_MERGE_CONFLICT, @@ -196,7 +197,12 @@ export default { 'renderTreeList', 'showWhitespace', ]), - ...mapGetters('diffs', ['whichCollapsedTypes', 'isParallelView', 'currentDiffIndex']), + ...mapGetters('diffs', [ + 'whichCollapsedTypes', + 'isParallelView', + 'currentDiffIndex', + 'isVirtualScrollingEnabled', + ]), ...mapGetters('batchComments', ['draftsCount']), ...mapGetters(['isNotesFetched', 'getNoteableData']), diffs() { @@ -561,17 +567,41 @@ export default {