From 30c81163ce346a6edcb90387668648f022bd2b19 Mon Sep 17 00:00:00 2001 From: MrLetsplay Date: Mon, 18 Dec 2023 22:35:06 +0100 Subject: [PATCH] Don't forward messags to sender peer --- .../java/me/mrletsplay/shareserver/ShareWSServer.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/me/mrletsplay/shareserver/ShareWSServer.java b/src/main/java/me/mrletsplay/shareserver/ShareWSServer.java index 48565b4..f8e0506 100644 --- a/src/main/java/me/mrletsplay/shareserver/ShareWSServer.java +++ b/src/main/java/me/mrletsplay/shareserver/ShareWSServer.java @@ -87,7 +87,11 @@ public class ShareWSServer extends WebSocketServer { boolean isHost = getHost(getPeers(session)).equals(conn); System.out.println("[" + user.siteID() + "] " + m); switch(m.getType()) { - case CHANGE -> getPeers(session).forEach(peer -> send(peer, m)); + case CHANGE -> { + getPeers(session).stream() + .filter(p -> p.getAttachment().siteID() != user.siteID()) + .forEach(peer -> send(peer, m)); + } case REQUEST_FULL_SYNC, REQUEST_CHECKSUM -> { AddressableMessage msg = (AddressableMessage) m; if(msg.siteID() != user.siteID()) { @@ -105,7 +109,9 @@ public class ShareWSServer extends WebSocketServer { AddressableMessage msg = (AddressableMessage) m; if(msg.siteID() == AddressableMessage.BROADCAST_SITE_ID) { - getPeers(session).forEach(peer -> send(peer, m)); + getPeers(session).stream() + .filter(p -> p.getAttachment().siteID() != user.siteID()) + .forEach(peer -> send(peer, m)); }else { WebSocket peer = getPeer(getPeers(session), msg.siteID()); if(peer != null) send(peer, m);