Lonami Exo
7325718f0e
Fix date empty when getting difference
2023-09-13 17:35:15 +02:00
Kacnep89
e928fbdac0
Fix date empty ( #4191 )
2023-09-06 16:47:46 +02:00
Shubham Kumar
9b1d9aa672
Fix incorrect param type in apply_channel_difference ( #4185 )
2023-08-29 18:40:07 +02:00
Lonami Exo
33f3e27e7d
Change apply_deadlines_reset micro-optimization
...
No need for buffer reuse in Python. It simply complicates the code.
And even then it was not as optimal as it could.
2023-08-29 15:04:04 +02:00
Lonami Exo
ac483e6812
Only update seq if pts changed
...
This solves UpdateChatParticipant being missed after UpdateChat,
which seems to reliable occur when a bot is in a Chat that gets
deleted.
2023-08-29 15:04:04 +02:00
Lonami Exo
d40aae75f3
Further improve MessageBox trace logging
2023-08-29 15:04:04 +02:00
Lonami Exo
574e8876ec
Fix getting_diff_for with empty set was being spammed
...
Because the above check used >= but the inner check >.
2023-08-29 15:04:04 +02:00
Lonami Exo
2011a329b0
Make MessageBox trace logs more useful
2023-08-29 15:04:04 +02:00
Lonami Exo
a657ae0134
Save self user ID in session file
...
Should result in one less request after connecting,
as there is no longer a need to fetch the self user.
2023-04-06 14:18:42 +02:00
Lonami Exo
88bc6a46a6
Store self user in entity cache
2023-04-06 13:58:26 +02:00
Lonami Exo
97b0ba6707
Flush in-memory cache to session after a limit is reached
...
Should fully close #3989 .
Should help with #3235 .
2023-04-06 13:45:12 +02:00
Kacnep89
a942b021bc
Fix conversion and time zone issues ( #4072 )
2023-03-28 17:38:46 +02:00
Lonami Exo
6d2a5dada5
Fix PERSISTENT_TIMESTAMP_EMPTY for new entries with pts 1, count 0
...
Because Telegram can't actually use 0 for the pts, it uses 1, even
if the count is 0. This forces the next update to use 2, or else it
could not be fetched when using an offset of 1 (despite the count
being 0 on the first update, which should not have bumped the second
update to use 2).
This caused Telethon to create an initial state of 0 for the new entry
(and also "incorrectly" detected following updates as gaps, which
would quickly trigger the call to get difference with a bad pts).
Now Telethon is aware of this special-case and will not initialize
state as 0, even if that's not the "correct" thing to do.
2022-12-22 20:30:38 +01:00
Lonami Exo
e750eb7ab5
Add more debug traces to the messagebox
2022-12-18 12:57:51 +01:00
Lonami Exo
59ffad0090
Promote messagebox warnings to errors
...
No point in making a warning if it immediately is raised.
2022-12-18 12:42:14 +01:00
Lonami Exo
a8ce308b7a
Fix messagebox state trace was not logging the object
...
This state was a TL State, not the MessageBox State with repr.
2022-12-18 12:41:08 +01:00
Lonami Exo
c72c7b160a
Introduce trace-level logs to MessageBox
...
These will log sensitive information.
They are disabled when running with PYTHONOPTIMIZED.
They can only be enabled by setting a level lower than DEBUG,
which is difficult to do on accident.
2022-12-17 23:13:06 +01:00
Lonami Exo
8ae75db862
Sort updates preemptively
...
Closes #3936 .
There are two changes made to ensure the first update in a channel
cannot be lost, first by always sorting updates before applying pts,
and second by cautiously initializing the local pts if the client
had no pts known beforehand.
It might be possible to cleanup the handling of possible gaps now
that updates are always sorted, but that requires more thought.
2022-11-20 22:51:59 +01:00
Lonami Exo
2d237c41fe
Revert accidental NO_UPDATES_TIMEOUT change and bump to v1.25.4
2022-10-14 18:43:44 +02:00
Lonami Exo
7f5a1ec5e1
Bump to v1.25.3
2022-10-14 18:41:39 +02:00
Alfian Pangetsu
908375ac42
Fix get_running_loop usage in Python3.6 ( #3941 )
...
Closes #3939 .
2022-10-02 19:05:11 +02:00
Lonami Exo
2f2a9901e2
Trust pts values during apply_difference
...
See #3873 .
2022-09-20 12:52:24 +02:00
Lonami Exo
64bc73c41e
Do not remove ENTRY_SECRET during apply difference
...
This probably occurs with bot accounts only.
It is strange that the qts is used by bots but is missing from the
results of getDifference. This would need more investigation, but
it might just be the way this thing works.
Closes #3873 .
2022-09-20 12:40:48 +02:00
Lonami Exo
243f58c331
Handle auth errors during get difference
2022-09-20 11:35:59 +02:00
Lonami Exo
a66df977f7
Fix UpdateShort from socket was not unboxed
...
This was causing UpdateShorts to be sent to Raw handlers,
which in turn broke things like QR login.
Should fix #3922 .
2022-09-14 15:53:11 +02:00
Lonami Exo
396594060b
Fix reset_deadline was not doing its job
...
This was leading to a soft deadlock, always trying to get difference
but always receiving empty one and not exiting.
2022-08-11 11:04:37 +02:00
Lonami Exo
dd55e7c748
Prevent double-logging of 'timeout for updates'
2022-08-11 10:53:21 +02:00
Lonami Exo
f90cdf2ffb
Fix apply_difference should not end get diff for secret if not active
2022-05-31 11:58:38 +02:00
Lonami Exo
441fe9d076
Remove TODOs which are no longer relevant in MessageBox
2022-05-30 13:33:56 +02:00
Lonami Exo
7e0639ac57
Add getting_diff_for assertion in get_channel_difference too
2022-05-30 13:31:29 +02:00
Lonami Exo
898e279218
Assert getting_diff_for is not filled when not possible in get_difference
2022-05-30 13:29:58 +02:00
Lonami Exo
a38170d26a
Assert reset_deadline is not unnecessarily called
2022-05-30 13:28:22 +02:00
Lonami Exo
6f6b207866
Better fix for reset_deadline
...
Follow-up to 876af8f27c
.
The issue was caused because we called end_get_diff to cleanup a diff
that could not actually be started.
This also enables further cleanup later on.
2022-05-30 13:27:04 +02:00
Lonami Exo
876af8f27c
Fix reset_deadline failing when the state map is empty
2022-05-30 13:04:02 +02:00
Lonami Exo
aa7a083444
Add missing begin_get_diff call on updatesTooLong
2022-05-25 15:28:15 +02:00
Lonami
b180b53619
Fix typo in ChannelTooLong code path
2022-05-23 16:53:34 +02:00
Lonami Exo
c5bf83eb86
Remove unnecessary workaround when updating local pts
2022-05-23 13:52:32 +02:00
Lonami Exo
5a1b9daf4c
Add back UpdateChannelTooLong check
...
Removed in the previous commit 2bcedb98
.
2022-05-23 13:17:12 +02:00
Lonami Exo
2bcedb9820
Process diff.other_updates as if they are socket updates
...
This prevents duplicates since it contains the control flow to check for pts.
2022-05-23 13:13:39 +02:00
Lonami Exo
9dbf3443d0
Better initialization pts for new channels
2022-05-23 12:20:02 +02:00
Lonami Exo
f50b2f5d61
Handle bans when getting difference
2022-05-23 11:41:59 +02:00
Lonami Exo
5e46b6365c
Use the correct type in apply_channel_difference
...
This one should not change the behaviour, but it's done for consistency.
2022-05-23 10:27:57 +02:00
Lonami Exo
d5bfb71e10
Handle get_difference case for secret chats
2022-05-20 20:44:36 +02:00
Lonami Exo
af56429e78
Add repr to MessageBox types
2022-05-20 18:15:43 +02:00
Lonami Exo
3a44f56f64
Also process own updates in MessageBox
2022-05-19 16:40:32 +02:00
Lonami Exo
3c7f53802f
Fix saving of update state
2022-05-16 09:36:57 +02:00
Lonami Exo
7963af1d17
Add repr to updates session types for easier debugging
2022-05-16 09:36:13 +02:00
Lonami Exo
db7b7fde3f
Actually fix references to TL in MessageBox
2022-05-13 17:46:51 +02:00
Lonami Exo
a5c3df2743
Attempt to load and save MessageBox state
2022-05-13 17:40:03 +02:00
Lonami Exo
053a0052c8
Fix references to TL in MessageBox
2022-05-13 17:39:31 +02:00