X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/8a31b7f2c153e89532010b9ab58eb045ddfe43fe..HEAD:/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java diff --git a/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java b/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java index bafa97e7..8ab8ea83 100644 --- a/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java +++ b/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java @@ -17,6 +17,8 @@ public record JsonMessageEnvelope( String sourceName, Integer sourceDevice, long timestamp, + long serverReceivedTimestamp, + long serverDeliveredTimestamp, @JsonInclude(JsonInclude.Include.NON_NULL) JsonDataMessage dataMessage, @JsonInclude(JsonInclude.Include.NON_NULL) JsonEditMessage editMessage, @JsonInclude(JsonInclude.Include.NON_NULL) JsonStoryMessage storyMessage, @@ -26,9 +28,7 @@ public record JsonMessageEnvelope( @JsonInclude(JsonInclude.Include.NON_NULL) JsonTypingMessage typingMessage ) { - public static JsonMessageEnvelope from( - MessageEnvelope envelope, Throwable exception, Manager m - ) { + public static JsonMessageEnvelope from(MessageEnvelope envelope, Throwable exception, Manager m) { final RecipientAddress sourceAddress; final Integer sourceDevice; if (envelope.sourceAddress().isPresent()) { @@ -58,13 +58,15 @@ public record JsonMessageEnvelope( sourceName = null; } final var timestamp = envelope.timestamp(); + final var serverReceivedTimestamp = envelope.serverReceivedTimestamp(); + final var serverDeliveredTimestamp = envelope.serverDeliveredTimestamp(); final var receiptMessage = envelope.receipt().map(JsonReceiptMessage::from).orElse(null); final var typingMessage = envelope.typing().map(JsonTypingMessage::from).orElse(null); - final var dataMessage = envelope.data().map(JsonDataMessage::from).orElse(null); - final var editMessage = envelope.edit().map(JsonEditMessage::from).orElse(null); + final var dataMessage = envelope.data().map(data -> JsonDataMessage.from(data, m)).orElse(null); + final var editMessage = envelope.edit().map(data -> JsonEditMessage.from(data, m)).orElse(null); final var storyMessage = envelope.story().map(JsonStoryMessage::from).orElse(null); - final var syncMessage = envelope.sync().map(JsonSyncMessage::from).orElse(null); + final var syncMessage = envelope.sync().map(data -> JsonSyncMessage.from(data, m)).orElse(null); final var callMessage = envelope.call().map(JsonCallMessage::from).orElse(null); return new JsonMessageEnvelope(source, @@ -73,6 +75,8 @@ public record JsonMessageEnvelope( sourceName, sourceDevice, timestamp, + serverReceivedTimestamp, + serverDeliveredTimestamp, dataMessage, editMessage, storyMessage,