Files
outline/shared/editor/lib/multiplayer.ts
2023-09-28 20:13:40 -07:00

16 lines
471 B
TypeScript

import { ySyncPluginKey } from "@getoutline/y-prosemirror";
import { Transaction } from "prosemirror-state";
/**
* Checks if a transaction is a remote transaction
*
* @param tr The Prosemirror transaction
* @returns true if the transaction is a remote transaction
*/
export function isRemoteTransaction(tr: Transaction): boolean {
const meta = tr.getMeta(ySyncPluginKey);
// This logic seems to be flipped? But it's correct.
return !!meta?.isChangeOrigin;
}