cachedParticipants returned a participant page with Hash=0 whenever the channel_base / channel_participants rows in read_model_versions were never seeded for a channel (e.g. groups created via messages.createChat). With Hash=0 the RPC layer can never answer channels.channelParticipantsNotModified, so a client that polls the member list re-fetches it in a tight loop forever. Fall back to a deterministic content hash derived from the page itself (channel id, page key, count, and each member's id/role/status/rank) so an unchanged member list yields an identical non-zero Hash and the client converges. The read-model-backed path is unchanged. |
||
|---|---|---|
| .. | ||
| active_ids_cache.go | ||
| bot_member_ids_cache.go | ||
| bot_policy.go | ||
| doc.go | ||
| media_count_cache.go | ||
| music_filter_test.go | ||
| participants_cache.go | ||
| read_model_cache.go | ||
| resolve_cache.go | ||
| service.go | ||
| service_groupcall.go | ||
| service_suggested_post.go | ||
| service_test.go | ||