Skip to content

Commit e8d1500

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent 9305db9 commit e8d1500

File tree

119 files changed

+1962
-591
lines changed

Some content is hidden

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

119 files changed

+1962
-591
lines changed

CHANGELOG.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,23 @@
22
documentation](doc/development/changelog.md) for instructions on adding your own
33
entry.
44

5+
## 17.10.4 (2025-04-09)
6+
7+
### Fixed (2 changes)
8+
9+
- [Fix invalid pipelines for scan execution policies](https://gitlab.com/gitlab-org/security/gitlab/-/commit/b27b9794e62f4e8ba33e2f56c1c7c64872b4e771) **GitLab Enterprise Edition**
10+
- [Move group.cluster_agents field to CE](https://gitlab.com/gitlab-org/security/gitlab/-/commit/d649d85eab978e106135cc03db4baf261d5d8cb3) **GitLab Enterprise Edition**
11+
12+
### Security (7 changes)
13+
14+
- [Bump workhorse golang-jwt/jwt to 5.2.2](https://gitlab.com/gitlab-org/security/gitlab/-/commit/0ccf3be7475234aca2c54bd1b0283cd9efed6d87) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4912))
15+
- [Global search count leak for confidential issues](https://gitlab.com/gitlab-org/security/gitlab/-/commit/2a6b55c797818a232b0b6ca271f42f594f5a2eae) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4907))
16+
- [Set the IP address state for Action Cable requests](https://gitlab.com/gitlab-org/security/gitlab/-/commit/eef77387081aaf590f13dcdbd7faa6cbadd26bb7) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4904))
17+
- [Bump Golang Oauth2 >=0.27.0](https://gitlab.com/gitlab-org/security/gitlab/-/commit/ee730000f88d319bbd70ce828a0b21118e30231b) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4893))
18+
- [Adding validation for Ci::Pipeline](https://gitlab.com/gitlab-org/security/gitlab/-/commit/5d8162f4dfd64d817adef4b2bfd6ce174b66fa44) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4884))
19+
- [Add delay to when pointer events are enabled for 0Auth authorize page](https://gitlab.com/gitlab-org/security/gitlab/-/commit/d54f30acea881202ae0b225c20d306633d7708bf) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4888))
20+
- [Do not enable pprof by default in Workhorse](https://gitlab.com/gitlab-org/security/gitlab/-/commit/4e61600d751d0aba541d8019c9c6419762acc1b7) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4891))
21+
522
## 17.10.3 (2025-04-02)
623

724
No changes.
@@ -826,6 +843,17 @@ No changes.
826843
- [Quarantine a flaky test](https://gitlab.com/gitlab-org/gitlab/-/commit/998d8028213da6bf0c3c1c08301797c8b3395c28) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/180234))
827844
- [Quarantine a flaky test](https://gitlab.com/gitlab-org/gitlab/-/commit/8ae69a3765cfb7561db95e43faa30cc60fac6444) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/177662))
828845

846+
## 17.9.6 (2025-04-09)
847+
848+
### Security (6 changes)
849+
850+
- [Bump workhorse golang-jwt/jwt to 5.2.2](https://gitlab.com/gitlab-org/security/gitlab/-/commit/ac61772efb740af0684755d1db7d057f412b218e) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4913))
851+
- [Global search count leak for confidential issues](https://gitlab.com/gitlab-org/security/gitlab/-/commit/46932e9f78e0b138b8fd7320b2e4e4c09f2fcfc0) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4908))
852+
- [Set the IP address state for Action Cable requests](https://gitlab.com/gitlab-org/security/gitlab/-/commit/7019ae8aa04f49f66d7db86ec4023f816f8e90f1) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4905))
853+
- [Adding validation for Ci::Pipeline](https://gitlab.com/gitlab-org/security/gitlab/-/commit/33961db6cab6ac4d3cc99d4ad521f160b43aafe2) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4885))
854+
- [Add delay to when pointer events are enabled for 0Auth authorize page](https://gitlab.com/gitlab-org/security/gitlab/-/commit/b154f7884178a622da6d60fdcbd1097ce50cc6cb) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4852))
855+
- [Do not enable pprof by default in Workhorse](https://gitlab.com/gitlab-org/security/gitlab/-/commit/94aba826029e01791e394456aa9dd6a5db497415) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4890))
856+
829857
## 17.9.5 (2025-04-02)
830858

831859
No changes.
@@ -1970,6 +1998,20 @@ No changes.
19701998
- [Quarantine a flaky test](https://gitlab.com/gitlab-org/gitlab/-/commit/c932e35efdc0e3c6f316a3c2d37045e115ce8cd5) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/176452))
19711999
- [Finalize migration BackfillRemoteDevelopmentAgentConfigsProjectId](https://gitlab.com/gitlab-org/gitlab/-/commit/da4c63d7aab3685c3fbe9d1e48f68ba2162a0b5e) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/172769))
19722000

2001+
## 17.8.7 (2025-04-09)
2002+
2003+
### Security (5 changes)
2004+
2005+
- [Bump workhorse golang-jwt/jwt to 5.2.2](https://gitlab.com/gitlab-org/security/gitlab/-/commit/00f779daaff694529b5ae4d15011c6ed66ce8130) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4914))
2006+
- [Global search count leak for confidential issues](https://gitlab.com/gitlab-org/security/gitlab/-/commit/84a94c7a024ff295241bbf659812cd4a71bd2639) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4909))
2007+
- [Set the IP address state for Action Cable requests](https://gitlab.com/gitlab-org/security/gitlab/-/commit/41e74002f076ce8af8d6ed1b7452f5b03c94f291) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4906))
2008+
- [Adding validation for Ci::Pipeline](https://gitlab.com/gitlab-org/security/gitlab/-/commit/e1b887d7c7a826a696a2d459cbd7263b4d78d25c) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4886))
2009+
- [Add delay to when pointer events are enabled for 0Auth authorize page](https://gitlab.com/gitlab-org/security/gitlab/-/commit/c0202d64a770617d01884b47cac582867769c84b) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4853))
2010+
2011+
### Other (1 change)
2012+
2013+
- [No-op ci_runner_machines_687967fa8a table backfill migration](https://gitlab.com/gitlab-org/security/gitlab/-/commit/547295b6cfb9da651208fbe64da67d236ff813de)
2014+
19732015
## 17.8.6 (2025-03-26)
19742016

19752017
### Fixed (1 change)

Gemfile.checksum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@
238238
{"name":"gitlab-markup","version":"2.0.0","platform":"ruby","checksum":"951a1c871463a8f329e6c002b2da337cd547febcc1e33d84df4a212419fba02e"},
239239
{"name":"gitlab-net-dns","version":"0.10.0","platform":"ruby","checksum":"73b4613d8c851480b7b4e631f117bce4bbb4b6b8073ecf4eb167407e46097c6e"},
240240
{"name":"gitlab-sdk","version":"0.3.1","platform":"ruby","checksum":"48ba49084f4ab92df7c7ef9f347020d9dfdf6ed9c1e782b67264e98ffe6ea710"},
241-
{"name":"gitlab-secret_detection","version":"0.21.0","platform":"ruby","checksum":"cfef3689a9706f5a507981d2159f4f8170a41c027eaf8a06551cce763ba07442"},
241+
{"name":"gitlab-secret_detection","version":"0.23.0","platform":"ruby","checksum":"93dd3cd32a15d992a46cdd38bb01fe1f06d9e7f1638cc1e792dcde2279c863e7"},
242242
{"name":"gitlab-security_report_schemas","version":"0.1.2.min15.0.0.max15.2.1","platform":"ruby","checksum":"300037487ec9d51a814f648514ff521cb82b94fc51d9fe53389175b36ac680ae"},
243243
{"name":"gitlab-styles","version":"13.1.0","platform":"ruby","checksum":"46c7c5729616355868b7b40a4ffcd052b36346076042abe8cafaee1688cbf2c1"},
244244
{"name":"gitlab_chronic_duration","version":"0.12.0","platform":"ruby","checksum":"0d766944d415b5c831f176871ee8625783fc0c5bfbef2d79a3a616f207ffc16d"},
@@ -540,7 +540,7 @@
540540
{"name":"raabro","version":"1.4.0","platform":"ruby","checksum":"d4fa9ff5172391edb92b242eed8be802d1934b1464061ae5e70d80962c5da882"},
541541
{"name":"racc","version":"1.8.1","platform":"java","checksum":"54f2e6d1e1b91c154013277d986f52a90e5ececbe91465d29172e49342732b98"},
542542
{"name":"racc","version":"1.8.1","platform":"ruby","checksum":"4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f"},
543-
{"name":"rack","version":"2.2.12","platform":"ruby","checksum":"e3844c326a1d487c354710eb7455a76f6eedaa6d2c80f6387e9faa1dd9bafdd8"},
543+
{"name":"rack","version":"2.2.13","platform":"ruby","checksum":"ccee101719696a5da12ee9da6fb3b1d20cb329939e089e0e458be6e93667f0fb"},
544544
{"name":"rack-accept","version":"0.4.5","platform":"ruby","checksum":"66247b5449db64ebb93ae2ec4af4764b87d1ae8a7463c7c68893ac13fa8d4da2"},
545545
{"name":"rack-attack","version":"6.7.0","platform":"ruby","checksum":"3ca47e8f66cd33b2c96af53ea4754525cd928ed3fa8da10ee6dad0277791d77c"},
546546
{"name":"rack-cors","version":"2.0.2","platform":"ruby","checksum":"415d4e1599891760c5dc9ef0349c7fecdf94f7c6a03e75b2e7c2b54b82adda1b"},

Gemfile.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -786,8 +786,8 @@ GEM
786786
activesupport (>= 5.2.0)
787787
rake (~> 13.0)
788788
snowplow-tracker (~> 0.8.0)
789-
gitlab-secret_detection (0.21.0)
790-
grpc (~> 1.63)
789+
gitlab-secret_detection (0.23.0)
790+
grpc (~> 1.63.0)
791791
grpc-tools (~> 1.63)
792792
grpc_reflection (~> 0.1)
793793
parallel (~> 1)
@@ -1494,7 +1494,7 @@ GEM
14941494
pyu-ruby-sasl (0.0.3.3)
14951495
raabro (1.4.0)
14961496
racc (1.8.1)
1497-
rack (2.2.12)
1497+
rack (2.2.13)
14981498
rack-accept (0.4.5)
14991499
rack (>= 0.4)
15001500
rack-attack (6.7.0)

Gemfile.next.checksum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@
238238
{"name":"gitlab-markup","version":"2.0.0","platform":"ruby","checksum":"951a1c871463a8f329e6c002b2da337cd547febcc1e33d84df4a212419fba02e"},
239239
{"name":"gitlab-net-dns","version":"0.10.0","platform":"ruby","checksum":"73b4613d8c851480b7b4e631f117bce4bbb4b6b8073ecf4eb167407e46097c6e"},
240240
{"name":"gitlab-sdk","version":"0.3.1","platform":"ruby","checksum":"48ba49084f4ab92df7c7ef9f347020d9dfdf6ed9c1e782b67264e98ffe6ea710"},
241-
{"name":"gitlab-secret_detection","version":"0.21.0","platform":"ruby","checksum":"cfef3689a9706f5a507981d2159f4f8170a41c027eaf8a06551cce763ba07442"},
241+
{"name":"gitlab-secret_detection","version":"0.23.0","platform":"ruby","checksum":"93dd3cd32a15d992a46cdd38bb01fe1f06d9e7f1638cc1e792dcde2279c863e7"},
242242
{"name":"gitlab-security_report_schemas","version":"0.1.2.min15.0.0.max15.2.1","platform":"ruby","checksum":"300037487ec9d51a814f648514ff521cb82b94fc51d9fe53389175b36ac680ae"},
243243
{"name":"gitlab-styles","version":"13.1.0","platform":"ruby","checksum":"46c7c5729616355868b7b40a4ffcd052b36346076042abe8cafaee1688cbf2c1"},
244244
{"name":"gitlab_chronic_duration","version":"0.12.0","platform":"ruby","checksum":"0d766944d415b5c831f176871ee8625783fc0c5bfbef2d79a3a616f207ffc16d"},
@@ -547,7 +547,7 @@
547547
{"name":"raabro","version":"1.4.0","platform":"ruby","checksum":"d4fa9ff5172391edb92b242eed8be802d1934b1464061ae5e70d80962c5da882"},
548548
{"name":"racc","version":"1.8.1","platform":"java","checksum":"54f2e6d1e1b91c154013277d986f52a90e5ececbe91465d29172e49342732b98"},
549549
{"name":"racc","version":"1.8.1","platform":"ruby","checksum":"4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f"},
550-
{"name":"rack","version":"2.2.12","platform":"ruby","checksum":"e3844c326a1d487c354710eb7455a76f6eedaa6d2c80f6387e9faa1dd9bafdd8"},
550+
{"name":"rack","version":"2.2.13","platform":"ruby","checksum":"ccee101719696a5da12ee9da6fb3b1d20cb329939e089e0e458be6e93667f0fb"},
551551
{"name":"rack-accept","version":"0.4.5","platform":"ruby","checksum":"66247b5449db64ebb93ae2ec4af4764b87d1ae8a7463c7c68893ac13fa8d4da2"},
552552
{"name":"rack-attack","version":"6.7.0","platform":"ruby","checksum":"3ca47e8f66cd33b2c96af53ea4754525cd928ed3fa8da10ee6dad0277791d77c"},
553553
{"name":"rack-cors","version":"2.0.2","platform":"ruby","checksum":"415d4e1599891760c5dc9ef0349c7fecdf94f7c6a03e75b2e7c2b54b82adda1b"},

Gemfile.next.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -798,8 +798,8 @@ GEM
798798
activesupport (>= 5.2.0)
799799
rake (~> 13.0)
800800
snowplow-tracker (~> 0.8.0)
801-
gitlab-secret_detection (0.21.0)
802-
grpc (~> 1.63)
801+
gitlab-secret_detection (0.23.0)
802+
grpc (~> 1.63.0)
803803
grpc-tools (~> 1.63)
804804
grpc_reflection (~> 0.1)
805805
parallel (~> 1)
@@ -1517,7 +1517,7 @@ GEM
15171517
pyu-ruby-sasl (0.0.3.3)
15181518
raabro (1.4.0)
15191519
racc (1.8.1)
1520-
rack (2.2.12)
1520+
rack (2.2.13)
15211521
rack-accept (0.4.5)
15221522
rack (>= 0.4)
15231523
rack-attack (6.7.0)
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
<script>
2+
import { GlFormRadioGroup, GlFormRadio } from '@gitlab/ui';
3+
import { s__ } from '~/locale';
4+
5+
export const USER_TYPE_REGULAR = {
6+
value: 'regular',
7+
text: s__('AdminUsers|Regular'),
8+
description: s__('AdminUsers|Access to their groups and projects.'),
9+
};
10+
export const USER_TYPE_AUDITOR = {
11+
value: 'auditor',
12+
text: s__('AdminUsers|Auditor'),
13+
description: s__(
14+
'AdminUsers|Read-only access to all groups and projects. No access to the Admin area by default.',
15+
),
16+
};
17+
// description is set dynamically based on isCurrentUser prop.
18+
export const USER_TYPE_ADMIN = { value: 'admin', text: s__('AdminUsers|Administrator') };
19+
20+
// This component is rendered inside a HTML form, so it doesn't submit any data directly. It only sets up the input
21+
// values so that when the form is submitted, the values selected in this component are submitted as well.
22+
export default {
23+
components: { GlFormRadioGroup, GlFormRadio },
24+
props: {
25+
userType: {
26+
type: String,
27+
required: true,
28+
},
29+
isCurrentUser: {
30+
type: Boolean,
31+
required: true,
32+
},
33+
licenseAllowsAuditorUser: {
34+
type: Boolean,
35+
required: true,
36+
},
37+
},
38+
data() {
39+
return {
40+
currentUserType: this.userType,
41+
};
42+
},
43+
computed: {
44+
userTypeItems() {
45+
USER_TYPE_ADMIN.description = this.isCurrentUser
46+
? s__(
47+
'AdminUsers|Full access to all groups, projects, users, features, and the Admin area. You cannot remove your own administrator access.',
48+
)
49+
: s__(
50+
'AdminUsers|Full access to all groups, projects, users, features, and the Admin area.',
51+
);
52+
53+
return this.licenseAllowsAuditorUser
54+
? [USER_TYPE_REGULAR, USER_TYPE_AUDITOR, USER_TYPE_ADMIN]
55+
: [USER_TYPE_REGULAR, USER_TYPE_ADMIN];
56+
},
57+
},
58+
};
59+
</script>
60+
61+
<template>
62+
<div class="gl-mb-5">
63+
<label class="gl-mb-0">{{ s__('AdminUsers|User type') }}</label>
64+
<p class="gl-text-subtle">
65+
{{ s__('AdminUsers|Define user access to groups, projects, resources, and the Admin area.') }}
66+
</p>
67+
68+
<gl-form-radio-group
69+
v-model="currentUserType"
70+
name="user[access_level]"
71+
class="gl-flex gl-flex-col gl-gap-3"
72+
>
73+
<gl-form-radio
74+
v-for="item in userTypeItems"
75+
:key="item.value"
76+
:value="item.value"
77+
:disabled="isCurrentUser"
78+
:data-testid="`user-type-${item.value}`"
79+
>
80+
{{ item.text }}
81+
<template #help>{{ item.description }}</template>
82+
</gl-form-radio>
83+
</gl-form-radio-group>
84+
</div>
85+
</template>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import Vue from 'vue';
2+
import VueApollo from 'vue-apollo';
3+
import createDefaultClient from '~/lib/graphql';
4+
import { parseBoolean } from '~/lib/utils/common_utils';
5+
import UserTypeSelector from './components/user_type/user_type_selector.vue';
6+
7+
Vue.use(VueApollo);
8+
9+
const apolloProvider = new VueApollo({
10+
defaultClient: createDefaultClient(),
11+
});
12+
13+
export const initUserTypeSelector = () => {
14+
const el = document.getElementById('js-user-type');
15+
if (!el) return null;
16+
17+
const { userType, isCurrentUser, licenseAllowsAuditorUser } = el.dataset;
18+
19+
return new Vue({
20+
el,
21+
name: 'UserTypeSelectorRoot',
22+
apolloProvider,
23+
render(createElement) {
24+
return createElement(UserTypeSelector, {
25+
props: {
26+
userType,
27+
isCurrentUser: parseBoolean(isCurrentUser),
28+
licenseAllowsAuditorUser: parseBoolean(licenseAllowsAuditorUser),
29+
},
30+
});
31+
},
32+
});
33+
};

app/assets/javascripts/batch_comments/components/review_drawer.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
<script>
2-
// eslint-disable-next-line no-restricted-imports
3-
import { mapActions as mapVuexActions } from 'vuex';
42
import { mapActions, mapState } from 'pinia';
53
import { GlDrawer } from '@gitlab/ui';
64
import PreviewItem from '~/batch_comments/components/preview_item.vue';
75
import { useBatchComments } from '~/batch_comments/store';
86
import { setUrlParams, visitUrl } from '~/lib/utils/url_utility';
97
import { getContentWrapperHeight } from '~/lib/utils/dom_utils';
108
import { DRAWER_Z_INDEX } from '~/lib/utils/constants';
9+
import { useLegacyDiffs } from '~/diffs/stores/legacy_diffs';
1110
1211
export default {
1312
name: 'ReviewDrawer',
1413
components: { GlDrawer, PreviewItem },
1514
computed: {
15+
...mapState(useLegacyDiffs, ['viewDiffsFileByFile']),
1616
...mapState(useBatchComments, ['sortedDrafts', 'draftsCount', 'drawerOpened']),
1717
getDrawerHeaderHeight() {
1818
if (!this.drawerOpened) return '0';
@@ -21,7 +21,7 @@ export default {
2121
},
2222
},
2323
methods: {
24-
...mapVuexActions('diffs', ['goToFile']),
24+
...mapActions(useLegacyDiffs, ['goToFile']),
2525
...mapActions(useBatchComments, ['scrollToDraft', 'setDrawerOpened']),
2626
async onClickDraft(draft) {
2727
if (this.viewDiffsFileByFile) {

app/assets/javascripts/content_editor/services/serialization_helpers.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,8 @@ export function preserveUnchangedMark({ open, close, escape = true, ...restConfi
209209
}
210210

211211
function endBuffer(state, replace) {
212-
state.out = state.out.substring(0, bufferStartPos) + replace;
212+
const whitespace = state.out.substring(bufferStartPos).match(/^\s+/m)?.[0] || '';
213+
state.out = state.out.substring(0, bufferStartPos) + whitespace + replace;
213214
bufferStartPos = -1;
214215
}
215216

app/assets/javascripts/content_editor/services/serializer/code.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { openTag, closeTag, getMarkText } from '../serialization_helpers';
1+
import { openTag, closeTag, getMarkText, preserveUnchangedMark } from '../serialization_helpers';
22

33
const generateCodeTag = (wrapTagName = openTag) => {
44
const isOpen = wrapTagName === openTag;
@@ -8,6 +8,8 @@ const generateCodeTag = (wrapTagName = openTag) => {
88
if (sourceTagName && !sourceMarkdown) return wrapTagName(mark.attrs.sourceTagName);
99

1010
const childText = getMarkText(mark, parent);
11+
if (!childText) return '';
12+
1113
if (childText.includes('`')) {
1214
let tag = '``';
1315
if (childText.startsWith('`') || childText.endsWith('`'))
@@ -19,11 +21,11 @@ const generateCodeTag = (wrapTagName = openTag) => {
1921
};
2022
};
2123

22-
const code = {
24+
const code = preserveUnchangedMark({
2325
open: generateCodeTag(),
2426
close: generateCodeTag(closeTag),
2527
mixable: true,
2628
escape: false,
27-
};
29+
});
2830

2931
export default code;

app/assets/javascripts/content_editor/services/serializer/paragraph.js

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
1-
import { preserveUnchanged, containsOnlyText } from '../serialization_helpers';
2-
import { renderHTMLNode } from './html_node';
1+
import { preserveUnchanged } from '../serialization_helpers';
32

43
const paragraph = preserveUnchanged((state, node) => {
5-
const { sourceMarkdown, sourceTagName } = node.attrs;
6-
if (sourceTagName === 'p' && !sourceMarkdown && containsOnlyText(node)) {
7-
renderHTMLNode(sourceTagName, true)(state, node);
8-
return;
9-
}
10-
114
state.renderInline(node);
125
state.closeBlock(node);
136
});

0 commit comments

Comments
 (0)