From b296ffa543e23f57fa2692539e6f0028c59e2203 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 9 Sep 2020 21:08:33 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../components/alert_details.vue | 19 +- app/assets/javascripts/behaviors/index.js | 22 +- .../behaviors/markdown/gfm_auto_complete.js | 4 +- .../components/popover.vue | 3 +- .../boards/components/board_new_issue.vue | 21 +- .../javascripts/boards/stores/actions.js | 8 + .../javascripts/boards/stores/boards_store.js | 7 +- .../boards/stores/mutation_types.js | 2 + .../javascripts/boards/stores/mutations.js | 18 +- .../design_notes/design_discussion.vue | 27 +- .../components/design_notes/design_note.vue | 23 +- .../design_notes/design_reply_form.vue | 21 +- .../components/design_sidebar.vue | 8 +- .../design_management/pages/design/index.vue | 4 +- app/assets/javascripts/gfm_auto_complete.js | 15 +- app/assets/javascripts/header.js | 77 ++- .../ide/components/activity_bar.vue | 4 +- .../ide/components/ide_status_bar.vue | 1 + app/assets/javascripts/main.js | 3 - .../notes/components/comment_form.vue | 2 +- .../notes/components/note_form.vue | 2 +- .../javascripts/performance_bar/index.js | 8 +- .../javascripts/set_status_modal/event_hub.js | 3 - .../set_status_modal_trigger.vue | 27 - .../set_status_modal_wrapper.vue | 6 +- .../components/alert_details_table.vue | 47 ++ .../components/notes/system_note.vue | 4 +- .../stylesheets/framework/variables.scss | 26 + app/controllers/projects/issues_controller.rb | 15 +- app/graphql/types/current_user_todos.rb | 24 + .../types/design_management/design_type.rb | 1 + app/graphql/types/issue_type.rb | 1 + app/graphql/types/merge_request_type.rb | 1 + app/graphql/types/todo_type.rb | 2 +- app/models/concerns/has_wiki.rb | 4 - app/models/project.rb | 6 - .../chat_message/merge_message.rb | 16 +- app/models/project_wiki.rb | 17 + app/models/wiki.rb | 24 +- app/services/git/wiki_push_service.rb | 21 +- app/services/git/wiki_push_service/change.rb | 6 +- app/views/layouts/_head.html.haml | 1 + .../header/_current_user_dropdown.html.haml | 6 +- app/workers/post_receive.rb | 17 +- .../198439-expose-pending-todo-in-graphql.yml | 5 + .../unreleased/241969-Replace-v-html.yml | 5 + ...-task-to-dump-usage-ping-sql-yaml-json.yml | 5 + changelogs/unreleased/app-logger-16.yml | 5 + .../unreleased/approval-notification-bug.yml | 5 + ...actor-design-management-to-gitlab-ui-1.yml | 5 + config/initializers/direct_upload_support.rb | 6 +- config/webpack.config.js | 1 + .../graphql/reference/gitlab_schema.graphql | 194 +++++++- doc/api/graphql/reference/gitlab_schema.json | 466 +++++++++++++++++- doc/api/graphql/reference/index.md | 2 +- doc/operations/incident_management/index.md | 10 +- .../application_security/api_fuzzing/index.md | 142 +++--- doc/user/application_security/dast/index.md | 6 +- doc/user/application_security/index.md | 3 +- doc/user/application_security/sast/index.md | 8 +- .../threat_monitoring/index.md | 2 +- .../compliance/license_compliance/index.md | 3 +- lib/backup/manager.rb | 10 +- lib/gitlab/usage_data_queries.rb | 22 + lib/object_storage/config.rb | 20 +- lib/rspec_flaky/listener.rb | 6 +- lib/tasks/gitlab/cleanup.rake | 6 +- lib/tasks/gitlab/usage_data.rake | 13 + locale/gitlab.pot | 9 + package.json | 2 +- qa/qa/page/merge_request/show.rb | 3 +- qa/qa/page/project/web_ide/edit.rb | 26 +- .../components/alert_details_spec.js | 6 +- spec/frontend/boards/boards_store_spec.js | 2 +- spec/frontend/boards/list_spec.js | 1 + spec/frontend/boards/mock_data.js | 23 + spec/frontend/boards/stores/actions_spec.js | 39 +- spec/frontend/boards/stores/mutations_spec.js | 55 ++- .../__snapshots__/design_note_spec.js.snap | 14 +- .../design_reply_form_spec.js.snap | 14 +- .../design_notes/design_discussion_spec.js | 6 +- .../design_notes/design_note_spec.js | 8 +- .../design_notes/design_reply_form_spec.js | 20 +- .../components/design_sidebar_spec.js | 8 +- .../pages/design/index_spec.js | 4 +- .../snippet_description_edit_spec.js.snap | 2 +- .../components/alert_detail_table_spec.js | 74 +++ .../types/current_user_todos_type_spec.rb | 9 + .../design_management/design_type_spec.rb | 4 +- spec/graphql/types/issue_type_spec.rb | 4 +- spec/graphql/types/merge_request_type_spec.rb | 4 +- spec/lib/backup/manager_spec.rb | 23 + .../gitlab/data_builder/deployment_spec.rb | 2 +- spec/lib/gitlab/usage_data_queries_spec.rb | 21 + spec/lib/object_storage/config_spec.rb | 41 ++ .../clusters/kubernetes_namespace_spec.rb | 3 +- spec/models/event_spec.rb | 7 +- .../chat_message/merge_message_spec.rb | 69 ++- spec/models/project_wiki_spec.rb | 13 +- spec/policies/project_policy_spec.rb | 73 +-- .../api/graphql/current_user_todos_spec.rb | 81 +++ spec/services/git/wiki_push_service_spec.rb | 38 +- .../notes/quick_actions_service_spec.rb | 6 +- .../policies/project_policy_shared_context.rb | 57 ++- .../models/wiki_shared_examples.rb | 12 +- spec/tasks/gitlab/usage_data_rake_spec.rb | 28 ++ spec/workers/post_receive_spec.rb | 6 +- yarn.lock | 8 +- 108 files changed, 1819 insertions(+), 530 deletions(-) delete mode 100644 app/assets/javascripts/set_status_modal/event_hub.js delete mode 100644 app/assets/javascripts/set_status_modal/set_status_modal_trigger.vue create mode 100644 app/assets/javascripts/vue_shared/components/alert_details_table.vue create mode 100644 app/graphql/types/current_user_todos.rb create mode 100644 changelogs/unreleased/198439-expose-pending-todo-in-graphql.yml create mode 100644 changelogs/unreleased/241969-Replace-v-html.yml create mode 100644 changelogs/unreleased/244298-rake-task-to-dump-usage-ping-sql-yaml-json.yml create mode 100644 changelogs/unreleased/app-logger-16.yml create mode 100644 changelogs/unreleased/approval-notification-bug.yml create mode 100644 changelogs/unreleased/ntepluhina-refactor-design-management-to-gitlab-ui-1.yml create mode 100644 lib/gitlab/usage_data_queries.rb create mode 100644 lib/tasks/gitlab/usage_data.rake create mode 100644 spec/frontend/vue_shared/components/alert_detail_table_spec.js create mode 100644 spec/graphql/types/current_user_todos_type_spec.rb create mode 100644 spec/lib/gitlab/usage_data_queries_spec.rb create mode 100644 spec/requests/api/graphql/current_user_todos_spec.rb create mode 100644 spec/tasks/gitlab/usage_data_rake_spec.rb diff --git a/app/assets/javascripts/alert_management/components/alert_details.vue b/app/assets/javascripts/alert_management/components/alert_details.vue index c1ebd234088..c6605452616 100644 --- a/app/assets/javascripts/alert_management/components/alert_details.vue +++ b/app/assets/javascripts/alert_management/components/alert_details.vue @@ -10,7 +10,6 @@ import { GlTabs, GlTab, GlButton, - GlTable, } from '@gitlab/ui'; import { s__ } from '~/locale'; import alertQuery from '../graphql/queries/details.query.graphql'; @@ -28,6 +27,7 @@ import { toggleContainerClasses } from '~/lib/utils/dom_utils'; import SystemNote from './system_notes/system_note.vue'; import AlertSidebar from './alert_sidebar.vue'; import AlertMetrics from './alert_metrics.vue'; +import AlertDetailsTable from '~/vue_shared/components/alert_details_table.vue'; const containerEl = document.querySelector('.page-with-contextual-sidebar'); @@ -55,6 +55,7 @@ export default { }, ], components: { + AlertDetailsTable, GlBadge, GlAlert, GlIcon, @@ -63,7 +64,6 @@ export default { GlTab, GlTabs, GlButton, - GlTable, TimeAgoTooltip, AlertSidebar, SystemNote, @@ -331,20 +331,7 @@ export default {
{{ alert.runbook }}
- - - - + diff --git a/app/assets/javascripts/behaviors/index.js b/app/assets/javascripts/behaviors/index.js index 8060938c72a..fd12c282b62 100644 --- a/app/assets/javascripts/behaviors/index.js +++ b/app/assets/javascripts/behaviors/index.js @@ -1,7 +1,7 @@ +import $ from 'jquery'; import './autosize'; import './bind_in_out'; import './markdown/render_gfm'; -import initGFMInput from './markdown/gfm_auto_complete'; import initCopyAsGFM from './markdown/copy_as_gfm'; import initCopyToClipboard from './copy_to_clipboard'; import './details_behavior'; @@ -15,9 +15,27 @@ import initCollapseSidebarOnWindowResize from './collapse_sidebar_on_window_resi import initSelect2Dropdowns from './select2'; installGlEmojiElement(); -initGFMInput(); + initCopyAsGFM(); initCopyToClipboard(); + initPageShortcuts(); initCollapseSidebarOnWindowResize(); initSelect2Dropdowns(); + +document.addEventListener('DOMContentLoaded', () => { + window.requestIdleCallback( + () => { + // Check if we have to Load GFM Input + const $gfmInputs = $('.js-gfm-input:not(.js-gfm-input-initialized)'); + if ($gfmInputs.length) { + import(/* webpackChunkName: 'initGFMInput' */ './markdown/gfm_auto_complete') + .then(({ default: initGFMInput }) => { + initGFMInput($gfmInputs); + }) + .catch(() => {}); + } + }, + { timeout: 500 }, + ); +}); diff --git a/app/assets/javascripts/behaviors/markdown/gfm_auto_complete.js b/app/assets/javascripts/behaviors/markdown/gfm_auto_complete.js index 6bbd2133344..83f2ca0bdc2 100644 --- a/app/assets/javascripts/behaviors/markdown/gfm_auto_complete.js +++ b/app/assets/javascripts/behaviors/markdown/gfm_auto_complete.js @@ -2,8 +2,8 @@ import $ from 'jquery'; import GfmAutoComplete from 'ee_else_ce/gfm_auto_complete'; import { parseBoolean } from '~/lib/utils/common_utils'; -export default function initGFMInput() { - $('.js-gfm-input:not(.js-vue-textarea)').each((i, el) => { +export default function initGFMInput($els) { + $els.each((i, el) => { const gfm = new GfmAutoComplete(gl.GfmAutoComplete && gl.GfmAutoComplete.dataSources); const enableGFM = parseBoolean(el.dataset.supportsAutocomplete); diff --git a/app/assets/javascripts/blob/suggest_gitlab_ci_yml/components/popover.vue b/app/assets/javascripts/blob/suggest_gitlab_ci_yml/components/popover.vue index 9251af01aff..06f436adb8e 100644 --- a/app/assets/javascripts/blob/suggest_gitlab_ci_yml/components/popover.vue +++ b/app/assets/javascripts/blob/suggest_gitlab_ci_yml/components/popover.vue @@ -1,5 +1,4 @@ - - diff --git a/app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue b/app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue index a841cca8c95..09e893ff285 100644 --- a/app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue +++ b/app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue @@ -6,7 +6,6 @@ import { GlModal, GlTooltipDirective, GlIcon } from '@gitlab/ui'; import { deprecatedCreateFlash as createFlash } from '~/flash'; import { __, s__ } from '~/locale'; import Api from '~/api'; -import eventHub from './event_hub'; import EmojiMenuInModal from './emoji_menu_in_modal'; import * as Emoji from '~/emoji'; @@ -48,15 +47,12 @@ export default { }, }, mounted() { - eventHub.$on('openModal', this.openModal); + this.$root.$emit('bv::show::modal', this.modalId); }, beforeDestroy() { this.emojiMenu.destroy(); }, methods: { - openModal() { - this.$root.$emit('bv::show::modal', this.modalId); - }, closeModal() { this.$root.$emit('bv::hide::modal', this.modalId); }, diff --git a/app/assets/javascripts/vue_shared/components/alert_details_table.vue b/app/assets/javascripts/vue_shared/components/alert_details_table.vue new file mode 100644 index 00000000000..2cd71669ecb --- /dev/null +++ b/app/assets/javascripts/vue_shared/components/alert_details_table.vue @@ -0,0 +1,47 @@ + + diff --git a/app/assets/javascripts/vue_shared/components/notes/system_note.vue b/app/assets/javascripts/vue_shared/components/notes/system_note.vue index f6d0fa9d8ed..f30676e8ef3 100644 --- a/app/assets/javascripts/vue_shared/components/notes/system_note.vue +++ b/app/assets/javascripts/vue_shared/components/notes/system_note.vue @@ -1,4 +1,6 @@