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 15eb3c727..04d564563 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/MessageController.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/MessageController.java @@ -781,6 +781,10 @@ public class MessageController { "rest", auth.getAuthenticatedDevice().isPrimary(), outgoingMessageEntity.urgent(), + // Messages fetched via this endpoint (as opposed to WebSocketConnection) are never ephemeral + // because, by definition, the client doesn't have a "live" connection via which to receive + // ephemeral messages. + false, userAgent, clientReleaseManager); }) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MessageMetrics.java b/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MessageMetrics.java index 61c06af2a..eba8a611f 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MessageMetrics.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MessageMetrics.java @@ -72,14 +72,16 @@ public final class MessageMetrics { final String channel, final boolean isPrimaryDevice, final boolean isUrgent, + final boolean isEphemeral, final String userAgent, final ClientReleaseManager clientReleaseManager) { - final List tags = new ArrayList<>(4); + final List tags = new ArrayList<>(); tags.add(UserAgentTagUtil.getPlatformTag(userAgent)); tags.add(Tag.of("channel", channel)); tags.add(Tag.of("isPrimary", String.valueOf(isPrimaryDevice))); tags.add(Tag.of("isUrgent", String.valueOf(isUrgent))); + tags.add(Tag.of("isEphemeral", String.valueOf(isEphemeral))); UserAgentTagUtil.getClientVersionTag(userAgent, clientReleaseManager).ifPresent(tags::add); diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnection.java b/service/src/main/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnection.java index 7ce78ee96..252a482c0 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnection.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnection.java @@ -255,6 +255,7 @@ public class WebSocketConnection implements WebSocketConnectionEventListener { "websocket", auth.getAuthenticatedDevice().isPrimary(), message.getUrgent(), + message.getEphemeral(), client.getUserAgent(), clientReleaseManager); }