From 21989281937891b89c8cd4bfeb53027a7d14640e Mon Sep 17 00:00:00 2001 From: bobzel Date: Tue, 20 Oct 2020 22:08:34 -0400 Subject: fixed list operation synchronizatoin on server and made preselementbox change --- src/server/websocket.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/server') diff --git a/src/server/websocket.ts b/src/server/websocket.ts index 34ef3d8b3..7d111f359 100644 --- a/src/server/websocket.ts +++ b/src/server/websocket.ts @@ -291,8 +291,8 @@ export namespace WebSocket { socket.broadcast.emit(MessageStore.UpdateField.Message, diff); socket.id = id; } else socket.broadcast.emit(MessageStore.UpdateField.Message, diff); + dispatchNextOp(diff.id); }, false); - dispatchNextOp(diff.id); } function remFromListField(socket: Socket, diff: Diff, curListItems?: Transferable): void { @@ -312,8 +312,8 @@ export namespace WebSocket { socket.broadcast.emit(MessageStore.UpdateField.Message, diff); socket.id = id; } else socket.broadcast.emit(MessageStore.UpdateField.Message, diff); + dispatchNextOp(diff.id); }, false); - dispatchNextOp(diff.id); } const pendingOps = new Map(); @@ -338,15 +338,13 @@ export namespace WebSocket { pendingOps.get(diff.id)!.push({ diff, socket }); return true; } + pendingOps.set(diff.id, [{ diff, socket }]); if (diff.diff.$addToSet) { - pendingOps.set(diff.id, [{ diff, socket }]); return GetRefFieldLocal([diff.id, (result?: Transferable) => addToListField(socket, diff, result)]); // would prefer to have Mongo handle list additions direclty, but for now handle it on our own } if (diff.diff.$remFromSet) { - pendingOps.set(diff.id, [{ diff, socket }]); return GetRefFieldLocal([diff.id, (result?: Transferable) => remFromListField(socket, diff, result)]); // would prefer to have Mongo handle list additions direclty, but for now handle it on our own } - pendingOps.set(diff.id, [{ diff, socket }]); return GetRefFieldLocal([diff.id, (result?: Transferable) => SetField(socket, diff, result)]); } function SetField(socket: Socket, diff: Diff, curListItems?: Transferable) { -- cgit v1.2.3-70-g09d2