From 0352b474fb7dbe72d164fa999f1b534c0554cf66 Mon Sep 17 00:00:00 2001 From: Vishal Narkhede Date: Mon, 16 Feb 2026 12:06:31 +0100 Subject: [PATCH 1/3] feat: add ModerationV2Response to Message model Add ModerationV2Response inner class with fields for action, original_text, text_harms, image_harms, blocklist_matched, and semantic_filter_matched. Add moderation field to Message class to deserialize moderation details from SendMessage response. Co-Authored-By: Claude Opus 4.6 --- .../getstream/chat/java/models/Message.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/main/java/io/getstream/chat/java/models/Message.java b/src/main/java/io/getstream/chat/java/models/Message.java index 91e653224..edbcdf313 100644 --- a/src/main/java/io/getstream/chat/java/models/Message.java +++ b/src/main/java/io/getstream/chat/java/models/Message.java @@ -177,6 +177,10 @@ public class Message { @JsonProperty("member") private ChannelMember member; + @Nullable + @JsonProperty("moderation") + private ModerationV2Response moderation; + @NotNull @JsonIgnore private Map additionalFields = new HashMap<>(); @JsonAnyGetter @@ -415,6 +419,34 @@ public static class Moderation { private Integer spam; } + @Data + @NoArgsConstructor + public static class ModerationV2Response { + @Nullable + @JsonProperty("action") + private String action; + + @Nullable + @JsonProperty("original_text") + private String originalText; + + @Nullable + @JsonProperty("text_harms") + private List textHarms; + + @Nullable + @JsonProperty("image_harms") + private List imageHarms; + + @Nullable + @JsonProperty("blocklist_matched") + private List blocklistMatched; + + @Nullable + @JsonProperty("semantic_filter_matched") + private String semanticFilterMatched; + } + @Builder @Setter @Getter From f2e433ee75a19f04ae2c1ddf9703def11c1db8c7 Mon Sep 17 00:00:00 2001 From: Vishal Narkhede Date: Mon, 16 Feb 2026 14:04:39 +0100 Subject: [PATCH 2/3] fix(api): keep blocklistMatched string, add blocklistsMatched and platformCircumvented Keep deprecated fields for backward compatibility and add new blocklistsMatched field for multiple blocklist matches. Co-Authored-By: Claude Opus 4.6 --- .../java/io/getstream/chat/java/models/Message.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/getstream/chat/java/models/Message.java b/src/main/java/io/getstream/chat/java/models/Message.java index edbcdf313..6a0edde04 100644 --- a/src/main/java/io/getstream/chat/java/models/Message.java +++ b/src/main/java/io/getstream/chat/java/models/Message.java @@ -438,13 +438,23 @@ public static class ModerationV2Response { @JsonProperty("image_harms") private List imageHarms; + /** @deprecated Use {@link #blocklistsMatched} instead. Kept for backward compatibility. */ + @Deprecated @Nullable @JsonProperty("blocklist_matched") - private List blocklistMatched; + private String blocklistMatched; + + @Nullable + @JsonProperty("blocklists_matched") + private List blocklistsMatched; @Nullable @JsonProperty("semantic_filter_matched") private String semanticFilterMatched; + + @Nullable + @JsonProperty("platform_circumvented") + private Boolean platformCircumvented; } @Builder From 4ea8172e54997e52d7d250fc6abba941e8da2731 Mon Sep 17 00:00:00 2001 From: Vishal Narkhede Date: Mon, 16 Feb 2026 15:49:18 +0100 Subject: [PATCH 3/3] style: fix Javadoc format for spotless Co-Authored-By: Claude Opus 4.6 --- src/main/java/io/getstream/chat/java/models/Message.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/getstream/chat/java/models/Message.java b/src/main/java/io/getstream/chat/java/models/Message.java index 6a0edde04..ab47deea4 100644 --- a/src/main/java/io/getstream/chat/java/models/Message.java +++ b/src/main/java/io/getstream/chat/java/models/Message.java @@ -438,7 +438,9 @@ public static class ModerationV2Response { @JsonProperty("image_harms") private List imageHarms; - /** @deprecated Use {@link #blocklistsMatched} instead. Kept for backward compatibility. */ + /** + * @deprecated Use {@link #blocklistsMatched} instead. Kept for backward compatibility. + */ @Deprecated @Nullable @JsonProperty("blocklist_matched")