Commit Graph

61 Commits

Author SHA1 Message Date
John Preston 357caf8007 Keep separate MTP::Config's for separate accounts. 2020-06-23 21:53:41 +04:00
John Preston a980fba3aa Create only temporary keys for CDN. 2019-12-28 13:52:29 +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 64535251e8 Use limited number of threads in MTP. 2019-11-29 15:36:06 +03:00
John Preston c742d7406c Make MTP::Session handle the connection thread. 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 46a42e02bc Fix lost bind key messages. 2019-11-22 12:06:48 +03:00
John Preston 276adec0ff Fix temporary keys for media cluster. 2019-11-21 13:38:02 +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 e6d3b2b098 Fix resending requests after new session. 2019-11-19 19:14:50 +03:00
John Preston e7e1c9aa5a Don't handle 'msg_resend_req'. 2019-11-19 14:55:39 +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 fe1e627cac Improve working with sessions. 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 1524b4a930 Allow creating temporary keys. 2019-11-15 16:16:32 +03:00
John Preston 0c713a930a Remove app.h / facades.h from precompiled header. 2019-10-01 23:59:46 +03:00
John Preston c5df4db621 Fix possible race conditions in msgid(). 2019-07-15 16:00:30 +02:00
John Preston fe618bd652 Use crl::time/now instead of TimeMs/getms. 2019-02-19 11:06:33 +04:00
John Preston a70e72f75d Application->Sandbox, Messenger->Application. 2019-01-23 12:51:58 +04:00
John Preston 314e30272b Replace SingleTimer with base::Timer. 2019-01-18 16:41:08 +04:00
John Preston 3c44bdb6b7 Support auto-migrate to supergroups. 2019-01-17 12:21:30 +04:00
John Preston e482f041a8 Allow disabling even system proxy settings.
Fixes #4944.
2018-11-05 18:52:01 +04: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 cec8114b99 Add simple files and contacts export.
Also move all API calls in export to Export::ApiWrap.
2018-06-12 01:02:05 +03:00
John Preston c587c011d2 Start data export in lib_export. 2018-06-12 01:02:04 +03:00
John Preston 1392e05ab1 Move all gsl::byte helpers to base/bytes module. 2018-06-03 23:16:34 +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 900d1ddb36 Support multiple proxies in local storage. 2018-05-05 21:55:38 +03:00
John Preston 93f6d4b6e7 Support many config endpoints for one dc+params. 2018-05-05 21:55:37 +03:00
John Preston 7482025c10 Support work with different dcs on a single IP. 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 97c15865a5 Move some code around.
Move logs:SignalHandlers to core/crash_reports:CrashReports.
Move all pre-launch windows to core/crash_report_window module.
Move some global code to core/launcher:Launcher.
It should replace settings / platform_specific module in some way.
2017-12-12 16:47:32 +04:00
John Preston 25ffaaaa2d Replace t_assert() with Assert().
Also use this assertions for Expects(), Ensures() and Unexpected().
2017-08-30 19:15:42 +03: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 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 6418c9c718 Handle updates from MTP after RPC responses.
If some RPC responses and MTP updates are received together a fake
requestId in the negative range was used and that way updates were
processed before responses.

That could lead to an incorrect "out" message flag when sending
messages to supergroups, because a broadcast update about the new
message without "out" flag was handled before the request response.

Now a separate response map and updates list are used and responses
are handled always before the updates.
2017-04-30 17:23:57 +03:00
John Preston e9ec09b91a Add MTP::Sender to replace RPCSender some day.
Also use c++1z language standard in Xcode build.
Also treat warnings as errors.
2017-03-23 14:37:38 +03:00
John Preston 3b373e236e Make all owned MTPD types immutable.
Remove custom refcounting in mtpData, use std::shared_ptr instead.
2017-03-10 23:27:23 +03:00
John Preston 08167a6a91 Removed #include "stdafx.h" from all files.
Currently the build without implicitly included precompiled header
is not supported anyway (because Qt MOC source files do not include
stdafx.h, they include plain headers).

So when we decide to support building without implicitly included
precompiled headers we'll have to fix all the headers anyway.
2017-03-04 12:27:52 +03:00