fix: Layout only changes not synced to content property

This commit is contained in:
Tom Moor
2024-06-02 10:23:54 -04:00
parent cb0f03d698
commit 5bd6c7b9c7
4 changed files with 8 additions and 5 deletions

View File

@@ -1,4 +1,5 @@
import { yDocToProsemirrorJSON } from "@getoutline/y-prosemirror";
import isEqual from "fast-deep-equal";
import uniq from "lodash/uniq";
import { Node } from "prosemirror-model";
import * as Y from "yjs";
@@ -45,7 +46,7 @@ export default async function documentCollaborativeUpdater({
const content = yDocToProsemirrorJSON(ydoc, "default") as ProsemirrorData;
const node = Node.fromJSON(schema, content);
const text = serializer.serialize(node, undefined);
const isUnchanged = document.text === text;
const isUnchanged = isEqual(document.content, content);
const lastModifiedById = userId ?? document.lastModifiedById;
if (isUnchanged) {

View File

@@ -1,6 +1,6 @@
/* eslint-disable @typescript-eslint/ban-types */
import isEqual from "fast-deep-equal";
import isArray from "lodash/isArray";
import isEqual from "lodash/isEqual";
import isObject from "lodash/isObject";
import pick from "lodash/pick";
import { FindOptions, NonAttribute } from "sequelize";

View File

@@ -1,3 +1,4 @@
import isEqual from "fast-deep-equal";
import revisionCreator from "@server/commands/revisionCreator";
import { Revision, Document, User } from "@server/models";
import { DocumentEvent, RevisionEvent, Event } from "@server/types";
@@ -25,11 +26,11 @@ export default class RevisionsProcessor extends BaseProcessor {
});
const previous = await Revision.findLatest(document.id);
// we don't create revisions if identical to previous revision, this can
// happen if a manual revision was created from another service or user.
// we don't create revisions if identical to previous revision, this can happen if a manual
// revision was created from another service or user.
if (
previous &&
document.text === previous.text &&
isEqual(document.content, previous.content) &&
document.title === previous.title
) {
return;