Skip to content

Commit 9092efd

Browse files
committed
feat: adds Document.lastChangeTime, which is set to Date.now() whenever a change on the documment has been detected
1 parent 9a6485b commit 9092efd

2 files changed

Lines changed: 8 additions & 4 deletions

File tree

packages/server/src/Document.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1+
import { Mutex } from "async-mutex";
12
import type WebSocket from "ws";
23
import {
34
Awareness,
4-
removeAwarenessStates,
55
applyAwarenessUpdate,
6+
removeAwarenessStates,
67
} from "y-protocols/awareness";
7-
import { applyUpdate, Doc, encodeStateAsUpdate } from "yjs";
8-
import type { AwarenessUpdate } from "./types.ts";
8+
import { Doc, applyUpdate, encodeStateAsUpdate } from "yjs";
99
import type Connection from "./Connection.ts";
1010
import { OutgoingMessage } from "./OutgoingMessage.ts";
11-
import { Mutex } from "async-mutex";
11+
import type { AwarenessUpdate } from "./types.ts";
1212

1313
export class Document extends Doc {
1414
awareness: Awareness;
@@ -42,6 +42,8 @@ export class Document extends Doc {
4242

4343
saveMutex = new Mutex();
4444

45+
lastChangeTime = 0;
46+
4547
/**
4648
* Constructor.
4749
*/

packages/server/src/Hocuspocus.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,8 @@ export class Hocuspocus {
382382

383383
document.onUpdate(
384384
(document: Document, connection: Connection, update: Uint8Array) => {
385+
document.lastChangeTime = Date.now();
386+
385387
this.handleDocumentUpdate(
386388
document,
387389
connection,

0 commit comments

Comments
 (0)