Lonami Exo
128b707488
Don't treat asyncio.IncompleteReadError as unhandled
...
The library will behave the same, but the log severity is lowered.
2023-08-03 19:01:10 +02:00
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