Фикс спама уведомлениями при печати #12

Merged
Royce59 merged 1 commits from dev into main 2026-02-25 21:29:32 +00:00
2 changed files with 25 additions and 4 deletions
Showing only changes of commit 70fb6b5876 - Show all commits

View File

@@ -7,7 +7,7 @@ on:
jobs:
build:
runs-on: macos
runs-on: java-builders
steps:
- name: Checkout code
uses: actions/checkout@v6

View File

@@ -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 уведомление получателю
*/