Commit graph

50 commits

Author SHA1 Message Date
John Preston
0dd1a4973a Handle the new FLOOD_PREMIUM_WAIT errors. 2024-04-01 22:44:21 +04:00
John Preston
9324ceeb24 Destory stats sessions after a timeout. 2023-11-13 10:08:47 +04:00
John Preston
2d0bcf7dca Resend non-authorization requests on main DC change. 2021-08-30 20:32:58 +03:00
John Preston
68b0a85369 Rename RPCError to MTP::Error. 2021-03-12 16:58:26 +04:00
John Preston
267e5fd9e0 Allow getting outer_msg_id in MTProto handlers. 2021-03-12 16:58:26 +04:00
Ilya Fedin
23272430b4 Build with QT_NO_KEYWORDS 2021-03-04 12:07:54 +04:00
John Preston
357caf8007 Keep separate MTP::Config's for separate accounts. 2020-06-23 21:53:41 +04:00
John Preston
0ad7dcaef9 Remove MTP::MainInstance() global access point. 2020-06-23 21:53:40 +04:00
John Preston
ad4afe9293 Move session data localstorage -> storage_account. 2020-06-23 21:53:39 +04:00
John Preston
e426f2895b Add download sessions if it works fast enough. 2019-12-05 14:46:28 +03:00
John Preston
91f50e8bdc Move some more code to lib_mtproto. 2019-12-02 16:11:22 +03:00
John Preston
9caac426ef Correctly check container lifetime. 2019-12-02 16:11:22 +03:00
John Preston
c742d7406c Make MTP::Session handle the connection thread. 2019-11-29 15:36:06 +03:00
John Preston
06f5f7f7d9 Don't always restart connection on config change. 2019-11-29 15:36:06 +03:00
John Preston
8be4dfb346 Use explicit fields for sent container ids wrap. 2019-11-22 17:38:01 +03:00
John Preston
4edfd4804f Fix destroyed key clearing. 2019-11-20 16:33:45 +03:00
John Preston
bdc7f4114f Move some things from SessionData. 2019-11-20 13:41:14 +03:00
John Preston
173ae746a2 First version of working through temp keys. 2019-11-19 13:10:51 +03:00
John Preston
d9fc3619c2 Remove all signals from ConnectionPrivate. 2019-11-18 15:53:37 +03:00
John Preston
cfe12f773f Move some modules to lib_mtproto. 2019-11-18 12:28:14 +03:00
John Preston
be06d68468 Don't lock whole key creation by a mutex. 2019-11-15 16:16:33 +03:00
John Preston
055b99f5b0 Don't use shared_ptr for Dcenters. 2019-11-15 16:16:33 +03:00
John Preston
7243fb52ad Check keys that receive -404 error codes. 2019-11-15 16:16:32 +03:00
John Preston
2577bedeac Remove mtproto/facade.h from main pch. 2019-11-13 11:31:12 +03:00
John Preston
c5df4db621 Fix possible race conditions in msgid(). 2019-07-15 16:00:30 +02:00
John Preston
68b1024dd4 Sync local time with HTTP 'Date' header value. 2019-07-15 16:00:29 +02:00
John Preston
fe618bd652 Use crl::time/now instead of TimeMs/getms. 2019-02-19 11:06:33 +04:00
John Preston
f5cc93ec64 Decouple MTP::Instance from Core::App. 2019-02-01 10:48:31 +03:00
John Preston
5b88f4d3d2 Update API scheme. 2018-08-20 17:25:06 +03:00
John Preston
8c2f11de7d Send correct paddings in improved TCP protocol. 2018-06-25 19:55:52 +01:00
John Preston
c587c011d2 Start data export in lib_export. 2018-06-12 01:02:04 +03:00
John Preston
dd81f5d59f Replace base::lambda with shorter term.
base::lambda -> Fn (type alias for std::function).
base::lambda_once -> FnMut (type alias for base::unique_function).
base::lambda_guarded -> crl::guard.
base::lambda_call_type_t -> crl::deduced_call_type.
2018-06-04 18:38:27 +03:00
John Preston
37bf9ffcff Show bad proxy configuration error. 2018-05-24 16:40:19 +03:00
John Preston
425e56b3ea Apply proxy settings in mtproto-key-destroyer. 2018-05-18 15:20:28 +03:00
John Preston
4478c0a143 Resolve domain names for proxy servers.
Also use dc_id-checked auth key creation.

Fixes #4695.
2018-05-18 10:57:11 +03:00
John Preston
d3f85b4c4e Display channels promoted by proxy on top. 2018-05-13 21:26:35 +03:00
John Preston
4bf66cb6e9 Better special config implementation. 2018-05-05 21:55:38 +03:00
John Preston
909acb25fd Requesting config if can't connect. 2018-05-05 21:55:37 +03:00
John Preston
ea7441ae77 Use single LEGAL file with license and copyright. 2018-01-03 13:23:14 +03:00
John Preston
06c724df01 Clear callbacks async in MTP::Instance.
Also fix previous build.
2018-01-02 16:44:12 +03:00
John Preston
ddf4a36bdc Remove mtproto/session.h from precompiled header. 2017-12-18 16:40:15 +04:00
John Preston
b3da99c302 Replace gsl::not_null<T*> with just not_null<T*>. 2017-08-30 19:15:41 +03:00
John Preston
8ae159dd66 Add special dc options config request. 2017-06-29 11:40:07 +03:00
John Preston
f5353080e7 Use Qt UI language if system was not determined.
Also rename platform/mac/specific_mac.cpp to .mm
2017-06-29 11:39:47 +03:00
John Preston
f5dfeb0c50 Support cloud languages list and switching.
Add Lang::Current().updated() observable for retranslating the UI.
2017-06-29 11:39:43 +03:00
John Preston
139d4e72b5 Start cloud langpack support.
Change the way langpacks are stored.
Support custom langpacks in the new storage.
2017-06-29 11:39:42 +03:00
John Preston
8d28d0691f API scheme updated to layer 66.
Support CDN file download.
2017-04-12 22:36:25 +03:00
John Preston
c207743338 Made base::lambda a copyable value type.
Now base::lambda can be copied and can wrap any immutable lambda.
For mutable lambdas there is base::lambda_once (which you're
supposed to call only once to pass data through lambda captures,
for example by using std::unique_ptr). Generally base::lambda is
passed by value and base::lambda_once is passed by rvalue reference.
2017-02-26 21:01:23 +03:00
John Preston
7d89b54d1c Ability to delete authorization keys added.
If we start logging in and we know, that some of the authorization
keys were read from the hard drive, not generated, we destroy all
the existing authorization keys and start generating new keys.
2017-02-25 19:48:22 +03:00
John Preston
dd933cf61c MTP global state moved to MTP::Instance class.
Now there will be ability to start multiple mtproto instances.
2017-02-25 19:48:21 +03:00