Repository navigation
Fixes reconnects after an expired server salt, a regression of v0.165.0.
Fixes
A ping rejected by bad_server_salt no longer kills the connection (#1984)
- Since v0.165.0 the client doesn't request
get_future_salts(like Telegram Desktop) and learns a new salt frombad_server_salt. The salt was stored only when an RPC request was retried; when the first message with the expired salt was a ping, the new salt was dropped (rpc callback not set), the pong never came and the connection was reconnected afterPingTimeout("pong missed"), about hourly on a quiet connection and far more often overall. - Now the new salt is stored for any rejected message, and a pending ping is sent again with it, as Telegram Desktop does (
resendAll).
All changes
- fix(mtproto): keep the new salt of a rejected ping and resend the ping by @ernado in #1984
- test(telegram): wait for stored DC key before dropping it in transfer test by @ernado in #1983
Full Changelog: v0.166.0...v0.166.1