Skip to content

Commit 7b8506b

Browse files
VelikovPetarclaude
andcommitted
Normalize empty interpolation maps in Predefined identifier.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 41b80c6 commit 7b8506b

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

stream-chat-android-client/src/main/java/io/getstream/chat/android/client/internal/state/plugin/QueryChannelsIdentifier.kt

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,11 @@ public sealed interface QueryChannelsIdentifier {
6868
public val QueryChannelsRequest.identifier: QueryChannelsIdentifier
6969
get() = when (val name = predefinedFilter) {
7070
null -> QueryChannelsIdentifier.Standard(filter, querySort)
71-
else -> QueryChannelsIdentifier.Predefined(name, filterValues, sortValues)
71+
else -> QueryChannelsIdentifier.Predefined(
72+
name = name,
73+
filterValues = filterValues.normalizedIdentifierValues(),
74+
sortValues = sortValues.normalizedIdentifierValues(),
75+
)
7276
}
7377

7478
/**
@@ -81,5 +85,12 @@ public val QueryChannelsRequest.identifier: QueryChannelsIdentifier
8185
public val QueryChannelsSpec.identifier: QueryChannelsIdentifier
8286
get() = when (val name = predefinedFilterName) {
8387
null -> QueryChannelsIdentifier.Standard(filter, querySort)
84-
else -> QueryChannelsIdentifier.Predefined(name, predefinedFilterValues, predefinedSortValues)
88+
else -> QueryChannelsIdentifier.Predefined(
89+
name = name,
90+
filterValues = predefinedFilterValues.normalizedIdentifierValues(),
91+
sortValues = predefinedSortValues.normalizedIdentifierValues(),
92+
)
8593
}
94+
95+
private fun Map<String, Any>?.normalizedIdentifierValues(): Map<String, Any>? =
96+
if (isNullOrEmpty()) null else this

0 commit comments

Comments
 (0)