This commit is contained in:
Philipinho
2026-01-31 18:34:25 +00:00
parent 8e2cf9bb02
commit a09e35ba8f
3 changed files with 37 additions and 1 deletions
@@ -7,7 +7,8 @@ import { Decoration, DecorationSet } from "@tiptap/pm/view";
import { computeHistoryBlockDiff } from "@/features/page-history/utils/history-diff";
import classes from "./history-diff.module.css";
import historyClasses from "./history.module.css";
import { recreateTransform } from "@docmost/editor-ext";
import { Node, Schema, DOMSerializer } from "@tiptap/pm/model";
export interface HistoryEditorProps {
title: string;
@@ -33,6 +34,37 @@ export function HistoryEditor({
deleted: 0,
});
useEffect(() => {
if (editor && previousContent && content) {
const schema = editor.schema;
try {
console.log(
"previousContent type:",
previousContent?.type,
"content type:",
content?.type,
);
const docOld = Node.fromJSON(schema, previousContent);
const docNew = Node.fromJSON(schema, content);
const t0 = performance.now();
const transform = recreateTransform(docOld, docNew, {
complexSteps: true,
wordDiffs: true,
simplifyDiff: true,
});
console.log(
`recreateTransform: ${(performance.now() - t0).toFixed(3)}ms`,
);
//console.log(transform);
} catch (e) {
console.error("Node.fromJSON failed:", e);
}
}
}, [editor]);
useEffect(() => {
if (editor && content) {
let decorationSet = DecorationSet.empty;
+1
View File
@@ -69,6 +69,7 @@
"linkifyjs": "^4.3.2",
"marked": "13.0.3",
"ms": "3.0.0-canary.1",
"prosemirror-changeset": "2.3.1",
"qrcode": "^1.5.4",
"uuid": "^11.1.0",
"y-indexeddb": "^9.0.12",
+3
View File
@@ -168,6 +168,9 @@ importers:
ms:
specifier: 3.0.0-canary.1
version: 3.0.0-canary.1
prosemirror-changeset:
specifier: 2.3.1
version: 2.3.1
qrcode:
specifier: ^1.5.4
version: 1.5.4