diff --git a/CHANGELOG-EE.md b/CHANGELOG-EE.md index fd7b523af978edd67eaee490c4dde8fd06b5f945..eb43ae6a328a67ea069c4b4d21bfbbbbf29d57d1 100644 --- a/CHANGELOG-EE.md +++ b/CHANGELOG-EE.md @@ -1,5 +1,13 @@ Please view this file on the master branch, on stable branches it's out of date. +## 12.3.4 + +### Fixed (2 changes) + +- Fix replies to service desk emails for projects with issue access as Only Project Members. !17401 +- Geo: LFS not being synced. !17633 + + ## 12.3.2 ### Security (2 changes) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6eab7f944e79b6fd55553ed36832572ff307c71a..da0e41c6d0e76cd2a8a55acefb09113bd5c4e7a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. +## 12.3.4 + +### Fixed (2 changes) + +- Fix cannot merge icon showing in dropdown for users who can merge. !17306 +- Fix pipelines for merge requests in project exports. !17844 + + ## 12.3.2 ### Security (12 changes) diff --git a/app/assets/javascripts/vue_shared/components/issue/related_issuable_item.vue b/app/assets/javascripts/vue_shared/components/issue/related_issuable_item.vue index b76679960ca7c207f22225f9c0ab75f4cdde24a4..61239a564a85f99e8d3e078d7bfd462c213627f8 100644 --- a/app/assets/javascripts/vue_shared/components/issue/related_issuable_item.vue +++ b/app/assets/javascripts/vue_shared/components/issue/related_issuable_item.vue @@ -159,7 +159,8 @@ export default { v-gl-tooltip :disabled="removeDisabled" type="button" - class="btn btn-default btn-svg btn-item-remove js-issue-item-remove-button qa-remove-issue-button mr-xl-0 align-self-xl-center" + class="btn btn-default btn-svg btn-item-remove js-issue-item-remove-button mr-xl-0 align-self-xl-center" + data-qa-selector="remove_related_issue_button" :title="__('Remove')" :aria-label="__('Remove')" @click="onRemoveRequest" diff --git a/app/assets/stylesheets/framework/contextual_sidebar.scss b/app/assets/stylesheets/framework/contextual_sidebar.scss index 05ae9b1d1ed0eebb0261127198a696c80a520e1a..0e29b0b7dda0d7b9461f0fceef81a3a0d4e4015c 100644 --- a/app/assets/stylesheets/framework/contextual_sidebar.scss +++ b/app/assets/stylesheets/framework/contextual_sidebar.scss @@ -177,7 +177,7 @@ transition: padding $sidebar-transition-duration; display: flex; align-items: center; - padding: 12px 15px; + padding: 12px $gl-padding; color: $gl-text-color-secondary; } @@ -341,7 +341,7 @@ > a { margin-left: 4px; // Subtract width of left border on active element - padding-left: 11px; + padding-left: $gl-padding-12; } .badge.badge-pill { diff --git a/app/views/layouts/nav/_dashboard.html.haml b/app/views/layouts/nav/_dashboard.html.haml index 0d2a96d19171a9a9afffc9ef3f88dca12198e151..5122c2517aa30554d843d66e107b1dacef1a8391 100644 --- a/app/views/layouts/nav/_dashboard.html.haml +++ b/app/views/layouts/nav/_dashboard.html.haml @@ -17,8 +17,6 @@ .dropdown-menu.frequent-items-dropdown-menu = render "layouts/nav/groups_dropdown/show" - = render_if_exists 'layouts/nav/sidebar/analytics_link' - - if any_dashboard_nav_link?([:groups, :milestones, :activity, :snippets]) %li.header-more.dropdown %a{ href: "#", data: { toggle: "dropdown", qa_selector: 'more_dropdown' } } @@ -45,7 +43,7 @@ = link_to dashboard_snippets_path, class: 'dashboard-shortcuts-snippets', data: { qa_selector: 'snippets_link' } do = _('Snippets') - = render_if_exists 'layouts/nav/sidebar/analytics_more_link' + = render_if_exists 'layouts/nav/sidebar/analytics_link' %li.dropdown = render_if_exists 'dashboard/nav_link_list' diff --git a/changelogs/unreleased/26210-toc-links.yml b/changelogs/unreleased/26210-toc-links.yml new file mode 100644 index 0000000000000000000000000000000000000000..c37798c5b39c21df756faf7ecab718de20ae65cb --- /dev/null +++ b/changelogs/unreleased/26210-toc-links.yml @@ -0,0 +1,5 @@ +--- +title: Fix issue with wiki TOC links being treated as external links +merge_request: +author: Oren Kanner +type: fixed diff --git a/changelogs/unreleased/31386-fix-cannot-merge-icon-is-wrong.yml b/changelogs/unreleased/31386-fix-cannot-merge-icon-is-wrong.yml deleted file mode 100644 index 442fc830dfac74d4a9dae5ad306030eda31ff7ce..0000000000000000000000000000000000000000 --- a/changelogs/unreleased/31386-fix-cannot-merge-icon-is-wrong.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix cannot merge icon showing in dropdown for users who can merge -merge_request: 17306 -author: -type: fixed diff --git a/changelogs/unreleased/sh-fix-project-export-for-pipelines-for-mrs-mark2.yml b/changelogs/unreleased/sh-fix-project-export-for-pipelines-for-mrs-mark2.yml deleted file mode 100644 index 72875f10596ee31bec6a4df0d7cb2a62febdfb26..0000000000000000000000000000000000000000 --- a/changelogs/unreleased/sh-fix-project-export-for-pipelines-for-mrs-mark2.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix pipelines for merge requests in project exports -merge_request: 17844 -author: -type: fixed diff --git a/lib/banzai/filter/table_of_contents_filter.rb b/lib/banzai/filter/table_of_contents_filter.rb index ade4d260be13d8b2dc91631240657a610164ebc5..a2c8e92e560f498926ddfa2a029677d8747f1125 100644 --- a/lib/banzai/filter/table_of_contents_filter.rb +++ b/lib/banzai/filter/table_of_contents_filter.rb @@ -56,7 +56,8 @@ module Banzai private def anchor_tag(href) - %Q{} + escaped_href = CGI.escape(href) # account for non-ASCII characters + %Q{} end def push_toc(children, root: false) @@ -80,7 +81,7 @@ module Banzai def initialize(node: nil, href: nil, previous_header: nil) @node = node - @href = href + @href = CGI.escape(href) if href @children = [] @parent = find_parent(previous_header) diff --git a/qa/qa/page/project/issue/show.rb b/qa/qa/page/project/issue/show.rb index 0aa53b1487a0082d7fc59f8516a2f4b692430ea1..d2732eb7dd2753ecdb04b264cddcdd3409a75502 100644 --- a/qa/qa/page/project/issue/show.rb +++ b/qa/qa/page/project/issue/show.rb @@ -36,7 +36,7 @@ module QA end view 'app/assets/javascripts/vue_shared/components/issue/related_issuable_item.vue' do - element :remove_issue_button + element :remove_related_issue_button end view 'app/helpers/dropdowns_helper.rb' do @@ -80,8 +80,8 @@ module QA click_element(:milestone_link) end - def click_remove_issue_button - click_element(:remove_issue_button) + def click_remove_related_issue_button + click_element(:remove_related_issue_button) end # Adds a comment to an issue diff --git a/spec/lib/banzai/filter/table_of_contents_filter_spec.rb b/spec/lib/banzai/filter/table_of_contents_filter_spec.rb index 5ca3c722e3e355542c99f4b9624ea04d8a678825..05ef77c811a75ad8de3cc7dff38427e7d2a93ba6 100644 --- a/spec/lib/banzai/filter/table_of_contents_filter_spec.rb +++ b/spec/lib/banzai/filter/table_of_contents_filter_spec.rb @@ -82,7 +82,9 @@ describe Banzai::Filter::TableOfContentsFilter do it 'supports Unicode' do doc = filter(header(1, '한글')) expect(doc.css('h1 a').first.attr('id')).to eq 'user-content-한글' - expect(doc.css('h1 a').first.attr('href')).to eq '#한글' + # check that we encode the href to avoid issues with the + # ExternalLinkFilter (see https://gitlab.com/gitlab-org/gitlab/issues/26210) + expect(doc.css('h1 a').first.attr('href')).to eq "##{CGI.escape('한글')}" end end end diff --git a/spec/models/pages_domain_spec.rb b/spec/models/pages_domain_spec.rb index 2e7b2b88432c501387bb4904e6e509a4875832d1..95abe8fe060856810939a1423518346cb58c6ac4 100644 --- a/spec/models/pages_domain_spec.rb +++ b/spec/models/pages_domain_spec.rb @@ -160,7 +160,7 @@ describe PagesDomain do end context 'when curve is set explicitly by parameters' do - it 'adds errors to private key' do + it 'adds errors to private key', :quarantine do domain = build(:pages_domain, :explicit_ecdsa) expect(domain).to be_invalid diff --git a/spec/validators/named_ecdsa_key_validator_spec.rb b/spec/validators/named_ecdsa_key_validator_spec.rb index 044c5b84a56e447d430e5f79609443423d207e3b..7e3ceb1cbada135f5f2db766b466ce12aa749004 100644 --- a/spec/validators/named_ecdsa_key_validator_spec.rb +++ b/spec/validators/named_ecdsa_key_validator_spec.rb @@ -43,7 +43,7 @@ describe NamedEcdsaKeyValidator do context 'with ECDSA certificate with explicit curve params' do let(:value) { attributes_for(:pages_domain, :explicit_ecdsa)[:key] } - it 'adds errors' do + it 'adds errors', :quarantine do expect(value).to be_present subject