Баг фикс, улучшения

Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
2026-02-19 21:50:35 +00:00
4 changed files with 51 additions and 6 deletions

47
.gitea/build.yaml Normal file
View File

@@ -0,0 +1,47 @@
name: Build rosetta-wss
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build:
runs-on: [linux, ubuntu, macos]
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: maven
- name: Build with Maven
run: mvn clean package
- name: Deploy to server via SSH
uses: appleboy/ssh-action@v1.2.5
with:
host: ${{ secrets.WSS_SSH_HOST }}
username: ${{ secrets.WSS_SSH_USER }}
password: ${{ secrets.WSS_SSH_PASSWORD }}
port: ${{ secrets.WSS_SSH_PORT }}
source: "build/*"
target: ${{ secrets.WSS_DEPLOY_PATH }}
strip_components: 1
- name: Restart Docker containers
uses: appleboy/ssh-action@v1.2.5
with:
host: ${{ secrets.WSS_SSH_HOST }}
username: ${{ secrets.WSS_SSH_USER }}
password: ${{ secrets.WSS_SSH_PASSWORD }}
port: ${{ secrets.WSS_SSH_PORT }}
script: |
cd ${{ secrets.WSS_DEPLOY_PATH }}
docker-compose down
docker compose up -d --build

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;
} }
/** /**

View File

@@ -40,6 +40,7 @@ public class PacketFactory {
packet.read(stream); packet.read(stream);
return packet; return packet;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
throw new ProtocolException("Failed to create packet with id " + packetId); throw new ProtocolException("Failed to create packet with id " + packetId);
} }
} }