Commit graph

14 commits

Author SHA1 Message Date
206bde18e0 channels: give kicked/banned/promoted/transferred users a real qts so their client applies it
updateChannelParticipant carries the account's qts per the MTProto spec, but
the server always sent Qts: 0, so real clients silently discarded it as a
stale duplicate -- the banned/kicked user's channel never vanished locally
and no correct "removed by admin" message showed, even though the update was
delivered successfully at the transport layer.

Add a durable per-device qts queue (channel_participant_event_queue) sharing
its qts number space with the existing secret-chat queue (one qts sequence
per device, per spec), and use it to stamp a correct, monotonically
increasing qts on the update for every device of the affected user -- for
channel bans/kicks, admin promotion/demotion, and ownership transfer. A
device offline when it happened can now recover the event via
updates.getDifference instead of missing it permanently.
2026-09-15 15:43:52 +01:00
f823b2cb74 rpc: return PASSWORD_MISSING for channel transfer without 2FA
messages.editChatCreator unconditionally returned PASSWORD_HASH_INVALID for
an account with no cloud password at all. Real Telegram Desktop's transfer-
ownership flow only recognizes the distinct PASSWORD_MISSING error to show
its "enable 2FA first" box; anything else falls through into the real
password-entry flow, which then has nothing to check against and crashes.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-14 12:05:28 +01:00
onysd
21a0856587 merged from gramsrv upstream 2026-09-01 12:06:31 +03:00
iamxvbaba
9041abd3d3 fix: sync correct collectible username projection 2026-08-02 19:32:18 +08:00
iamxvbaba
037ce017d4 fix: sync support private chat content protection 2026-07-28 16:22:33 +08:00
iamxvbaba
b4aaf57d6b fix: sync public channel preview updates 2026-07-24 14:50:17 +08:00
iamxvbaba
9f467f4be7 feat: sync durable moderation and appeals 2026-07-24 11:56:59 +08:00
A
8e00a58112 fix: sync owner-only megagroup creation 2026-07-22 13:07:37 +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
4390ebf5a9 perf: sync protocol and core hardening updates 2026-07-11 19:48:26 +08:00
A
7fa721a25e fix: sync Android channel compatibility fixes 2026-07-04 14:17:49 +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