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;