Lonami Exo
4ff7ac6b75
Handle CancelledError inside mtprotosender recv loop
2023-06-02 19:04:51 +02:00
Lonami Exo
6a7a981b7a
Fix asyncio.CancelledError was being swallowed by inner except
...
Closes #4104 .
2023-05-08 22:34:12 +02:00
Lonami Exo
ccf67d0f4f
Exit receive loop on IOError or unhandled exceptions
...
May help with #4088 .
2023-04-29 12:53:25 +02:00
Lonami Exo
03ff996ace
Improve unhelpful 'readexactly size can not be less than zero'
...
Technically closes #4092 , as the error is now properly handled.
2023-04-29 12:33:32 +02:00
David
d419979406
Declare missing exception variable ( #4087 )
2023-04-12 17:36:43 +02:00
Lonami Exo
fd09284598
Update FAQ
...
Closes #3759 .
2023-04-06 14:32:45 +02:00
Lonami Exo
3e64ea35ff
Update FAQ
2023-04-06 13:25:47 +02:00
Lonami Exo
be59c36ed3
Handle errors at connection level
...
Closes #4042 .
2023-03-12 17:43:36 +01:00
Lonami Exo
acd3407418
Propagate errors at the connection level
2023-03-12 17:43:19 +01:00
Lonami Exo
f3414d134a
Handle invalid buffers at protocol level
...
See #4042 .
2023-03-12 17:27:22 +01:00
Lonami Exo
d81eb0b2e8
Apply pts returned by some additional requests
...
When a bot account sends a message, deletes it, and sends a new one,
very reliably it would detect a gap, and as a result recover the
second message it sent, processing it itself (because the hack with
`_self_outgoing` cannot possibly work when catching up).
Now certain `rpc_result` are also processed as-if they were updates
(including the ones from deleting messages), which solves this gap
issue. Not entirely sure if it's a hack or the intended way to do it
(since Telegram *does* return proper `updates` for other RPCs), but
it seems to solve this particular problem.
Other requests such as reading history, mentions or reactions also
return an instance of this type, but the `pts_count` should be 0,
and at worst it should simply trigger a gap, which shouldn't be a
big deal.
2023-01-14 12:31:01 +01:00
Lonami Exo
83bafa25e3
Stop using asyncio.get_event_loop()
...
It is deprecated in newer Python versions.
Closes #4013 .
2023-01-11 21:02:29 +01:00
Lonami Exo
2ffac2dcdb
Handle DestroyAuthKey result more gracefully
2022-10-21 15:52:00 +02:00
Lonami Exo
f902c9293a
Fix log message formatting when obj was not updates
2022-10-21 15:50:37 +02:00
Lonami Exo
a7db08d020
Fix sender destroy session handling was not running
2022-10-21 15:49:18 +02:00
Lonami Exo
17516318e6
Add a hard timeout on disconnect
...
Closes #3917 .
2022-09-21 10:58:35 +02:00
Lonami Exo
7d21b40401
Revert "Make sessions async"
...
This reverts commit d2de0f3aca
.
2022-08-30 12:32:21 +02:00
Lonami Exo
1af6d9a873
Properly log RpcError with no parent request
...
This should get rid of the unexpected BufferError traceback.
2022-05-31 11:02:34 +02:00
Lonami Exo
3a44f56f64
Also process own updates in MessageBox
2022-05-19 16:40:32 +02:00
Lonami Exo
184984ac51
Protect against potential replay attacks
...
See #3753 .
2022-05-18 12:24:28 +02:00
Lonami Exo
db09a92bc5
Make use of the new MessageBox
2022-05-13 13:17:16 +02:00
Lonami Exo
fdb0720fe9
Don't reset the auth_key upon receiving -404
2022-05-12 12:03:48 +02:00
Tulir Asokan
d2de0f3aca
Make sessions async
...
SQLiteSession is not updated, don't try to use it
2022-05-12 10:36:10 +02:00
Lonami Exo
4c771bf2af
Fix setting logout result was not checking for future cancellation
2021-02-27 15:14:44 +01:00
Lonami Exo
292a36f760
Handle DestroySessionRes
...
Should close #1706 .
2021-02-27 15:13:53 +01:00
Lonami Exo
a955138021
Fix invoking requests ordered
...
Closes #1709 .
2021-02-27 15:03:05 +01:00
Lonami Exo
8f0de3d285
Fix TypeNotFoundError was not being propagated
...
Closes #1697 . This would cause deadlocks, as the request future
would never be resolved, so await would wait forever.
2021-02-11 19:27:57 +01:00
Lonami Exo
ee0fc5cc29
Fix AttributeError on reconnect with no retries
...
Closes #1646 .
2020-12-11 21:43:39 +01:00
Lonami Exo
becfe2ce7a
Start reconnect if a second ping is sent without a pong for the first
...
May help with #1564 .
2020-12-11 17:18:25 +01:00
Lonami Exo
f2f43336c6
Always use python-socks when available
...
Relying on Python 3.6 or above to be installed to unconditionally
use this library would break user's code, because this is a new
optional dependency that users may not have installed.
Instead, always use the new library when available, which should
work better than pysocks because it natively supports asyncio.
2020-11-28 12:09:46 +01:00
Serhii Dylda
59da53ec48
Fix typing once again
2020-11-09 20:22:22 +01:00
Serhii Dylda
a68800b3f0
Remove unnecessary if
clause
2020-11-09 20:09:08 +01:00
Serhii Dylda
38d8a54cc1
Fix protocol typing for python-socks.
2020-11-09 20:05:09 +01:00
Serhii Dylda
633986cfa6
Replace PySocks with python-socks for Python >= 3.6
...
See discussion at (https://github.com/LonamiWebs/Telethon/pull/1623 )
Small fixes for `local_addr` argument.
2020-11-09 19:59:54 +01:00
Lonami Exo
d9ddf8858e
Add missing local_addr to proxy connection, bump version
...
Bug introduced by #1587 .
2020-10-22 10:13:29 +02:00
Lonami Exo
026c992395
Don't try to reconnect when authkey is invalid
2020-10-07 10:40:34 +02:00
Stefan
d2756cf68f
Add support for local_ip address binding ( #1587 )
2020-10-07 10:03:19 +02:00
Lonami Exo
09f4c5c708
Only reset auth_key on error -404
...
This error is "auth key not found", and the authorization key should
probably not be reset on other error codes. This might address #1457 .
2020-10-05 14:08:21 +02:00
Lonami Exo
185a93a105
Expect BufferError during automatic reconnect
...
This seems to occur whe the Telegram servers are dying and logging
everyone out.
2020-10-05 14:07:11 +02:00
Lonami Exo
10b2b60415
Fix requests were not re-enqueued if sending failed
2020-09-29 21:07:38 +02:00
yash-dk
1d6fd7898a
Consider all reconnect attempts as retrying ( #1557 )
...
This means that a value of 0 retries will no longer try to reconnect.
2020-09-13 09:43:01 +02:00
Lonami Exo
1c3e7dda01
Avoid explicitly passing the loop to asyncio
...
This behaviour is deprecated and will be removed in future versions
of Python. Technically, it could be considered a bug (invalid usage
causing different behaviour from the expected one), and in practice
it should not break much code (because .get_event_loop() would likely
be the same event loop anyway).
2020-07-25 18:39:35 +02:00
ov7a
79fb1a54cb
Switch to blocking connect when using proxy ( #1432 )
...
Until a better fix is found, this should help proxy users.
2020-04-12 14:28:40 +02:00
Lonami Exo
1e94fe25fa
Log requests that trigger struct.error
...
The exception hardly provides any valuable information.
This will hopefully help troubleshooting why the error happens.
2020-02-20 13:40:08 +01:00
Lonami Exo
d09f6a50b0
Add extra security checks during authkey gen
2020-01-14 12:12:55 +01:00
Lonami Exo
3c253734ac
Clear old docs and fix formatting in ConnectionError messages
2020-01-07 12:20:01 +01:00
Lonami Exo
ecb27f33f7
Lower log severity on error during disconnect
2019-12-23 11:54:56 +01:00
Lonami Exo
cd37478e31
Don't send pings unless the connection is made
...
This will hopefully avoid batching tens of ping requests which
we don't care about their results.
2019-12-02 18:36:20 +01:00
painor
38b929b973
Fix several typos ( #1328 )
2019-11-10 11:29:43 +01:00
Lonami Exo
7e346180d7
Fix import ssl may fail under some Python installs
...
It's only required for certain proxy configurations, so we
don't want it to raise ImportError while the user imports
our library.
2019-10-31 19:20:18 +01:00