Shun Miyazawa 1 год назад
Родитель
Сommit
e0cb9dd5fc

+ 7 - 0
apps/app/src/server/service/socket-io.js

@@ -177,6 +177,13 @@ class SocketIoService {
           .in(getRoomNameWithId(RoomPrefix.PAGE, pageId))
           .emit(SocketEventName.YjsUpdated, CurrentPageYjsDraftData.hasYjsDraft);
 
+        yjsConnectionManager.ysocketio.on('awareness-update', async(update) => {
+          const awarenessStateSize = update.awareness.states.size;
+          this.io
+            .in(getRoomNameWithId(RoomPrefix.PAGE, pageId))
+            .emit(SocketEventName.YjsAwarenessStateUpdated, awarenessStateSize);
+        });
+
         try {
           await yjsConnectionManager.handleYDocSync(pageId, initialValue);
         }

+ 1 - 1
apps/app/src/server/service/yjs-connection-manager.ts

@@ -12,7 +12,7 @@ class YjsConnectionManager {
 
   private static instance: YjsConnectionManager;
 
-  private ysocketio: YSocketIO;
+  public ysocketio: YSocketIO;
 
   private mdb: MongodbPersistence;