Commit graph

12 commits

Author SHA1 Message Date
2419f47236 channels: drop stale membership caches on join/leave
After channels.leaveChannel, a client that polls channels.getFullChannel kept
receiving a projection that still showed it as an active member (left=false)
until the per-(viewer,channel) RPC projection cache and the store-level member
cache lapsed on their own or the async read-model NOTIFY landed. The client
therefore kept an open compose box while every send was already rejected with
CHANNEL_PRIVATE - most visible on public forum supergroups, where getFullChannel
keeps succeeding via the preview path instead of tearing the chat down.

Every other membership-mutating path already busts these caches synchronously;
join/leave/invite/request-approval did not. Add:

- store: invalidateChannelMembershipCaches (row + member + dialog caches),
  called post-commit from JoinChannel, LeaveChannel, ImportInvite,
  InviteToChannel.
- rpc: invalidateChannelMembershipProjection (channelFullProjectionCache pair),
  called from the join/leave/invite/hide-requests handlers for every user whose
  membership changed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 13:28:50 +01:00
iamxvbaba
9041abd3d3 fix: sync correct collectible username projection 2026-08-02 19:32:18 +08:00
Egor Egorov
fff8de783a
feat: add NFT usernames and bot verification (#22)
Implements collectible usernames, official verification workflows, and third-party bot verification after maintainer protocol and migration review.

The composite activity/moderation rating remains an admin-only read model; Telegram Stars Rating wire fields stay unset pending a dedicated official-semantics implementation.

Reviewed-Head: 2796345775ea0f908fb7734601e5e1dee4b653b9
Original-Head: fa082b892fd5180c9c9bc53c81c21cf5d250a75b

Co-authored-by: Egor Egorov <business.egor.sg@gmail.com>
2026-07-28 01:18:00 +08:00
iamxvbaba
9f467f4be7 feat: sync durable moderation and appeals 2026-07-24 11:56:59 +08:00
A
da6a57e1a3 feat: sync community aggregates
Sync telesrv 36eda30 (feat(communities): implement Layer 228 community aggregates).

Skipped telesrv docs changes per public sync rules; normalized the public appearance seed label.
2026-07-20 16:46:02 +08:00
A
766c5db992 feat: sync multilayer td integration 2026-07-15 13:32:06 +08:00
A
aa21bd04e1 fix: sync protocol and discussion stability fixes 2026-07-12 07:05:02 +08:00
A
4390ebf5a9 perf: sync protocol and core hardening updates 2026-07-11 19:48:26 +08:00
A
56d995474c fix: sync session membership routing fixes 2026-07-06 14:28:06 +08:00
A
4570df5939 fix: sync latest Android and langpack updates 2026-07-02 14:09:24 +08:00
A
866a87583e feat: sync recent call and channel fixes 2026-07-01 14:34:59 +08:00
A
70b6820474 chore: refresh gramsrv public release 2026-06-30 14:37:43 +08:00