diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-03-06 12:10:20 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-03-06 12:10:20 +0000 |
commit | 9ad806210531e19c851a69cbcdaf9ed8bd6cb478 (patch) | |
tree | 348438fb6eb4219841571786b0826736d1d3e016 /app | |
parent | 4903f95b04db58edc1931ec917d2313c916a06b2 (diff) | |
download | gitlab-ce-9ad806210531e19c851a69cbcdaf9ed8bd6cb478.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
9 files changed, 42 insertions, 31 deletions
diff --git a/app/assets/javascripts/issues/list/utils.js b/app/assets/javascripts/issues/list/utils.js index bbd081843ca..281e48d9aa7 100644 --- a/app/assets/javascripts/issues/list/utils.js +++ b/app/assets/javascripts/issues/list/utils.js @@ -289,9 +289,9 @@ const formatData = (token) => { }; export const convertToApiParams = (filterTokens) => { - const params = {}; - const not = {}; - const or = {}; + const params = new Map(); + const not = new Map(); + const or = new Map(); filterTokens .filter((token) => token.type !== FILTERED_SEARCH_TERM) @@ -307,32 +307,34 @@ export const convertToApiParams = (filterTokens) => { obj = params; } const data = formatData(token); - Object.assign(obj, { - [apiField]: obj[apiField] ? [obj[apiField], data].flat() : data, - }); + obj.set(apiField, obj.has(apiField) ? [obj.get(apiField), data].flat() : data); }); - if (Object.keys(not).length) { - Object.assign(params, { not }); + if (not.size) { + params.set('not', Object.fromEntries(not)); } - if (Object.keys(or).length) { - Object.assign(params, { or }); + if (or.size) { + params.set('or', Object.fromEntries(or)); } - return params; + return Object.fromEntries(params); }; -export const convertToUrlParams = (filterTokens) => - filterTokens +export const convertToUrlParams = (filterTokens) => { + const urlParamsMap = filterTokens .filter((token) => token.type !== FILTERED_SEARCH_TERM) .reduce((acc, token) => { const filterType = getFilterType(token); const urlParam = filters[token.type][URL_PARAM][token.value.operator]?.[filterType]; - return Object.assign(acc, { - [urlParam]: acc[urlParam] ? [acc[urlParam], token.value.data].flat() : token.value.data, - }); - }, {}); + return acc.set( + urlParam, + acc.has(urlParam) ? [acc.get(urlParam), token.value.data].flat() : token.value.data, + ); + }, new Map()); + + return Object.fromEntries(urlParamsMap); +}; export const convertToSearchQuery = (filterTokens) => filterTokens diff --git a/app/assets/javascripts/notes/components/note_header.vue b/app/assets/javascripts/notes/components/note_header.vue index 4af8cf1ded3..b289229af69 100644 --- a/app/assets/javascripts/notes/components/note_header.vue +++ b/app/assets/javascripts/notes/components/note_header.vue @@ -85,7 +85,7 @@ export default { return this.expanded ? 'chevron-up' : 'chevron-down'; }, noteTimestampLink() { - return this.noteId ? `#note_${this.noteId}` : undefined; + return this.noteId ? `#note_${getIdFromGraphQLId(this.noteId)}` : undefined; }, hasAuthor() { return this.author && Object.keys(this.author).length; diff --git a/app/assets/javascripts/repository/components/blob_viewers/notebook_viewer.vue b/app/assets/javascripts/repository/components/blob_viewers/notebook_viewer.vue index 1114a0942ec..53dad19028d 100644 --- a/app/assets/javascripts/repository/components/blob_viewers/notebook_viewer.vue +++ b/app/assets/javascripts/repository/components/blob_viewers/notebook_viewer.vue @@ -1,11 +1,15 @@ <script> -import { GlLoadingIcon } from '@gitlab/ui'; -import notebookLoader from '~/blob/notebook'; import { stripPathTail } from '~/lib/utils/url_utility'; +import NotebookViewer from '~/blob/notebook/notebook_viewer.vue'; export default { - components: { - GlLoadingIcon, + components: { NotebookViewer }, + provide() { + // `relativeRawPath` is injected in app/assets/javascripts/notebook/cells/markdown.vue + // It is needed for images in Markdown cells that reference local files to work. + // See the following MR for more context: + // https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69075 + return { relativeRawPath: stripPathTail(this.url) }; }, props: { blob: { @@ -18,14 +22,9 @@ export default { url: this.blob.rawPath, }; }, - mounted() { - notebookLoader({ el: this.$refs.viewer, relativeRawPath: stripPathTail(this.url) }); - }, }; </script> <template> - <div ref="viewer" :data-endpoint="url" data-testid="notebook"> - <gl-loading-icon class="gl-my-4" size="lg" /> - </div> + <notebook-viewer :endpoint="url" /> </template> diff --git a/app/assets/javascripts/vue_merge_request_widget/components/action_buttons.vue b/app/assets/javascripts/vue_merge_request_widget/components/action_buttons.vue index 917ed259dd0..f2ec8f589ce 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/action_buttons.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/action_buttons.vue @@ -142,7 +142,7 @@ export default { :title="setTooltip(btn)" :href="btn.href" :target="btn.target" - :class="[{ 'gl-mr-3': index !== tertiaryButtons.length - 1 }, btn.class]" + :class="[{ 'gl-mr-1': index !== tertiaryButtons.length - 1 }, btn.class]" :data-clipboard-text="btn.dataClipboardText" :data-qa-selector="actionButtonQaSelector(btn)" :data-method="btn.dataMethod" diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_author_time.vue b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_author_time.vue index c762922d890..b192ccfa379 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_author_time.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_author_time.vue @@ -31,7 +31,7 @@ export default { }; </script> <template> - <h4 class="js-mr-widget-author"> + <h4 class="js-mr-widget-author gl-flex-grow-1"> {{ actionText }} <mr-widget-author :author="author" /> <span class="sr-only">{{ dateReadable }} ({{ dateTitle }})</span> diff --git a/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js b/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js index 827080d9866..13009651550 100644 --- a/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js +++ b/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js @@ -294,6 +294,9 @@ export default class MergeRequestStore { // Security reports this.sastComparisonPath = data.sast_comparison_path; this.secretDetectionComparisonPath = data.secret_detection_comparison_path; + + this.sastComparisonPathV2 = data.new_sast_comparison_path; + this.secretDetectionComparisonPathV2 = data.new_secret_detection_comparison_path; } get isNothingToMergeState() { diff --git a/app/views/notify/unknown_sign_in_email.html.haml b/app/views/notify/unknown_sign_in_email.html.haml index f8a0ae1352c..e252af78060 100644 --- a/app/views/notify/unknown_sign_in_email.html.haml +++ b/app/views/notify/unknown_sign_in_email.html.haml @@ -24,6 +24,11 @@ = Gitlab.config.gitlab.host %tr %td{ style: "#{default_style}border-top:1px solid #ededed;" } + = _('User') + %td{ style: "#{default_style}color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;" } + #{sanitize_name(@user.name)} (#{@user.username}) + %tr + %td{ style: "#{default_style}border-top:1px solid #ededed;" } = _('IP Address') %td{ style: "#{default_style}color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;" } %span.muted{ style: "color:#333333;text-decoration:none;" } diff --git a/app/views/notify/unknown_sign_in_email.text.haml b/app/views/notify/unknown_sign_in_email.text.haml index f3e318f0d15..fbe35c502da 100644 --- a/app/views/notify/unknown_sign_in_email.text.haml +++ b/app/views/notify/unknown_sign_in_email.text.haml @@ -1,4 +1,4 @@ -= _('Hi %{username}!') % { username: sanitize_name(@user.name) } += _('Hi %{user_name} (%{user_username})!') % { user_name: sanitize_name(@user.name), user_username: @user.username } = _('A sign-in to your account has been made from the following IP address: %{ip}') % { ip: @ip } diff --git a/app/workers/gitlab_service_ping_worker.rb b/app/workers/gitlab_service_ping_worker.rb index b02e7318585..53a4361fb48 100644 --- a/app/workers/gitlab_service_ping_worker.rb +++ b/app/workers/gitlab_service_ping_worker.rb @@ -52,3 +52,5 @@ class GitlabServicePingWorker # rubocop:disable Scalability/IdempotentWorker nil end end + +GitlabServicePingWorker.prepend_mod |