fix mermaid security (#1774)
This commit is contained in:
parent
d2629afff2
commit
cb9f27da9a
1 changed files with 2 additions and 1 deletions
|
|
@ -5,6 +5,7 @@ import { v4 as uuidv4 } from "uuid";
|
||||||
import classes from "./code-block.module.css";
|
import classes from "./code-block.module.css";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { useComputedColorScheme } from "@mantine/core";
|
import { useComputedColorScheme } from "@mantine/core";
|
||||||
|
import DOMPurify from "dompurify";
|
||||||
|
|
||||||
interface MermaidViewProps {
|
interface MermaidViewProps {
|
||||||
props: NodeViewProps;
|
props: NodeViewProps;
|
||||||
|
|
@ -37,7 +38,7 @@ export default function MermaidView({ props }: MermaidViewProps) {
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
if (props.editor.isEditable) {
|
if (props.editor.isEditable) {
|
||||||
setPreview(
|
setPreview(
|
||||||
`<div class="${classes.error}">${t("Mermaid diagram error:")} ${err}</div>`,
|
`<div class="${classes.error}">${t("Mermaid diagram error:")} ${DOMPurify.sanitize(err)}</div>`,
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
setPreview(
|
setPreview(
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue