Commit Graph

372 Commits

Author SHA1 Message Date
John Preston f488d5f9c1 Use std::function for base::lambda implementation.
(cherry picked from commit 101d4f6)
2018-07-27 14:24:31 +00:00
Anton Kashcheev 21e7a1bbb0 Fix compile error when building with LibreSSL
Add preprocessor check of LibreSSL version.
2018-06-20 15:16:09 +03:00
Evgeniy Zheltonozhskiy 22b0cffccd Fix almost all warnings (#157)
There are possible deprecation warnings could be on new ffmpeg. It will be investigated later.

Related to #42.
2018-06-12 01:59:24 +03:00
Evgenii Zheltonozhskii b9cd813127 Apply clang-format 2018-06-06 11:25:23 +03:00
Evgenii Zheltonozhskii 49982a33a5 Pre-reformat fixes 2018-06-06 11:25:23 +03:00
Alex 69661217d2
Remove PCH (#148)
This commit brings many changes:

1. Remove cotire;
2. Remove PCH files (stdafx.xxx) and mentions;
3. Rearrange and clean includes:
3.1. Remove core includes path, use full header path core/xxx;
3.2. Move object_ptr to separate file base/object_ptr.h;
3.3. Add missing includes;
5. Add forward decls;
6. Get rid of some Qt private parts;
7. Fix ALL compilation errors after removing cotire on Windows, Linux, MacOS.

Closes #133.
Related to #96.
2018-06-04 16:25:31 +03:00
Anton Kashcheev 09f8d60e11 Add libreSSL support
Also check LIBRESSL_VERSION_NUMBER and if it's defined, we use the LibreSSL-compatible API calls.
2018-04-22 19:45:47 +03:00
Stanislav Ershov ceb9828910 Fix some warnings against size_t to int conversion 2018-03-12 18:30:19 +03:00
Pavel Perekhozhikh 40f8f0939a [Refactoring] change qt math function to cmath analog 2018-02-28 22:12:25 +02:00
John Preston c2edb39069 Cleanup formatting 2017-12-20 14:38:02 +02:00
John Preston 71daae1227 Fix crash in RSA public key wrapper. 2017-12-20 14:38:02 +02:00
Nicholas Guriev f74793ca3f Optimize key initialization
* Do not do redundant copying of numbers.
2017-12-20 14:38:02 +02:00
Nicholas Guriev 97b8616e01 Fix build against OpenSSL 1.1
Closes: #3196
2017-12-20 14:38:02 +02:00
Berkus Decker e9184f9ab5 Replace non-standard types with Qt equivalents 2017-12-20 14:38:02 +02:00
John Preston 5b77bd5aa0 Limit maximum IP length in case of corrupted data. 2017-09-04 15:21:52 +03:00
John Preston df64c972d8 Replace QFlags with base::flags. 2017-09-03 15:45:47 +03: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 782114d644 Add and use base::make_weak_unique() helper. 2017-08-30 19:15:28 +03:00
John Preston 0880c01a20 Replace group admins ContactsBox with PeerListBox. 2017-08-30 19:15:28 +03:00
John Preston c8810f87b9 Move a lot of code from scheme.h to scheme.cpp. 2017-08-25 14:39:32 +03:00
John Preston edbc3f8fde Use QDataStream directly on QByteArray. 2017-08-25 14:39:30 +03:00
John Preston 667eb288d7 Add faved stickers set loading and saving.
Also move stickers loading methods to ApiWrap.
2017-08-25 12:58:13 +03:00
John Preston cf02a4cc31 API scheme updated to layer 70. 2017-07-23 12:34:40 +03:00
Nicholas Guriev 38a53687a0 Fix a couple of typos
Signed-off-by: Nicholas Guriev <guriev-ns@ya.ru> (github: mymedia2)
2017-07-12 14:08:36 +03:00
John Preston 67f2daa43c Closed beta 1001007003: Fix build for old OS X. 2017-06-30 09:21:44 +03:00
John Preston c3db57a4fc Closed beta 1001007003: Fix Xcode build. 2017-06-30 09:21:44 +03:00
John Preston 7245319351 Prefer static dc options when using a proxy. 2017-06-30 09:21:43 +03:00
John Preston 8ae159dd66 Add special dc options config request. 2017-06-29 11:40:07 +03:00
John Preston 5d0e89db5d Switch to the server side changelogs. 2017-06-29 11:40:00 +03:00
John Preston 665a1acfd8 Apply language with app restart if logged in.
Confirm and restart if logged in, just quickly apply if not.
2017-06-29 11:39:54 +03:00
John Preston d51fd7b3ad Update intro change language link.
Also now MTP::Sender isn't bound to MTP::Instance, because Intro
Widget is MTP::Sender, but Intro::PhoneWidget destroys current
MTP::Instance.
2017-06-29 11:39:53 +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 110e7c8074 Finalize rename / move. 2017-06-29 11:39:38 +03:00
John Preston a813793007 API scheme updated to layer 67. 2017-06-29 11:39:35 +03:00
John Preston 299143108b Improve protocol support. 2017-05-17 16:39:17 +03:00
John Preston 52f7c8f064 Mark connection as inited only on a non-error response. 2017-05-17 14:01:58 +03:00
John Preston 30d000e139 Toggle calls controls using config and user flags.
Also use calls timeout values from config.
Also request config each time when the auth session changes.
2017-05-09 23:46:22 +03:00
John Preston b267957abe Apply all MTP Key generation checks to calls.
Also move all OpenSSL BN_* calls to base/openssl_help header.
2017-05-09 23:46:16 +03:00
John Preston 0a716036c2 Extract Calls::Call. Add a call button to TopBar. 2017-05-09 23:46:14 +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 8d28d0691f API scheme updated to layer 66.
Support CDN file download.
2017-04-12 22:36:25 +03:00
John Preston 34ab04cbe6 Add lambda-based checked timers.
Also ApiWrap is now not a QObject.
2017-04-07 18:13:21 +03:00
John Preston 0d0307e175 Move ApiWrap to AuthSession.
Also send all ApiWrap requests as an MTP::Sender.
Also create AuthSession only after starting MTProto.
2017-04-07 18:13:19 +03:00
John Preston 5444b8166c Finalize rename / move of files. 2017-04-07 18:13:18 +03:00
John Preston afa9393f38 Expose IsPrimeAndGood() interface from connection.
Also fix a race in MTProto debug type serialization initialization.
2017-04-03 21:28:18 +03:00
John Preston 0cdd0a9ff9 Remove old 'using std::string' from mtproto. 2017-04-02 20:11:30 +03:00
John Preston e8ed307278 Add search in GIFs to EmojiPanel. 2017-03-31 18:58:59 +03:00