Исправление бесконечного reconnect при переходе в несуществующую группу

This commit is contained in:
RoyceDa
2026-02-18 21:31:12 +02:00
parent 81d513961e
commit 128c65d041
2 changed files with 3 additions and 6 deletions

View File

@@ -29,11 +29,11 @@ public class Group extends CreateUpdateEntity {
private String groupId; private String groupId;
@Convert(converter = StringListConverter.class) @Convert(converter = StringListConverter.class)
@Column(name = "membersPublicKeys", nullable = false) @Column(name = "membersPublicKeys", nullable = false, columnDefinition = "TEXT")
private List<String> membersPublicKeys = new ArrayList<>(); private List<String> membersPublicKeys = new ArrayList<>();
@Convert(converter = StringListConverter.class) @Convert(converter = StringListConverter.class)
@Column(name = "bannedPublicKeys", nullable = false) @Column(name = "bannedPublicKeys", nullable = false, columnDefinition = "TEXT")
private List<String> bannedPublicKeys = new ArrayList<>(); private List<String> bannedPublicKeys = new ArrayList<>();
public Long getId() { public Long getId() {

View File

@@ -3,7 +3,6 @@ package im.rosetta.service.dispatch;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import im.rosetta.Failures;
import im.rosetta.client.ClientManager; import im.rosetta.client.ClientManager;
import im.rosetta.client.tags.ECIAuthentificate; import im.rosetta.client.tags.ECIAuthentificate;
import im.rosetta.database.repository.BufferRepository; import im.rosetta.database.repository.BufferRepository;
@@ -44,9 +43,8 @@ public class MessageDispatcher {
if(groupMembersPublicKeys.isEmpty()){ if(groupMembersPublicKeys.isEmpty()){
/** /**
* Если группа не найдена или в группе нет участников, то в такую отправить * Если группа не найдена или в группе нет участников, то в такую отправить
* сообщение нельзя * сообщение нельзя, ничего не делаем
*/ */
client.disconnect(Failures.DATA_MISSMATCH);
return; return;
} }
if(!groupMembersPublicKeys.contains(eciAuthentificate.getPublicKey())){ if(!groupMembersPublicKeys.contains(eciAuthentificate.getPublicKey())){
@@ -54,7 +52,6 @@ public class MessageDispatcher {
* Если отправитель не является участником группы, то он не может отправлять * Если отправитель не является участником группы, то он не может отправлять
* сообщения в эту группу * сообщения в эту группу
*/ */
client.disconnect(Failures.USER_NOT_IN_GROUP);
return; return;
} }
/** /**