From 70fb6b58760340ae0ca131941d0e3fca977c5262 Mon Sep 17 00:00:00 2001 From: RoyceDa Date: Wed, 25 Feb 2026 23:28:30 +0200 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D1=81=D0=BF=D0=B0?= =?UTF-8?q?=D0=BC=D0=B0=20=D1=83=D0=B2=D0=B5=D0=B4=D0=BE=D0=BC=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=D0=BC=D0=B8=20=D0=BF=D1=80=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=B5=D1=87=D0=B0=D1=82=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/build.yaml | 2 +- .../service/dispatch/MessageDispatcher.java | 27 ++++++++++++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index df25938..e4c9f4e 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -7,7 +7,7 @@ on: jobs: build: - runs-on: macos + runs-on: java-builders steps: - name: Checkout code uses: actions/checkout@v6 diff --git a/src/main/java/im/rosetta/service/dispatch/MessageDispatcher.java b/src/main/java/im/rosetta/service/dispatch/MessageDispatcher.java index 4dae297..f646872 100644 --- a/src/main/java/im/rosetta/service/dispatch/MessageDispatcher.java +++ b/src/main/java/im/rosetta/service/dispatch/MessageDispatcher.java @@ -7,6 +7,7 @@ import im.rosetta.client.tags.ECIAuthentificate; import im.rosetta.database.repository.BufferRepository; import im.rosetta.database.repository.GroupRepository; import im.rosetta.packet.Packet11Typeing; +import im.rosetta.packet.Packet7Read; import im.rosetta.packet.base.PacketBaseDialog; import im.rosetta.service.services.BufferService; @@ -85,15 +86,21 @@ public class MessageDispatcher { * Отправляем сообщение всем, кто в беседе */ this.clientManager.sendPacketToAuthorizedPK(groupMembersPublicKeys, packet); - /** - * Отправляем PUSH уведомление - */ if(packet instanceof Packet11Typeing){ /** * Если это пакет печати, то не отправляем пуш уведомление, так как это может привести к спаму пушами при наборе текста */ return; } + if(packet instanceof Packet7Read){ + /** + * Если это пакет прочтения, то не отправляем пуш уведомление, так как это может привести к спаму пушами при чтении сообщений + */ + return; + } + /** + * Отправляем PUSH уведомление + */ this.firebaseDispatcher.sendPushNotification(groupMembersPublicKeys, "Rosetta", "New message in group"); } @@ -130,6 +137,20 @@ public class MessageDispatcher { * Сохраняем сообщение в буфер на случай если получатель офлайн, или нам нужна будет синхронизация сообщений для получателя */ this.bufferService.pushPacketToBuffer(fromPublicKey, toPublicKey, packet); + if(packet instanceof Packet11Typeing){ + /** + * Если это пакет печати, то не отправляем пуш уведомление, + * так как это может привести к спаму пушами при наборе текста + */ + return; + } + if(packet instanceof Packet7Read){ + /** + * Если это пакет прочтения, то не отправляем пуш уведомление, + * так как это может привести к спаму пушами при чтении сообщений + */ + return; + } /** * Отправляем PUSH уведомление получателю */ -- 2.49.1