Commit Graph

47 Commits

Author SHA1 Message Date
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