Skip to content

v0.166.1

Latest

Choose a tag to compare

@ernado ernado released this 15 Nov 18:04
a45380b

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 from bad_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 after PingTimeout ("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