owpengram-server/internal
Astra 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
..
admin fix 2026-08-25 00:20:05 +03:00
adminapi fix 2026-08-25 00:20:05 +03:00
app channels: force pre-history visible when a group gets a public username 2026-09-09 12:51:23 +01:00
botapi translated all logs to english 2026-07-25 07:31:27 +03:00
branding fix 2026-07-20 23:43:56 +03:00
compat added full gifts support 2026-08-07 10:13:11 +03:00
config added gifs scan at start 2026-08-07 11:02:05 +03:00
domain forum: fix reply_to_top_id for replies inside a forum 2026-09-09 11:15:56 +01:00
hoststats fix for overview panel 2026-08-07 04:26:56 +03:00
links Merge remote-tracking branch 'upstream/main' into merge-gramsrv-9106877 2026-08-03 23:29:20 +03:00
loadharness refactor(mtproto): sync replace result cache with execution ledger 2026-08-02 12:05:00 +08:00
loadtest chore: refresh gramsrv public release 2026-06-30 14:37:43 +08:00
mtprotoedge Merge remote-tracking branch 'upstream/main' into merge-gramsrv-9106877 2026-08-03 23:29:20 +03:00
observability feat(loadtest): sync add real 500-session capacity harness 2026-08-02 12:05:00 +08:00
otpdelivery fix: sync harden auth, privacy, and PTS state 2026-08-02 14:12:04 +08:00
postresponse fix: sync MTProto startup and egress fixes 2026-07-13 19:05:41 +08:00
readmodelcache chore: refresh gramsrv public release 2026-06-30 14:37:43 +08:00
rpc channels: drop stale membership caches on join/leave 2026-09-09 13:28:50 +01:00
seed fix for gif and emojies categories 2026-08-24 22:42:40 +03:00
sfu translated all logs to english 2026-07-25 07:31:27 +03:00
store channels: drop stale membership caches on join/leave 2026-09-09 13:28:50 +01:00
telegramloginhttp feat: sync host-based public app links 2026-07-22 21:43:56 +08:00
turnsrv translated all logs to english 2026-07-25 07:31:27 +03:00
web removed all "paid" features - no more stars, gifts, or grams 2026-08-07 01:50:10 +03:00
webauthn feat: sync visible product branding 2026-07-20 16:49:17 +08:00