Skip to content

Commit 4e7abe5

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent f6b95a6 commit 4e7abe5

File tree

63 files changed

+1032
-682
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+1032
-682
lines changed

.gitlab/ci/global.gitlab-ci.yml

-23
Original file line numberDiff line numberDiff line change
@@ -229,14 +229,6 @@
229229
- *node-modules-cache # We don't push this cache as it's already rebuilt by `update-assets-compile-*-cache`
230230
- *storybook-node-modules-cache-push
231231

232-
.use-pg11:
233-
services:
234-
- name: postgres:11.6
235-
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
236-
- name: redis:5.0-alpine
237-
variables:
238-
POSTGRES_HOST_AUTH_METHOD: trust
239-
PG_VERSION: "11"
240232

241233
.use-pg12:
242234
services:
@@ -256,21 +248,6 @@
256248
POSTGRES_HOST_AUTH_METHOD: trust
257249
PG_VERSION: "13"
258250

259-
.use-pg11-es7-ee:
260-
services:
261-
- name: postgres:11.6
262-
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
263-
- name: redis:5.0-alpine
264-
- name: elasticsearch:7.17.6
265-
command: ["elasticsearch", "-E", "discovery.type=single-node", "-E", "xpack.security.enabled=false"]
266-
- name: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:zoekt-ci-image-1.0
267-
alias: zoekt-ci-image
268-
variables:
269-
POSTGRES_HOST_AUTH_METHOD: trust
270-
PG_VERSION: "11"
271-
ZOEKT_INDEX_BASE_URL: http://zoekt-ci-image:6060
272-
ZOEKT_SEARCH_BASE_URL: http://zoekt-ci-image:6070
273-
274251
.use-pg12-es7-ee:
275252
services:
276253
- name: postgres:12

.gitlab/ci/rails.gitlab-ci.yml

-76
Original file line numberDiff line numberDiff line change
@@ -191,16 +191,6 @@ rspec system pg12 praefect:
191191
- .praefect-with-db
192192
- .rails:rules:praefect-with-db
193193

194-
# Dedicated job to test DB library code against PG11.
195-
# Note that these are already tested against PG12 in the `rspec unit pg12` / `rspec-ee unit pg12` jobs.
196-
rspec db-library-code pg11:
197-
extends:
198-
- .rspec-base-pg11
199-
- .rails:rules:ee-and-foss-db-library-code
200-
script:
201-
- !reference [.base-script, script]
202-
- rspec_db_library_code
203-
204194
rspec fast_spec_helper:
205195
extends:
206196
- .rspec-base-pg12
@@ -616,39 +606,6 @@ rspec-ee system pg12 single-db:
616606
##########################################
617607
# EE/FOSS: default branch nightly scheduled jobs #
618608

619-
# PG11
620-
rspec migration pg11:
621-
extends:
622-
- .rspec-base-pg11
623-
- .rspec-base-migration
624-
- .rails:rules:rspec-on-pg11
625-
- .rspec-migration-parallel
626-
627-
rspec background_migration pg11:
628-
extends:
629-
- .rspec-base-pg11
630-
- .rspec-base-migration
631-
- .rails:rules:rspec-on-pg11
632-
- .rspec-background-migration-parallel
633-
634-
rspec unit pg11:
635-
extends:
636-
- .rspec-base-pg11
637-
- .rails:rules:rspec-on-pg11
638-
- .rspec-unit-parallel
639-
640-
rspec integration pg11:
641-
extends:
642-
- .rspec-base-pg11
643-
- .rails:rules:rspec-on-pg11
644-
- .rspec-integration-parallel
645-
646-
rspec system pg11:
647-
extends:
648-
- .rspec-base-pg11
649-
- .rails:rules:rspec-on-pg11
650-
- .rspec-system-parallel
651-
652609
# PG13
653610
rspec migration pg13:
654611
extends:
@@ -687,39 +644,6 @@ rspec system pg13:
687644
#####################################
688645
# EE: default branch nightly scheduled jobs #
689646

690-
# PG11
691-
rspec-ee migration pg11:
692-
extends:
693-
- .rspec-ee-base-pg11
694-
- .rspec-base-migration
695-
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
696-
- .rspec-ee-migration-parallel
697-
698-
rspec-ee background_migration pg11:
699-
extends:
700-
- .rspec-ee-base-pg11
701-
- .rspec-base-migration
702-
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
703-
- .rspec-ee-background-migration-parallel
704-
705-
rspec-ee unit pg11:
706-
extends:
707-
- .rspec-ee-base-pg11
708-
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
709-
- .rspec-ee-unit-parallel
710-
711-
rspec-ee integration pg11:
712-
extends:
713-
- .rspec-ee-base-pg11
714-
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
715-
- .rspec-ee-integration-parallel
716-
717-
rspec-ee system pg11:
718-
extends:
719-
- .rspec-ee-base-pg11
720-
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
721-
- .rspec-ee-system-parallel
722-
723647
# PG12
724648
rspec-ee unit pg12 opensearch1:
725649
extends:

.gitlab/ci/rails/shared.gitlab-ci.yml

-10
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,6 @@ include:
9292
- !reference [.base-script, script]
9393
- rspec_paralellized_job "--tag ~quarantine --tag ~zoekt"
9494

95-
.rspec-base-pg11:
96-
extends:
97-
- .rspec-base
98-
- .use-pg11
99-
10095
.rspec-base-pg12:
10196
extends:
10297
- .rspec-base
@@ -119,11 +114,6 @@ include:
119114
- .rspec-base
120115
- .use-pg13
121116

122-
.rspec-ee-base-pg11:
123-
extends:
124-
- .rspec-base
125-
- .use-pg11-es7-ee
126-
127117
.rspec-ee-base-pg12:
128118
extends:
129119
- .rspec-base

.gitlab/ci/rules.gitlab-ci.yml

-9
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,6 @@
8585
.if-merge-request-labels-run-review-app: &if-merge-request-labels-run-review-app
8686
if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-review-app/'
8787

88-
.if-merge-request-labels-run-on-pg11: &if-merge-request-labels-run-on-pg11
89-
if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-on-pg11/'
90-
9188
.if-merge-request-labels-skip-undercoverage: &if-merge-request-labels-skip-undercoverage
9289
if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:skip-undercoverage/'
9390

@@ -1605,7 +1602,6 @@
16051602
- <<: *if-default-refs
16061603
changes: *db-library-patterns
16071604
- <<: *if-merge-request-labels-run-all-rspec
1608-
- <<: *if-merge-request-labels-run-on-pg11
16091605

16101606
.rails:rules:ee-mr-and-default-branch-only:
16111607
rules:
@@ -1695,11 +1691,6 @@
16951691
- <<: *if-merge-request
16961692
changes: *backend-patterns
16971693

1698-
.rails:rules:rspec-on-pg11:
1699-
rules:
1700-
- <<: *if-merge-request-labels-run-on-pg11
1701-
- !reference [".rails:rules:default-branch-schedule-nightly--code-backstage-default-rules", rules]
1702-
17031694
.rails:rules:default-branch-schedule-nightly--code-backstage-default-rules:
17041695
rules:
17051696
- <<: *if-default-branch-schedule-nightly

CHANGELOG.md

+7
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22
documentation](doc/development/changelog.md) for instructions on adding your own
33
entry.
44

5+
## 15.9.1 (2023-02-23)
6+
7+
### Fixed (2 changes)
8+
9+
- [Fix Broadcast messages not showing in admin console](gitlab-org/gitlab@f50dfdfe43231b4bb52378eaaa515ee76c918d03) ([merge request](gitlab-org/gitlab!112831))
10+
- [Fix dependency check in license approval policies](gitlab-org/gitlab@ff5a77036fdb74c4b410fbb954428dbf8736ffd8) ([merge request](gitlab-org/gitlab!112831)) **GitLab Enterprise Edition**
11+
512
## 15.9.0 (2023-02-21)
613

714
### Added (223 changes)

app/assets/javascripts/ide/components/ide.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ export default {
8282
eventHub.$on('skip-beforeunload', this.handleSkipBeforeUnload);
8383
8484
if (this.themeName)
85-
document.querySelector('.navbar-gitlab').classList.add(`theme-${this.themeName}`);
85+
document.querySelector('.navbar-gitlab')?.classList.add(`theme-${this.themeName}`);
8686
},
8787
destroyed() {
8888
eventHub.$off('skip-beforeunload', this.handleSkipBeforeUnload);

app/assets/javascripts/jobs/components/job/manual_variables_form.vue

+7-9
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,14 @@ export default {
7171
required: true,
7272
},
7373
},
74-
clearBtnSharedClasses: ['gl-flex-grow-0 gl-flex-basis-0'],
74+
clearBtnSharedClasses: ['gl-flex-grow-0 gl-flex-basis-0 gl-m-0! gl-ml-3!'],
7575
inputTypes: {
7676
key: 'key',
7777
value: 'value',
7878
},
7979
i18n: {
8080
cancel: s__('CiVariables|Cancel'),
81-
clearInputs: s__('CiVariables|Clear inputs'),
81+
removeInputs: s__('CiVariables|Remove inputs'),
8282
formHelpText: s__(
8383
'CiVariables|Specify variable values to be used in this run. The variables specified in the configuration file and %{linkStart}CI/CD settings%{linkEnd} are used by default.',
8484
),
@@ -209,7 +209,7 @@ export default {
209209
<div
210210
v-for="(variable, index) in variables"
211211
:key="variable.id"
212-
class="gl-display-flex gl-align-items-center gl-mb-4"
212+
class="gl-display-flex gl-align-items-center gl-mb-5"
213213
data-testid="ci-variable-row"
214214
>
215215
<gl-form-input-group class="gl-mr-4 gl-flex-grow-1">
@@ -244,12 +244,11 @@ export default {
244244
<gl-button
245245
v-if="canRemove(index)"
246246
v-gl-tooltip
247-
:aria-label="$options.i18n.clearInputs"
248-
:title="$options.i18n.clearInputs"
247+
:aria-label="$options.i18n.removeInputs"
248+
:title="$options.i18n.removeInputs"
249249
:class="$options.clearBtnSharedClasses"
250250
category="tertiary"
251-
variant="danger"
252-
icon="clear"
251+
icon="remove"
253252
data-testid="delete-variable-btn"
254253
@click="deleteVariable(variable.id)"
255254
/>
@@ -260,8 +259,7 @@ export default {
260259
:class="$options.clearBtnSharedClasses"
261260
data-testid="delete-variable-btn-placeholder"
262261
category="tertiary"
263-
variant="danger"
264-
icon="clear"
262+
icon="remove"
265263
/>
266264
</div>
267265

app/assets/javascripts/lib/utils/text_markdown.js

+22-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import $ from 'jquery';
33
import Shortcuts from '~/behaviors/shortcuts/shortcuts';
44
import { insertText } from '~/lib/utils/common_utils';
5+
import { ENTER_KEY } from '~/lib/utils/keys';
56
import axios from '~/lib/utils/axios_utils';
67

78
const LINK_TAG_PATTERN = '[{text}](url)';
@@ -520,7 +521,7 @@ function continueOlText(listLineMatch, nextLineMatch) {
520521

521522
function handleContinueList(e, textArea) {
522523
if (!gon.markdown_automatic_lists) return;
523-
if (!(e.key === 'Enter')) return;
524+
if (!(e.key === ENTER_KEY)) return;
524525
if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) return;
525526
if (textArea.selectionStart !== textArea.selectionEnd) return;
526527

@@ -577,13 +578,33 @@ function handleContinueList(e, textArea) {
577578
}
578579
}
579580

581+
/**
582+
* Adds a Markdown hard break when `Shift+Enter` is pressed
583+
*
584+
* @param {Object} e - the event
585+
* @param {Object} textArea - the targeted text area
586+
*/
587+
function handleHardBreak(e, textArea) {
588+
if (!(e.key === ENTER_KEY)) return;
589+
if (!e.shiftKey) return;
590+
if (e.altKey || e.ctrlKey || e.metaKey) return;
591+
592+
// prevent unintended line breaks inserted using Japanese IME on MacOS
593+
if (compositioningNoteText) return;
594+
595+
e.preventDefault();
596+
597+
insertText(textArea, '\\\n');
598+
}
599+
580600
export function keypressNoteText(e) {
581601
const textArea = this;
582602

583603
if ($(textArea).atwho?.('isSelecting')) return;
584604

585605
handleContinueList(e, textArea);
586606
handleSurroundSelectedText(e, textArea);
607+
handleHardBreak(e, textArea);
587608
}
588609

589610
export function compositionStartNoteText() {

app/assets/javascripts/pages/projects/commit/show/index.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ import { initReportAbuse } from '~/projects/report_abuse';
2020

2121
const hasPerfBar = document.querySelector('.with-performance-bar');
2222
const performanceHeight = hasPerfBar ? 35 : 0;
23-
initDiffStatsDropdown(document.querySelector('.navbar-gitlab').offsetHeight + performanceHeight);
23+
initDiffStatsDropdown(
24+
(document.querySelector('.navbar-gitlab')?.offsetHeight ?? 0) + performanceHeight,
25+
);
2426
new ZenMode();
2527
new ShortcutsNavigation();
2628

app/assets/javascripts/projects/settings/repository/branch_rules/components/branch_rule.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ export default {
7070
return this.approvalDetails.length;
7171
},
7272
detailsPath() {
73-
return `${this.branchRulesPath}?branch=${this.name}`;
73+
return `${this.branchRulesPath}?branch=${encodeURIComponent(this.name)}`;
7474
},
7575
statusChecksText() {
7676
return sprintf(this.$options.i18n.statusChecks, {

app/assets/javascripts/sidebar/components/participants/participants.vue

+1-2
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ export default {
9999
>
100100
<gl-icon name="users" />
101101
<gl-loading-icon v-if="loading" size="sm" />
102-
<span v-else data-testid="collapsed-count" class="gl-pt-2 gl-px-3 gl-font-sm">
102+
<span v-else class="gl-pt-2 gl-px-3 gl-font-sm">
103103
{{ participantCount }}
104104
</span>
105105
</div>
@@ -133,7 +133,6 @@ export default {
133133
<gl-button
134134
variant="link"
135135
button-text-classes="gl-text-secondary"
136-
data-testid="more-participants"
137136
@click="toggleMoreParticipants"
138137
>{{ toggleLabel }}</gl-button
139138
>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<script>
2+
import { MountingPortal } from 'portal-vue';
3+
import { SIDEBAR_PORTAL_ID, portalState } from '../constants';
4+
5+
/**
6+
* Use this component to render content into the sidebar.
7+
*
8+
* Arbitrary content is allowed, but nav items should be added using a Ruby
9+
* Sidebars::Panel subclass instead.
10+
*
11+
* Only one instance of this component on a given page is supported. This is to
12+
* avoid ordering issues and cluttering the sidebar.
13+
*/
14+
export default {
15+
components: {
16+
MountingPortal,
17+
},
18+
data() {
19+
// This is shared state, by design. Do not mutate this state here.
20+
return portalState;
21+
},
22+
mountSelector: `#${SIDEBAR_PORTAL_ID}`,
23+
};
24+
</script>
25+
26+
<template>
27+
<mounting-portal v-if="ready" :mount-to="$options.mountSelector" append>
28+
<slot></slot>
29+
</mounting-portal>
30+
</template>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<script>
2+
import { SIDEBAR_PORTAL_ID, portalState } from '../constants';
3+
4+
export default {
5+
mounted() {
6+
portalState.ready = true;
7+
},
8+
beforeDestroy() {
9+
portalState.ready = false;
10+
},
11+
mountId: SIDEBAR_PORTAL_ID,
12+
};
13+
</script>
14+
15+
<template>
16+
<div v-once :id="$options.mountId"></div>
17+
</template>

0 commit comments

Comments
 (0)