diff --git a/.gitlab/ci/global.gitlab-ci.yml b/.gitlab/ci/global.gitlab-ci.yml index ba623ef4cbe..0ee810340ff 100644 --- a/.gitlab/ci/global.gitlab-ci.yml +++ b/.gitlab/ci/global.gitlab-ci.yml @@ -229,14 +229,6 @@ - *node-modules-cache # We don't push this cache as it's already rebuilt by `update-assets-compile-*-cache` - *storybook-node-modules-cache-push -.use-pg11: - services: - - name: postgres:11.6 - command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"] - - name: redis:5.0-alpine - variables: - POSTGRES_HOST_AUTH_METHOD: trust - PG_VERSION: "11" .use-pg12: services: @@ -256,21 +248,6 @@ POSTGRES_HOST_AUTH_METHOD: trust PG_VERSION: "13" -.use-pg11-es7-ee: - services: - - name: postgres:11.6 - command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"] - - name: redis:5.0-alpine - - name: elasticsearch:7.17.6 - command: ["elasticsearch", "-E", "discovery.type=single-node", "-E", "xpack.security.enabled=false"] - - name: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:zoekt-ci-image-1.0 - alias: zoekt-ci-image - variables: - POSTGRES_HOST_AUTH_METHOD: trust - PG_VERSION: "11" - ZOEKT_INDEX_BASE_URL: http://zoekt-ci-image:6060 - ZOEKT_SEARCH_BASE_URL: http://zoekt-ci-image:6070 - .use-pg12-es7-ee: services: - name: postgres:12 diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml index 23f38fddb80..671325101e2 100644 --- a/.gitlab/ci/rails.gitlab-ci.yml +++ b/.gitlab/ci/rails.gitlab-ci.yml @@ -191,16 +191,6 @@ rspec system pg12 praefect: - .praefect-with-db - .rails:rules:praefect-with-db -# Dedicated job to test DB library code against PG11. -# Note that these are already tested against PG12 in the `rspec unit pg12` / `rspec-ee unit pg12` jobs. -rspec db-library-code pg11: - extends: - - .rspec-base-pg11 - - .rails:rules:ee-and-foss-db-library-code - script: - - !reference [.base-script, script] - - rspec_db_library_code - rspec fast_spec_helper: extends: - .rspec-base-pg12 @@ -616,39 +606,6 @@ rspec-ee system pg12 single-db: ########################################## # EE/FOSS: default branch nightly scheduled jobs # -# PG11 -rspec migration pg11: - extends: - - .rspec-base-pg11 - - .rspec-base-migration - - .rails:rules:rspec-on-pg11 - - .rspec-migration-parallel - -rspec background_migration pg11: - extends: - - .rspec-base-pg11 - - .rspec-base-migration - - .rails:rules:rspec-on-pg11 - - .rspec-background-migration-parallel - -rspec unit pg11: - extends: - - .rspec-base-pg11 - - .rails:rules:rspec-on-pg11 - - .rspec-unit-parallel - -rspec integration pg11: - extends: - - .rspec-base-pg11 - - .rails:rules:rspec-on-pg11 - - .rspec-integration-parallel - -rspec system pg11: - extends: - - .rspec-base-pg11 - - .rails:rules:rspec-on-pg11 - - .rspec-system-parallel - # PG13 rspec migration pg13: extends: @@ -687,39 +644,6 @@ rspec system pg13: ##################################### # EE: default branch nightly scheduled jobs # -# PG11 -rspec-ee migration pg11: - extends: - - .rspec-ee-base-pg11 - - .rspec-base-migration - - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only - - .rspec-ee-migration-parallel - -rspec-ee background_migration pg11: - extends: - - .rspec-ee-base-pg11 - - .rspec-base-migration - - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only - - .rspec-ee-background-migration-parallel - -rspec-ee unit pg11: - extends: - - .rspec-ee-base-pg11 - - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only - - .rspec-ee-unit-parallel - -rspec-ee integration pg11: - extends: - - .rspec-ee-base-pg11 - - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only - - .rspec-ee-integration-parallel - -rspec-ee system pg11: - extends: - - .rspec-ee-base-pg11 - - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only - - .rspec-ee-system-parallel - # PG12 rspec-ee unit pg12 opensearch1: extends: diff --git a/.gitlab/ci/rails/shared.gitlab-ci.yml b/.gitlab/ci/rails/shared.gitlab-ci.yml index 4943f7c2e28..ba0781a845f 100644 --- a/.gitlab/ci/rails/shared.gitlab-ci.yml +++ b/.gitlab/ci/rails/shared.gitlab-ci.yml @@ -92,11 +92,6 @@ include: - !reference [.base-script, script] - rspec_paralellized_job "--tag ~quarantine --tag ~zoekt" -.rspec-base-pg11: - extends: - - .rspec-base - - .use-pg11 - .rspec-base-pg12: extends: - .rspec-base @@ -119,11 +114,6 @@ include: - .rspec-base - .use-pg13 -.rspec-ee-base-pg11: - extends: - - .rspec-base - - .use-pg11-es7-ee - .rspec-ee-base-pg12: extends: - .rspec-base diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index d1e29084a5a..ee85ca82673 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -85,9 +85,6 @@ .if-merge-request-labels-run-review-app: &if-merge-request-labels-run-review-app if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-review-app/' -.if-merge-request-labels-run-on-pg11: &if-merge-request-labels-run-on-pg11 - if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-on-pg11/' - .if-merge-request-labels-skip-undercoverage: &if-merge-request-labels-skip-undercoverage if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:skip-undercoverage/' @@ -1605,7 +1602,6 @@ - <<: *if-default-refs changes: *db-library-patterns - <<: *if-merge-request-labels-run-all-rspec - - <<: *if-merge-request-labels-run-on-pg11 .rails:rules:ee-mr-and-default-branch-only: rules: @@ -1695,11 +1691,6 @@ - <<: *if-merge-request changes: *backend-patterns -.rails:rules:rspec-on-pg11: - rules: - - <<: *if-merge-request-labels-run-on-pg11 - - !reference [".rails:rules:default-branch-schedule-nightly--code-backstage-default-rules", rules] - .rails:rules:default-branch-schedule-nightly--code-backstage-default-rules: rules: - <<: *if-default-branch-schedule-nightly diff --git a/CHANGELOG.md b/CHANGELOG.md index bba2aeb77cc..b82e5de350f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. +## 15.9.1 (2023-02-23) + +### Fixed (2 changes) + +- [Fix Broadcast messages not showing in admin console](gitlab-org/gitlab@f50dfdfe43231b4bb52378eaaa515ee76c918d03) ([merge request](gitlab-org/gitlab!112831)) +- [Fix dependency check in license approval policies](gitlab-org/gitlab@ff5a77036fdb74c4b410fbb954428dbf8736ffd8) ([merge request](gitlab-org/gitlab!112831)) **GitLab Enterprise Edition** + ## 15.9.0 (2023-02-21) ### Added (223 changes) diff --git a/app/assets/javascripts/ide/components/ide.vue b/app/assets/javascripts/ide/components/ide.vue index 838debf1ceb..6bbad88715f 100644 --- a/app/assets/javascripts/ide/components/ide.vue +++ b/app/assets/javascripts/ide/components/ide.vue @@ -82,7 +82,7 @@ export default { eventHub.$on('skip-beforeunload', this.handleSkipBeforeUnload); if (this.themeName) - document.querySelector('.navbar-gitlab').classList.add(`theme-${this.themeName}`); + document.querySelector('.navbar-gitlab')?.classList.add(`theme-${this.themeName}`); }, destroyed() { eventHub.$off('skip-beforeunload', this.handleSkipBeforeUnload); diff --git a/app/assets/javascripts/jobs/components/job/manual_variables_form.vue b/app/assets/javascripts/jobs/components/job/manual_variables_form.vue index df37cd1f585..a92153c0509 100644 --- a/app/assets/javascripts/jobs/components/job/manual_variables_form.vue +++ b/app/assets/javascripts/jobs/components/job/manual_variables_form.vue @@ -71,14 +71,14 @@ export default { required: true, }, }, - clearBtnSharedClasses: ['gl-flex-grow-0 gl-flex-basis-0'], + clearBtnSharedClasses: ['gl-flex-grow-0 gl-flex-basis-0 gl-m-0! gl-ml-3!'], inputTypes: { key: 'key', value: 'value', }, i18n: { cancel: s__('CiVariables|Cancel'), - clearInputs: s__('CiVariables|Clear inputs'), + removeInputs: s__('CiVariables|Remove inputs'), formHelpText: s__( '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.', ), @@ -209,7 +209,7 @@ export default {
@@ -244,12 +244,11 @@ export default { @@ -260,8 +259,7 @@ export default { :class="$options.clearBtnSharedClasses" data-testid="delete-variable-btn-placeholder" category="tertiary" - variant="danger" - icon="clear" + icon="remove" />
diff --git a/app/assets/javascripts/lib/utils/text_markdown.js b/app/assets/javascripts/lib/utils/text_markdown.js index ebc118c0d87..83ae7142cf2 100644 --- a/app/assets/javascripts/lib/utils/text_markdown.js +++ b/app/assets/javascripts/lib/utils/text_markdown.js @@ -2,6 +2,7 @@ import $ from 'jquery'; import Shortcuts from '~/behaviors/shortcuts/shortcuts'; import { insertText } from '~/lib/utils/common_utils'; +import { ENTER_KEY } from '~/lib/utils/keys'; import axios from '~/lib/utils/axios_utils'; const LINK_TAG_PATTERN = '[{text}](url)'; @@ -520,7 +521,7 @@ function continueOlText(listLineMatch, nextLineMatch) { function handleContinueList(e, textArea) { if (!gon.markdown_automatic_lists) return; - if (!(e.key === 'Enter')) return; + if (!(e.key === ENTER_KEY)) return; if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) return; if (textArea.selectionStart !== textArea.selectionEnd) return; @@ -577,6 +578,25 @@ function handleContinueList(e, textArea) { } } +/** + * Adds a Markdown hard break when `Shift+Enter` is pressed + * + * @param {Object} e - the event + * @param {Object} textArea - the targeted text area + */ +function handleHardBreak(e, textArea) { + if (!(e.key === ENTER_KEY)) return; + if (!e.shiftKey) return; + if (e.altKey || e.ctrlKey || e.metaKey) return; + + // prevent unintended line breaks inserted using Japanese IME on MacOS + if (compositioningNoteText) return; + + e.preventDefault(); + + insertText(textArea, '\\\n'); +} + export function keypressNoteText(e) { const textArea = this; @@ -584,6 +604,7 @@ export function keypressNoteText(e) { handleContinueList(e, textArea); handleSurroundSelectedText(e, textArea); + handleHardBreak(e, textArea); } export function compositionStartNoteText() { diff --git a/app/assets/javascripts/pages/projects/commit/show/index.js b/app/assets/javascripts/pages/projects/commit/show/index.js index 667fd89af55..3a293956089 100644 --- a/app/assets/javascripts/pages/projects/commit/show/index.js +++ b/app/assets/javascripts/pages/projects/commit/show/index.js @@ -20,7 +20,9 @@ import { initReportAbuse } from '~/projects/report_abuse'; const hasPerfBar = document.querySelector('.with-performance-bar'); const performanceHeight = hasPerfBar ? 35 : 0; -initDiffStatsDropdown(document.querySelector('.navbar-gitlab').offsetHeight + performanceHeight); +initDiffStatsDropdown( + (document.querySelector('.navbar-gitlab')?.offsetHeight ?? 0) + performanceHeight, +); new ZenMode(); new ShortcutsNavigation(); diff --git a/app/assets/javascripts/projects/settings/repository/branch_rules/components/branch_rule.vue b/app/assets/javascripts/projects/settings/repository/branch_rules/components/branch_rule.vue index fa96eee5f92..35e65698cd2 100644 --- a/app/assets/javascripts/projects/settings/repository/branch_rules/components/branch_rule.vue +++ b/app/assets/javascripts/projects/settings/repository/branch_rules/components/branch_rule.vue @@ -70,7 +70,7 @@ export default { return this.approvalDetails.length; }, detailsPath() { - return `${this.branchRulesPath}?branch=${this.name}`; + return `${this.branchRulesPath}?branch=${encodeURIComponent(this.name)}`; }, statusChecksText() { return sprintf(this.$options.i18n.statusChecks, { diff --git a/app/assets/javascripts/sidebar/components/participants/participants.vue b/app/assets/javascripts/sidebar/components/participants/participants.vue index 2f25c2fd4b0..b8f659ac56f 100644 --- a/app/assets/javascripts/sidebar/components/participants/participants.vue +++ b/app/assets/javascripts/sidebar/components/participants/participants.vue @@ -99,7 +99,7 @@ export default { > - + {{ participantCount }} @@ -133,7 +133,6 @@ export default { {{ toggleLabel }} diff --git a/app/assets/javascripts/super_sidebar/components/sidebar_portal.vue b/app/assets/javascripts/super_sidebar/components/sidebar_portal.vue new file mode 100644 index 00000000000..2a805c86a3b --- /dev/null +++ b/app/assets/javascripts/super_sidebar/components/sidebar_portal.vue @@ -0,0 +1,30 @@ + + + diff --git a/app/assets/javascripts/super_sidebar/components/sidebar_portal_target.vue b/app/assets/javascripts/super_sidebar/components/sidebar_portal_target.vue new file mode 100644 index 00000000000..1154a4357e0 --- /dev/null +++ b/app/assets/javascripts/super_sidebar/components/sidebar_portal_target.vue @@ -0,0 +1,17 @@ + + + diff --git a/app/assets/javascripts/super_sidebar/components/super_sidebar.vue b/app/assets/javascripts/super_sidebar/components/super_sidebar.vue index b7a70825b62..2da71c029fd 100644 --- a/app/assets/javascripts/super_sidebar/components/super_sidebar.vue +++ b/app/assets/javascripts/super_sidebar/components/super_sidebar.vue @@ -1,6 +1,7 @@