diff --git a/.changeset/integration-scripts-no-babel.md b/.changeset/integration-scripts-no-babel.md index 0e962b99bd059..ec77052ca810b 100644 --- a/.changeset/integration-scripts-no-babel.md +++ b/.changeset/integration-scripts-no-babel.md @@ -1,5 +1,5 @@ --- -'@rocket.chat/meteor': major +'@rocket.chat/meteor': patch --- **Breaking:** Stopped transpiling webhook integration scripts with Babel. Scripts now run as-is inside `isolated-vm` (modern V8). diff --git a/.changeset/thin-news-rhyme.md b/.changeset/thin-news-rhyme.md new file mode 100644 index 0000000000000..90eb2982e9255 --- /dev/null +++ b/.changeset/thin-news-rhyme.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Remove backend auto-close unclosed markdown code blocks (handled client-side since 9.0.0) diff --git a/apps/meteor/server/services/messages/service.ts b/apps/meteor/server/services/messages/service.ts index 7a6fd09f5f04c..998718cf71d1a 100644 --- a/apps/meteor/server/services/messages/service.ts +++ b/apps/meteor/server/services/messages/service.ts @@ -26,8 +26,6 @@ import { BeforeSaveMarkdownParser } from './hooks/BeforeSaveMarkdownParser'; import { mentionServer } from './hooks/BeforeSaveMentions'; import { BeforeSavePreventMention } from './hooks/BeforeSavePreventMention'; import { BeforeSaveSpotify } from './hooks/BeforeSaveSpotify'; -import { closeUnclosedCodeBlock } from '../../../lib/utils/closeUnclosedCodeBlock'; -import { shouldBreakInVersion } from '../../lib/shouldBreakInVersion'; const disableMarkdownParser = ['yes', 'true'].includes(String(process.env.DISABLE_MESSAGE_PARSER).toLowerCase()); @@ -238,11 +236,6 @@ export class MessageService extends ServiceClassInternal implements IMessageServ message = await this.cannedResponse.replacePlaceholders({ message, room, user }); message = await this.badWords.filterBadWords({ message }); - // TODO: Auto-close unclosed markdown code blocks for server versions below 9.0.0 - // In 9.0.0, this behavior is handled on the client side, so this block should be removed. - if (!shouldBreakInVersion('9.0.0') && message.msg) { - message = { ...message, msg: closeUnclosedCodeBlock(message.msg) }; - } message = await this.markdownParser.parseMarkdown({ message, config: this.getMarkdownConfig() }); message = await mentionServer.execute(message); if (parseUrls) { diff --git a/apps/meteor/tests/end-to-end/api/chat.ts b/apps/meteor/tests/end-to-end/api/chat.ts index 7fd725ed5bfbc..b404e45a2cc35 100644 --- a/apps/meteor/tests/end-to-end/api/chat.ts +++ b/apps/meteor/tests/end-to-end/api/chat.ts @@ -1871,27 +1871,6 @@ describe('[Chat]', () => { }); }); }); - - // TODO: Auto-close unclosed markdown code blocks on backend - Remove in 9.0.0 - // In 9.0.0, this behavior is handled entirely on the client side and should no longer be done on the backend. - it('should auto-close an unclosed code block when sending a message', async () => { - const unclosedMsg = '```\nsome code'; - const expectedMsg = '```\nsome code\n```'; - await request - .post(api('chat.sendMessage')) - .set(credentials) - .send({ - message: { - rid: testChannel._id, - msg: unclosedMsg, - }, - }) - .expect('Content-Type', 'application/json') - .expect(200) - .expect((res) => { - expect(res.body).to.have.property('success', true); - expect(res.body).to.have.nested.property('message.msg', expectedMsg); - }); }); });