From 07f9bb112e163c86988ca7a67190a7585f0d5320 Mon Sep 17 00:00:00 2001 From: Ehren Kret Date: Mon, 24 May 2021 19:09:47 -0500 Subject: [PATCH] Use separate object for multi recipient response `needsSync` was being sent back from the server in the JSON response which is an unnecessary and constantly false field in multi-recipient message sending endpoint as it's always sealed sender. --- .../controllers/MessageController.java | 3 ++- .../entities/SendMessageResponse.java | 9 -------- .../SendMultiRecipientMessageResponse.java | 22 +++++++++++++++++++ 3 files changed, 24 insertions(+), 10 deletions(-) create mode 100644 service/src/main/java/org/whispersystems/textsecuregcm/entities/SendMultiRecipientMessageResponse.java diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/MessageController.java b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/MessageController.java index 958ff6733..b9c543462 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/MessageController.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/MessageController.java @@ -76,6 +76,7 @@ import org.whispersystems.textsecuregcm.entities.MultiRecipientMessage.Recipient import org.whispersystems.textsecuregcm.entities.OutgoingMessageEntity; import org.whispersystems.textsecuregcm.entities.OutgoingMessageEntityList; import org.whispersystems.textsecuregcm.entities.SendMessageResponse; +import org.whispersystems.textsecuregcm.entities.SendMultiRecipientMessageResponse; import org.whispersystems.textsecuregcm.entities.StaleDevices; import org.whispersystems.textsecuregcm.limits.RateLimitChallengeException; import org.whispersystems.textsecuregcm.limits.RateLimitChallengeManager; @@ -417,7 +418,7 @@ public class MessageController { uuids404.add(destinationAccount.getUuid()); } } - return Response.ok(new SendMessageResponse(uuids404)).build(); + return Response.ok(new SendMultiRecipientMessageResponse(uuids404)).build(); } private void checkAccessKeys(CombinedUnidentifiedSenderAccessKeys accessKeys, Map uuidToAccountMap) { diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/entities/SendMessageResponse.java b/service/src/main/java/org/whispersystems/textsecuregcm/entities/SendMessageResponse.java index 025441c57..9c8649036 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/entities/SendMessageResponse.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/entities/SendMessageResponse.java @@ -6,24 +6,15 @@ package org.whispersystems.textsecuregcm.entities; import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; -import java.util.UUID; public class SendMessageResponse { @JsonProperty private boolean needsSync; - @JsonProperty - private List uuids404; - public SendMessageResponse() {} public SendMessageResponse(boolean needsSync) { this.needsSync = needsSync; } - - public SendMessageResponse(List uuids404) { - this.uuids404 = uuids404; - } } diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/entities/SendMultiRecipientMessageResponse.java b/service/src/main/java/org/whispersystems/textsecuregcm/entities/SendMultiRecipientMessageResponse.java new file mode 100644 index 000000000..fd41082a8 --- /dev/null +++ b/service/src/main/java/org/whispersystems/textsecuregcm/entities/SendMultiRecipientMessageResponse.java @@ -0,0 +1,22 @@ +/* + * Copyright 2021 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + +package org.whispersystems.textsecuregcm.entities; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.UUID; + +public class SendMultiRecipientMessageResponse { + @JsonProperty + private List uuids404; + + public SendMultiRecipientMessageResponse() { + } + + public SendMultiRecipientMessageResponse(final List uuids404) { + this.uuids404 = uuids404; + } +}