QueryChannelsIdentifier
Identifies a query channels operation independently of the resolved FilterObject and QuerySorter. Used as the cache key in StateRegistry, LogicRegistry, and the offline DB so the same query consistently maps to the same logic/state instance and the same persisted row across runs.
Three shapes are supported:
Standard for classic queries where the client knows
filter+querySortupfront.Predefined for server-side predefined filters where the actual
filterandquerySortare only learned from the response. Identity must therefore be the predefined name plus the interpolation values, since those are the only stable inputs available before the response.Grouped for cursor-paginated grouped channel queries; identity is the stable Grouped.groupKey returned by the server.
Inheritors
Types
Identity for a grouped query channels request: identity is the stable groupKey returned by the server. Grouped queries use cursor-based pagination and a separate endpoint (io.getstream.chat.android.client.ChatClient.queryGroupedChannels).
Identity for a server-side predefined filter: the actual filter and sort are resolved by the backend; identity is the predefined name plus the value maps used to interpolate it.