-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Description
Problem explanation
Zendesk ticket: 43044
query_channels possible infinite loop by always returning results over 1000
eg Asking for offset: 1000000 will return users even when only 2000 users may exist in the system.
I would suggest that the library implement an easy way to query all users with offsets greater than 1000, maybe a python iterable.
Steps to reproduce
I'm well aware this code is not very clean but it does show the issue. Since query channels will always return items in the array you don't know when to stop.
channels = []
offset = 0
limit = max_limit_to_fetch_channels
channels_fetched_count = limit
while channels_fetched_count > 0 or channels_fetched_count == limit:
channels_fetched = query_channels(
filter_conditions=......,
sort={"last_message_at": -1},
message_limit=1,
channel_limit=limit,
offset=offset,
)
channels.extend(channels_fetched)
offset += limit
channels_fetched_count = len(channels_fetched)
Environment info
Library version: stream-chat==4.8.0
Metadata
Metadata
Assignees
Labels
No labels