Yet another update to fix some bugs and increase the stability of the library, or, at least, that was the attempt!
This release should really improve the experience with the background thread that the library starts to read things from the network as soon as it can, but I can't spot every use case, so please report any bug (and as always, minimal reproducible use cases will help a lot).
Bug fixes
setup.py
was failing on Python < 3.5 due to some imports.- Duplicated updates should now be ignored.
.send_message
would crash in some cases, due to having a typo using the wrong object."socket is None"
when calling.connect()
should not happen anymore.BrokenPipeError
was still being raised due to an incorrect order on thetry/except
block.
Enhancements
- Type hinting for all the generated
Request
's andTLObjects
! IDEs like PyCharm will benefit from this. ProxyConnectionError
should properly be passed to the main thread for you to handle.- The background thread will only be started after you're authorized on Telegram (i.e. logged in), and several other attempts at polishing the experience with this thread.
- The
Connection
instance is only created once now, and reused later. - Calling
.connect()
should have a better behavior now (like actually trying to connect even if we seemingly were connected already). .reconnect()
behavior has been changed to also be more consistent by making the assumption that we'll only reconnect if the server has disconnected us, and is now private.
Other changes
TLObject.__repr__
doesn't show the original TL definition anymore, it was a lot of clutter. If you have any complaints open an issue and we can discuss it.- Internally, the
'+'
from the phone number is now stripped, since it shouldn't be included. - Spotted a new place where
BrokenAuthKeyError
would be raised, and it now is raised there.