Fixed notification composition

This commit is contained in:
2026-10-22 23:36:03 +02:00
parent 46c6ddcc80
commit 5050c901bc
9 changed files with 2949 additions and 358 deletions
@@ -64,8 +64,13 @@ export function isHtmlContent(content: string): boolean {
trimmed.startsWith('<html') ||
trimmed.startsWith('<div') ||
trimmed.startsWith('<table') ||
trimmed.startsWith('<p>') ||
(trimmed.includes('</') && trimmed.includes('>'))
trimmed.startsWith('<p') ||
trimmed.startsWith('<h') ||
trimmed.startsWith('<ul') ||
trimmed.startsWith('<ol') ||
trimmed.startsWith('<blockquote') ||
(trimmed.includes('</') && trimmed.includes('>')) ||
/<(strong|b|em|i|u|h[1-6]|ul|ol|li|table|blockquote|div|p|img|hr|br)\b/i.test(trimmed)
);
}
@@ -224,7 +229,14 @@ export function renderMarkdownToHtml(
markdown: string,
options?: MarkdownRenderOptions
): string {
const contentHtml = parseMarkdownToHtml(markdown);
const trimmed = (markdown || '').trim();
if (trimmed.startsWith('<!DOCTYPE') || trimmed.startsWith('<html')) {
return trimmed;
}
const contentHtml = isHtmlContent(trimmed)
? trimmed.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '')
: parseMarkdownToHtml(trimmed);
if (!options?.applyBranding && !options?.emailFormat) {
return contentHtml;