diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-29 00:24:53 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-29 00:24:53 +0300 |
commit | 893736005760f22ca0ed52d707dfdb9be6d5dce9 (patch) | |
tree | 91db010bc678b617dd945bcfe2cecb8af53c499c /app | |
parent | 5509e479900ee537980a126287c20327c41a61d6 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
13 files changed, 55 insertions, 33 deletions
diff --git a/app/assets/javascripts/batch_comments/index.js b/app/assets/javascripts/batch_comments/index.js index f6e9bfd6690..bf9769ff359 100644 --- a/app/assets/javascripts/batch_comments/index.js +++ b/app/assets/javascripts/batch_comments/index.js @@ -4,7 +4,7 @@ import { mapActions, mapGetters } from 'vuex'; import { apolloProvider } from '~/graphql_shared/issuable_client'; import store from '~/mr_notes/stores'; -export const initReviewBar = () => { +export const initReviewBar = ({ editorAiActions = [] } = {}) => { const el = document.getElementById('js-review-bar'); if (!el) return; @@ -21,6 +21,7 @@ export const initReviewBar = () => { }, provide: { newCommentTemplatePath: el.dataset.newCommentTemplatePath, + editorAiActions, }, computed: { ...mapGetters('batchComments', ['draftsCount']), diff --git a/app/assets/javascripts/content_editor/components/bubble_menus/link_bubble_menu.vue b/app/assets/javascripts/content_editor/components/bubble_menus/link_bubble_menu.vue index a3065be3772..fd696670ddf 100644 --- a/app/assets/javascripts/content_editor/components/bubble_menus/link_bubble_menu.vue +++ b/app/assets/javascripts/content_editor/components/bubble_menus/link_bubble_menu.vue @@ -177,6 +177,8 @@ export default { this.linkText = undefined; this.linkHref = undefined; this.linkCanonicalSrc = undefined; + + this.isEditing = false; }, }, tippyOptions: { @@ -250,7 +252,12 @@ export default { <gl-form-input id="link-text" v-model="linkText" data-testid="link-text" /> </gl-form-group> <gl-form-group :label="__('URL')" label-for="link-href"> - <gl-form-input id="link-href" v-model="linkCanonicalSrc" data-testid="link-href" /> + <gl-form-input + id="link-href" + v-model="linkCanonicalSrc" + autofocus + data-testid="link-href" + /> </gl-form-group> <div class="gl-display-flex gl-justify-content-end"> <gl-button class="gl-mr-3" data-testid="cancel-link" @click="cancelEditingLink"> diff --git a/app/assets/javascripts/merge_request_tabs.js b/app/assets/javascripts/merge_request_tabs.js index 201499f8509..8fc341c4ca8 100644 --- a/app/assets/javascripts/merge_request_tabs.js +++ b/app/assets/javascripts/merge_request_tabs.js @@ -177,7 +177,7 @@ function getActionFromHref(href) { } const pageBundles = { - show: () => import(/* webpackPrefetch: true */ '~/mr_notes/init_notes'), + show: () => import(/* webpackPrefetch: true */ 'ee_else_ce/mr_notes/mount_app'), diffs: () => import(/* webpackPrefetch: true */ '~/diffs'), }; diff --git a/app/assets/javascripts/mr_notes/index.js b/app/assets/javascripts/mr_notes/index.js index a202923bd21..10fb89feccc 100644 --- a/app/assets/javascripts/mr_notes/index.js +++ b/app/assets/javascripts/mr_notes/index.js @@ -1,22 +1,3 @@ -import initCherryPickCommitModal from '~/projects/commit/init_cherry_pick_commit_modal'; -import initRevertCommitModal from '~/projects/commit/init_revert_commit_modal'; -import { initMrStateLazyLoad } from '~/mr_notes/init'; -import MergeRequest from '../merge_request'; -import { resetServiceWorkersPublicPath } from '../lib/utils/webpack'; +import initMrNotes from './init_mr_notes'; -export default function initMrNotes() { - resetServiceWorkersPublicPath(); - - const mrShowNode = document.querySelector('.merge-request'); - // eslint-disable-next-line no-new - new MergeRequest({ - action: mrShowNode.dataset.mrAction, - }); - - initMrStateLazyLoad(); - - document.addEventListener('merged:UpdateActions', () => { - initRevertCommitModal('i_code_review_post_merge_submit_revert_modal'); - initCherryPickCommitModal('i_code_review_post_merge_submit_cherry_pick_modal'); - }); -} +export default initMrNotes; diff --git a/app/assets/javascripts/mr_notes/init.js b/app/assets/javascripts/mr_notes/init.js index 79447bc115d..9852efea95f 100644 --- a/app/assets/javascripts/mr_notes/init.js +++ b/app/assets/javascripts/mr_notes/init.js @@ -22,7 +22,7 @@ function setupMrNotesState(notesDataset) { store.dispatch('setEndpoints', endpoints); } -export function initMrStateLazyLoad() { +export function initMrStateLazyLoad({ reviewBarParams } = {}) { store.dispatch('setActiveTab', window.mrTabs.getCurrentAction()); window.mrTabs.eventHub.$on('MergeRequestTabChange', (value) => store.dispatch('setActiveTab', value), @@ -42,7 +42,7 @@ export function initMrStateLazyLoad() { eventHub.$once('fetchNotesData', () => store.dispatch('fetchNotes')); requestIdleCallback(() => { - initReviewBar(); + initReviewBar(reviewBarParams); initOverviewTabCounter(); initDiscussionCounter(); }); diff --git a/app/assets/javascripts/mr_notes/init_mr_notes.js b/app/assets/javascripts/mr_notes/init_mr_notes.js new file mode 100644 index 00000000000..e0a8d1f7e7d --- /dev/null +++ b/app/assets/javascripts/mr_notes/init_mr_notes.js @@ -0,0 +1,22 @@ +import initCherryPickCommitModal from '~/projects/commit/init_cherry_pick_commit_modal'; +import initRevertCommitModal from '~/projects/commit/init_revert_commit_modal'; +import { initMrStateLazyLoad } from '~/mr_notes/init'; +import MergeRequest from '../merge_request'; +import { resetServiceWorkersPublicPath } from '../lib/utils/webpack'; + +export default function initMrNotes(lazyLoadParams) { + resetServiceWorkersPublicPath(); + + const mrShowNode = document.querySelector('.merge-request'); + // eslint-disable-next-line no-new + new MergeRequest({ + action: mrShowNode.dataset.mrAction, + }); + + initMrStateLazyLoad(lazyLoadParams); + + document.addEventListener('merged:UpdateActions', () => { + initRevertCommitModal('i_code_review_post_merge_submit_revert_modal'); + initCherryPickCommitModal('i_code_review_post_merge_submit_cherry_pick_modal'); + }); +} diff --git a/app/assets/javascripts/mr_notes/init_notes.js b/app/assets/javascripts/mr_notes/init_notes.js index d537117d962..adee18184aa 100644 --- a/app/assets/javascripts/mr_notes/init_notes.js +++ b/app/assets/javascripts/mr_notes/init_notes.js @@ -12,7 +12,7 @@ import NotesApp from '../notes/components/notes_app.vue'; import { getNotesFilterData } from '../notes/utils/get_notes_filter_data'; import initWidget from '../vue_merge_request_widget'; -export default () => { +export default ({ editorAiActions = [] } = {}) => { requestIdleCallback( () => { renderGFM(document.getElementById('diff-notes-app')); @@ -42,6 +42,7 @@ export default () => { provide: { reportAbusePath: notesDataset.reportAbusePath, newCommentTemplatePath: notesDataset.newCommentTemplatePath, + editorAiActions, }, data() { const noteableData = JSON.parse(notesDataset.noteableData); diff --git a/app/assets/javascripts/mr_notes/mount_app.js b/app/assets/javascripts/mr_notes/mount_app.js new file mode 100644 index 00000000000..f635492e6a9 --- /dev/null +++ b/app/assets/javascripts/mr_notes/mount_app.js @@ -0,0 +1,6 @@ +import initNotes from './init_notes'; + +// this module is required for the EE functions to work properly with merge request tabs +export default () => { + initNotes(); +}; diff --git a/app/assets/javascripts/pages/projects/merge_requests/page.js b/app/assets/javascripts/pages/projects/merge_requests/page.js index 3c420a0ee1a..fbd45f4bd7d 100644 --- a/app/assets/javascripts/pages/projects/merge_requests/page.js +++ b/app/assets/javascripts/pages/projects/merge_requests/page.js @@ -1,8 +1,8 @@ import Vue from 'vue'; import VueApollo from 'vue-apollo'; +import initMrNotes from 'ee_else_ce/mr_notes'; import StickyHeader from '~/merge_requests/components/sticky_header.vue'; import { initIssuableHeaderWarnings } from '~/issuable'; -import initMrNotes from '~/mr_notes'; import store from '~/mr_notes/stores'; import initSidebarBundle from '~/sidebar/sidebar_bundle'; import { apolloProvider } from '~/graphql_shared/issuable_client'; diff --git a/app/assets/javascripts/pages/projects/merge_requests/show/index.js b/app/assets/javascripts/pages/projects/merge_requests/show/index.js index 91394755367..38cc4337047 100644 --- a/app/assets/javascripts/pages/projects/merge_requests/show/index.js +++ b/app/assets/javascripts/pages/projects/merge_requests/show/index.js @@ -1,7 +1,7 @@ -import initNotesApp from '~/mr_notes/init_notes'; +import mountNotesApp from 'ee_else_ce/mr_notes/mount_app'; import { initReportAbuse } from '~/projects/report_abuse'; import { initMrPage } from '../page'; initMrPage(); -initNotesApp(); +mountNotesApp(); initReportAbuse(); diff --git a/app/assets/javascripts/vue_shared/components/markdown/header.vue b/app/assets/javascripts/vue_shared/components/markdown/header.vue index 75bb622234a..355c60040a4 100644 --- a/app/assets/javascripts/vue_shared/components/markdown/header.vue +++ b/app/assets/javascripts/vue_shared/components/markdown/header.vue @@ -29,8 +29,7 @@ export default { GlTab, DrawioToolbarButton, CommentTemplatesDropdown, - AiActionsDropdown: () => - import('ee_component/vue_shared/components/markdown/ai_actions_dropdown.vue'), + AiActionsDropdown: () => import('ee_component/ai/components/ai_actions_dropdown.vue'), }, directives: { GlTooltip: GlTooltipDirective, diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index a5d3bc4ac4a..89b7767aa40 100644 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -51,6 +51,7 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo push_frontend_feature_flag(:code_quality_inline_drawer, project) push_frontend_feature_flag(:hide_create_issue_resolve_all, project) push_frontend_feature_flag(:auto_merge_labels_mr_widget, project) + push_frontend_feature_flag(:summarize_my_code_review, current_user) end around_action :allow_gitaly_ref_name_caching, only: [:index, :show, :diffs, :discussions] diff --git a/app/services/metrics_service.rb b/app/services/metrics_service.rb index d27328f89cd..f39cc1a8534 100644 --- a/app/services/metrics_service.rb +++ b/app/services/metrics_service.rb @@ -4,7 +4,11 @@ require 'prometheus/client/formats/text' class MetricsService def prometheus_metrics_text - ::Prometheus::Client::Formats::Text.marshal_multiprocess(multiprocess_metrics_path) + if Feature.enabled?(:prom_metrics_rust) + ::Prometheus::Client::Formats::Text.marshal_multiprocess(multiprocess_metrics_path, use_rust: true) + else + ::Prometheus::Client::Formats::Text.marshal_multiprocess(multiprocess_metrics_path) + end end def metrics_text |