]> nmode's Git Repositories - signal-cli/commitdiff
Adapt receive subscription notification to have payload in result field
authorAsamK <asamk@gmx.de>
Thu, 10 Aug 2023 22:35:48 +0000 (00:35 +0200)
committerAsamK <asamk@gmx.de>
Thu, 10 Aug 2023 22:36:22 +0000 (00:36 +0200)
CHANGELOG.md
src/main/java/org/asamk/signal/jsonrpc/SignalJsonRpcDispatcherHandler.java

index 89a34114837a1e81504b1e41146347147ec6339c..11271473468c06d9f43a0aaba0f1cd1869b2c474 100644 (file)
@@ -3,6 +3,11 @@
 ## [Unreleased]
 **Attention**: Now requires native libsignal-client version 0.30.0
 
 ## [Unreleased]
 **Attention**: Now requires native libsignal-client version 0.30.0
 
+### Breaking changes
+- Adapt receive subscription notification in JSON-RPC to have payload in result field
+  - Before: `{"jsonrpc":"2.0","method":"receive","params":{"envelope":{ ... },"account":"+XXX","subscription":0}}`
+  - After: `{"jsonrpc":"2.0","method":"receive","params":{"subscription":0,"result":{"envelope":{ ... },"account":"+XXX"}}}`
+
 ### Added
 - Manage identities via DBus (Thanks @bublath)
 - Added support for SVR2 PINs
 ### Added
 - Manage identities via DBus (Thanks @bublath)
 - Added support for SVR2 PINs
@@ -597,7 +602,7 @@ Bug fixes and small improvements
 * new listGroups command
 * Support for attachments with file names
 * Support for complete contacts sync
 * new listGroups command
 * Support for attachments with file names
 * Support for complete contacts sync
-* Support for contact verification sync 
+* Support for contact verification sync
 * DBus interface:
  * Get/Set group info
  * Get/Set contact info
 * DBus interface:
  * Get/Set group info
  * Get/Set contact info
index 3548f655d7e630403ea4a178de058b3d429783aa..aea332fd47e384c8f334a48dc2cd8244503608b5 100644 (file)
@@ -4,7 +4,6 @@ import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.ContainerNode;
 import com.fasterxml.jackson.databind.node.IntNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 
 import com.fasterxml.jackson.databind.node.IntNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 
@@ -86,8 +85,9 @@ public class SignalJsonRpcDispatcherHandler {
         final var subscriptionId = nextSubscriptionId.getAndIncrement();
         final var handlers = managers.stream().map(m -> {
             final var receiveMessageHandler = new JsonReceiveMessageHandler(m, s -> {
         final var subscriptionId = nextSubscriptionId.getAndIncrement();
         final var handlers = managers.stream().map(m -> {
             final var receiveMessageHandler = new JsonReceiveMessageHandler(m, s -> {
-                final ContainerNode<?> params = objectMapper.valueToTree(s);
-                ((ObjectNode) params).set("subscription", IntNode.valueOf(subscriptionId));
+                final var params = new ObjectNode(objectMapper.getNodeFactory());
+                params.set("subscription", IntNode.valueOf(subscriptionId));
+                params.set("result", objectMapper.valueToTree(s));
                 final var jsonRpcRequest = JsonRpcRequest.forNotification("receive", params, null);
                 try {
                     jsonRpcSender.sendRequest(jsonRpcRequest);
                 final var jsonRpcRequest = JsonRpcRequest.forNotification("receive", params, null);
                 try {
                     jsonRpcSender.sendRequest(jsonRpcRequest);