diff --git a/.gitea/build.yaml b/.gitea/build.yaml new file mode 100644 index 0000000..b30eede --- /dev/null +++ b/.gitea/build.yaml @@ -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 + \ No newline at end of file diff --git a/src/main/java/im/rosetta/database/entity/Group.java b/src/main/java/im/rosetta/database/entity/Group.java index eba7114..5117702 100644 --- a/src/main/java/im/rosetta/database/entity/Group.java +++ b/src/main/java/im/rosetta/database/entity/Group.java @@ -29,11 +29,11 @@ public class Group extends CreateUpdateEntity { private String groupId; @Convert(converter = StringListConverter.class) - @Column(name = "membersPublicKeys", nullable = false) + @Column(name = "membersPublicKeys", nullable = false, columnDefinition = "TEXT") private List membersPublicKeys = new ArrayList<>(); @Convert(converter = StringListConverter.class) - @Column(name = "bannedPublicKeys", nullable = false) + @Column(name = "bannedPublicKeys", nullable = false, columnDefinition = "TEXT") private List bannedPublicKeys = new ArrayList<>(); public Long getId() { diff --git a/src/main/java/im/rosetta/service/dispatch/MessageDispatcher.java b/src/main/java/im/rosetta/service/dispatch/MessageDispatcher.java index 691e29c..3636ad7 100644 --- a/src/main/java/im/rosetta/service/dispatch/MessageDispatcher.java +++ b/src/main/java/im/rosetta/service/dispatch/MessageDispatcher.java @@ -3,7 +3,6 @@ package im.rosetta.service.dispatch; import java.util.HashSet; import java.util.List; -import im.rosetta.Failures; import im.rosetta.client.ClientManager; import im.rosetta.client.tags.ECIAuthentificate; import im.rosetta.database.repository.BufferRepository; @@ -44,9 +43,8 @@ public class MessageDispatcher { if(groupMembersPublicKeys.isEmpty()){ /** * Если группа не найдена или в группе нет участников, то в такую отправить - * сообщение нельзя + * сообщение нельзя, ничего не делаем */ - client.disconnect(Failures.DATA_MISSMATCH); return; } if(!groupMembersPublicKeys.contains(eciAuthentificate.getPublicKey())){ @@ -54,7 +52,6 @@ public class MessageDispatcher { * Если отправитель не является участником группы, то он не может отправлять * сообщения в эту группу */ - client.disconnect(Failures.USER_NOT_IN_GROUP); return; } /** diff --git a/src/main/java/io/orprotocol/packet/PacketFactory.java b/src/main/java/io/orprotocol/packet/PacketFactory.java index 4218f61..48b58b2 100644 --- a/src/main/java/io/orprotocol/packet/PacketFactory.java +++ b/src/main/java/io/orprotocol/packet/PacketFactory.java @@ -40,6 +40,7 @@ public class PacketFactory { packet.read(stream); return packet; } catch (Exception e) { + e.printStackTrace(); throw new ProtocolException("Failed to create packet with id " + packetId); } }