Commit Graph

618 Commits

Author SHA1 Message Date
John Preston 8e442563f2 Enable checked auth key creation. 2018-05-20 23:20:48 +03:00
John Preston f2a5a29d12 Alpha version 1.2.21: Fix build for Xcode. 2018-05-18 21:07:31 +03:00
John Preston 96f7c0c02e Don't try to logout CDN dcs. 2018-05-18 19:41:59 +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 a053384618 Fix mtproto-proxy working with domain names.
Also refactor a bit TcpConnection and HttpConnection classes.
2018-05-17 13:27:49 +03:00
John Preston d3f85b4c4e Display channels promoted by proxy on top. 2018-05-13 21:26:35 +03:00
John Preston 8764da787b Don't logout on some server-side problems. 2018-05-13 12:19:34 +03:00
John Preston e3c6abfc3d Fix possible crash in reply returns. 2018-05-10 14:56:36 +03:00
John Preston 257dfa6b3f Improve phone rules checking. 2018-05-05 21:55:39 +03:00
John Preston e0431d270b Allow cdn requests through mtproto proxy. 2018-05-05 21:55:39 +03:00
John Preston 1af2769209 Closed beta 1.2.17.4: Fix option lookup. 2018-05-05 21:55:39 +03:00
John Preston db7041f2dc Send different dns requests for simple config. 2018-05-05 21:55:38 +03:00
John Preston ad1f089802 Read autoupdate prefix from config. 2018-05-05 21:55:38 +03:00
John Preston 62c812858e Improve config re-requesting. 2018-05-05 21:55:38 +03:00
John Preston 4bf66cb6e9 Better special config implementation. 2018-05-05 21:55:38 +03:00
John Preston 95fee543ec Try all available endpoints from config. 2018-05-05 21:55:38 +03:00
John Preston f794d8dbd8 Check proxy availability in ProxiesBox. 2018-05-05 21:55:38 +03:00
John Preston 900d1ddb36 Support multiple proxies in local storage. 2018-05-05 21:55:38 +03:00
John Preston dc9483e07a Fix possible deadlock.
Some unknown code (like getSession) was called while holding
_requestsByDcLock mutex which could lead to a deadlock.

Now all access points to _requestsByDc are simple.
2018-05-05 21:55:37 +03:00
John Preston 65f968ec1b Update API scheme to layer 78. 2018-05-05 21:55:37 +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 909acb25fd Requesting config if can't connect. 2018-05-05 21:55:37 +03:00
John Preston 4a9db99082 Use application level proxy settings. 2018-05-05 21:55:37 +03:00
John Zimmermann a2606c4fc4 fix libressl-2.7 compat (#4633) 2018-04-28 21:57:02 +03:00
John Preston 38c20fc3c2 Return one old way for requesting special config. 2018-03-20 18:21:36 +04:00
John Preston 8ed167c5fa Change domain fronting url and host header. 2018-03-11 22:55:28 +03:00
John Preston a0eb64428e Use new config fields for revoke settings. 2018-03-11 22:21:17 +03:00
John 73c0c4507a fix build against libressl 2018-03-09 21:12:34 +03:00
John Preston 56fece6216 Move from req_pq to req_pq_multi in protocol impl. 2018-03-08 15:55:05 +03:00
John Preston 0f901b3728 Update API and use WebDocument for inline bots. 2018-03-06 16:49:44 +03:00
John Preston 7425e80f05 Use HistoryMedia as view, add Data::Media. 2018-02-08 12:20:48 +03:00
John Preston 97a9089ebf Move draw / getState code to HistoryView::Message.
Item dimensions broken for now.
Also remove history.h from pch.
2018-02-08 12:20:48 +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 14034c255e Replace QSharedPointer with std::shared_ptr. 2017-12-18 13:07:18 +04:00
John Preston 4c9931ab02 Support grouped media rendering. 2017-12-16 20:50:42 +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 273ac5eaf1 Add some more public keys. 2017-12-08 20:26:27 +04:00
John Preston 5bc47e5203 Move shareContact and readServerHistory to ApiWrap.
Also allow non-confirming contact info sharing to Saved Messages.
2017-12-07 17:43:05 +04:00
John Preston 007ab3b7b8 Fix crash in RSA public key wrapper. 2017-12-07 09:34:11 +04:00
Nicholas Guriev f813bb704f Optimize key initialization
* Do not do redundant copying of numbers.
2017-12-07 09:15:10 +04:00
Nicholas Guriev 93809ec404 Fix build against OpenSSL 1.1
Closes: #3196
2017-12-07 09:15:10 +04:00
John Preston 1d85c8a6b6 API scheme updated to layer 73. 2017-12-05 12:44:27 +04:00
John Preston e1c68892d4 Show third column only when explicitly requested.
This allows you to show info in layer from mention links.
2017-12-04 13:42:05 +04:00
John Preston 85b3d3f64d Display admin badges in supergroups.
Also prefer std containers to Qt and OrderedSet in data_peer.
2017-12-01 22:38:44 +04:00
John Preston 2432845df2 Optimize and rename base::weak_unique_ptr.
Rename base::enable_weak_from_this -> base::has_weak_ptr.
Rename base::weak_unique_ptr -> base::weak_ptr.
Rename base::make_weak_unique -> base::make_weak.
Rename base/weak_unique_ptr.h -> base/weak_ptr.h
2017-11-30 21:33:27 +04:00
John Preston ad6ddcb507 Fix crash in selecting unsent messages.
Also add some more checks in file downloads and serialization.
2017-11-30 11:14:31 +04:00
John Preston 6ca105a290 Minimal layer 72 support. 2017-11-20 23:54:05 +04:00
John Preston ac99318f34 Use ranges:: algorithms instead of base:: 2017-11-20 16:24:00 +04:00
John Preston eb2719fad1 Added search to files and links shared media. 2017-11-16 07:59:08 +04:00
John Preston a27edcad1c Extract SparseIdsList module from SharedMedia.
This way it can be reused in search results management.
2017-11-16 07:59:08 +04:00
John Preston 101d4f6444 Use std::function for base::lambda implementation.
base::lambda becomes just std::function and base::lambda_once becomes
base::unique_function - a move-only wrapper around std::function.

This is required because Visual C++ 2017 15.4.1 has a compiler bug
with static member variables of class templates, they may collide.

The std::function uses inheritance and virtual functions instead of
custom vtables done by static members of class templates used in
custom base::lambda implementation, so they work fine.
2017-11-16 07:59:08 +04:00
John Preston 54cc3e6315 Shared media multiple items selection. 2017-11-16 07:59:07 +04:00
John Preston ed061252a5 Move to Xcode 9.0 and fix errors in Clang build. 2017-11-16 07:59:05 +04:00
John Preston 1a0e524b49 Optimize third column (create it only once).
Before historyPeer and historyPeerCanWrite were independent, so we
created a new Info section for both of them changing.

Now we use Data::CanWriteValue(peer) and rpl::flatten_latest().
2017-11-16 07:59:04 +04:00
John Preston ffc20e4492 Divide structs into several data/ modules. 2017-11-16 07:59:04 +04:00
John Preston 41ed2d1b84 New storage for shared media messages index. 2017-11-16 07:59:02 +04: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
John Preston f0ab72ffbc Fix AutoConnection::debugState() for TCP connections. Fix #3171
Also silent new Xcode version warning.
2017-03-30 18:20:51 +03:00
John Preston 5bb68cfd8f Support reading me_url_prefix from config.
The default value 'https://t.me' can be overriden from server config.
2017-03-30 12:49:16 +03:00
John Preston d41372dccd Allow MTP_flags(0) and MTP_flags(single_flag). 2017-03-25 18:42:01 +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 facc729234 Edit account self destruct time in Settings.
Also accept lambda_once in rpcDone() and rpcFail() lambda wrappers.
2017-03-20 23:05:38 +03:00
John Preston 6ad2cd38ed Generate scheme module by GYP action.
Add a new codegen action to generate MTP scheme from scheme.tl file.
2017-03-16 12:37:56 +03:00
John Preston b1ee91b06b Add blocked users box to Settings.
Start a general PeerListBox, it should replace both ContactsBox
and MembersBox in the future. Show blocked users list in it.
2017-03-14 13:58:36 +03:00
John Preston bc254228c9 Alpha 1.0.21: Use custom refcount for MTP types.
It seems that heavy using std::shared_ptr and std::make_shared
like it was before completely kills the compilation time.

Also HistoryItem::_create now uses perfect forwarding.
2017-03-11 20:03:36 +03:00
John Preston f2cd364e14 Alpha 1.0.21: Fix more compilation bugs. 2017-03-11 17:13:57 +03:00
John Preston 28ae5fd65c Alpha 1.0.21: Fix compilation bug. 2017-03-11 13:35:43 +03:00
John Preston f2465eba73 Make MTPstring and MTPvector value types.
Also move MTPstring implementation to QByteArray.
2017-03-10 23:27:26 +03:00
John Preston 1df955e30a Closed beta 1000020001: remove chats list padding. Fix #3098
Also return config requesting at the beginning of each app launch.
2017-03-10 23:27:25 +03:00
John Preston 02da80439b Remove read() constructors from MTP types.
This will allow us to handle errors in parsing not by exceptions.
2017-03-10 23:27:24 +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 81790b2271 Notifications management moved to AuthSession.
Also implemented Global::WorkMode() as an base::Variable.
2017-03-06 18:38:15 +03:00
John Preston 83720d8789 Finalizing file renaming. 2017-03-04 13:23:56 +03:00
John Preston b0dbe9d353 Renamed / moved a bunch of files.
Next commit fixes the build.
2017-03-04 12:56:07 +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
John Preston 0838d21a05 Removed virtual type getters in mtpFileLoader. 2017-03-04 12:01:06 +03:00
John Preston bc76f5ee1e Debug feature added for overriding dc options.
Now you can type "endpoints" in Settings and choose a file with
a complete set of dc_options that will be used instead of built-in
or received through mtproto config till the end of current session.
2017-03-01 20:22:37 +03:00
John Preston f8318177b9 Platform-dependent file methods called async.
Some major platform-dependent file operations refactoring.
All methods like "open file", "open file with", "show in folder"
were moved to core/file_utilities module with platform-dependent
backends. All methods interacting with DesktopServices made async.
2017-02-28 18:03:38 +03:00
John Preston d254058690 Alpha 1.0.16: fighting crashes.
An attempt to fix a crash in MTP::Instance destructor + additional
logging there to find out how this crash happens.
2017-02-27 21:47:29 +03:00
John Preston 2fa2fa41c5 Some special logging added for crash catching.
Special FileLoader destructor crash added to find the code path
leading to crashes that could be observed through the reports.

Looks like progress() signal handlers enter event loop somehow.
2017-02-27 21:33:42 +03:00
John Preston 6c2f16e9a0 Some improvements in mtproto data processing.
Readability improvements. Checking maximum padding size.
Checking SHA1 hash before validating inner message length.
2017-02-27 12:51:03 +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 d1e37864ac Closed beta 1000014001: fixed crash in MTP destructor.
Some of MTP::Instance::Private fields access _instance in
destructors. All that cleanup should be performed before the
Instance::~Instance() (which invalidates _private) is called.
2017-02-25 20:55:11 +03:00
John Preston bcec2f6b84 Closed beta 1000014001: fixed Xcode build. 2017-02-25 20:46:21 +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
John Preston c3b3819d9f Moved AppClass to messenger.cpp:Messenger. 2017-02-25 19:48:20 +03:00
John Preston 63c61637f8 Moved MTP::authedId() to AuthSession::Current(). 2017-02-25 19:48:19 +03:00
John Preston a35947141c Encapsulated DcOptions to an independent class. 2017-02-25 19:48:19 +03:00
John Preston 90b3b5c3e5 MTP::AuthKey uses std::array for data.
Also using "volatile char*" iteration for secure memset on Mac/Linux.
2017-02-25 19:48:18 +03:00
John Preston 21efb44e81 TL scheme for destroy_auth_key query added. 2017-02-25 19:48:17 +03:00
John Preston ffc557a0f9 Using standard library instead of std_ namespace.
Currently tested only in VS2015.
2017-02-21 16:45:56 +03:00
John Preston 8a8e0c1182 Passcode box layout fix. Drop image from Firefox fix.
Also admin star color in group profile has separate palette entry.
2017-01-13 18:15:25 +03:00
John Preston 7fb1463c43 Version 1.0 stable: bump copyright date to 2017. 2017-01-11 23:02:13 +04:00
John Preston 218f991547 Alpha version 0.10.22: critical bug fixes. 2016-12-31 17:34:41 +04:00
John Preston 85b434bee4 Scheme updated. Pinned dialogs support added. 2016-12-30 17:52:53 +04:00
John Preston 4692fdeb5f Closed beta 10019013: Groups in common now are opened in a section. 2016-12-30 17:52:50 +04:00
John Preston 47977009b8 Moved FloatAnimation->Animation, Animation->BasicAnimation. 2016-12-30 17:52:48 +04:00
John Preston 06ed7b8eaf Some more ripple animations. Now only anim::value (float64).
Also each FloatAnimation now stops MTP responses.
Also slide animations done by FloatAnimation.
Closed beta 10019012.
2016-12-30 17:52:46 +04:00
John Preston a248cef15d Moved back to layer 58, fixed some style issues. 2016-12-30 17:52:44 +04:00
John Preston 7bb3b4d807 Common groups profile block done. Moved to layer 59.
Also profile block modules were renamed.
2016-12-30 17:52:42 +04:00
John Preston 8958ae0377 Typing animations from android. 2016-12-30 17:52:36 +04:00
John Preston 3cff50009c Closed beta 10019010: unified attach button, new intro, new stickers.
Now all files sending is confirmed before preparing for sending.
You can paste from clipboard and drag many files at once.
2016-12-30 17:52:32 +04:00
John Preston 3da0533339 Intro redesign done. 2016-12-30 17:52:30 +04:00
John Preston e880c4876e Strict alignment request for base::lambda. Various improvements. 2016-12-30 17:52:21 +04:00
John Preston d607f0768a Closed version 10019009: bubbles with tails. 2016-12-30 17:52:16 +04:00
John Preston 802349d042 Version 0.10.19: Critical bug fix of Session::needToResumeAndSend(). 2016-10-24 23:37:43 +03:00
John Preston 1cfe9d0ff5 Version 0.10.18: a couple of crash fixes. 2016-10-24 18:36:17 +03:00
John Preston fc7c5d0ab3 Fixed travis build for TDESKTOP_DISABLE_AUTOUPDATE case. 2016-10-18 10:56:38 +03:00
John Preston d543073632 Display download progress in the media player playback widget. 2016-10-13 12:12:12 +03:00
John Preston 9eb8a93719 Media::Player::Widget added instead of PlayerWidget.
New media player bar widget added. Switching between floating
media player panel and media player widget. New volume controller.
2016-10-12 22:36:48 +03:00
John Preston e616c39608 Merge branch 'dev' into player
Conflicts:
	Telegram/SourceFiles/application.cpp
	Telegram/SourceFiles/core/utils.h
	Telegram/SourceFiles/localstorage.cpp
	Telegram/SourceFiles/pspecific_mac_p.mm
2016-10-08 12:10:33 +03:00
John Preston f1d52c12ae Version 0.10.13.alpha: crash fix in custom notifications.
Not sending inline bot request drafts to server by timeout.
2016-10-07 19:45:45 +03:00
John Preston 41dc0f4e98 Hide all button added to default notifications. 2016-10-05 19:56:27 +03:00
John Preston 45dabbf9ab Replaced some exceptions in MTProto code with t_assert()s. 2016-10-02 00:09:44 +03:00
John Preston 1b54ccb59c Merge branch 'game_media' into player
Conflicts:
	Telegram/Resources/basic.style
	Telegram/SourceFiles/media/player/media_player_list.cpp
	Telegram/SourceFiles/title.cpp
2016-09-30 20:07:56 +03:00
John Preston a18e3e5616 Game play send message action is supported. 2016-09-30 16:40:22 +03:00
John Preston 5b3ac58578 Merge branch 'game_media' into player
Conflicts:
	Telegram/SourceFiles/core/basic_types.h
	Telegram/SourceFiles/sysbuttons.h
	Telegram/SourceFiles/title.cpp
2016-09-29 16:48:43 +03:00
John Preston f1f7333c7a Removed some old styles. Divided basic_types module to several. 2016-09-29 14:37:16 +03:00
John Preston 903795d0e5 Merge branch 'game_media' into player
Conflicts:
	Telegram/SourceFiles/application.cpp
	Telegram/SourceFiles/inline_bots/inline_bot_layout_internal.cpp
	Telegram/SourceFiles/mainwidget.cpp
	Telegram/SourceFiles/mainwidget.h
	Telegram/SourceFiles/structs.h
2016-09-29 00:31:43 +03:00
John Preston 0562024444 Merge branch 'master' into player
Conflicts:
	Telegram/SourceFiles/core/observer.h
	Telegram/SourceFiles/mainwindow.h
	Telegram/SourceFiles/media/view/media_clip_playback.cpp
	Telegram/SourceFiles/media/view/media_clip_playback.h
2016-09-29 00:16:02 +03:00
John Preston 538ffb9727 Moved History[Media] classes to history_media_types module. 2016-09-28 13:15:03 +03:00
John Preston 90a4b66366 New media type Game added. Display of Game partially supported. 2016-09-27 16:37:18 +03:00
John Preston 8546814a25 imageLoaded() notifications done through base::Subscriber.
Also FileDialog query completion notifications use base::Subscriber.
Strict lambda alignment check. Disable large lambdas in lambda_wrap.
2016-09-26 16:57:08 +03:00
John Preston 453661d611 Removed Function<> and SharedCallback<>, using base::lambda_unique<>.
Also removed macro START_ANIMATION(anim,) using anim.start() instead.
2016-09-26 15:09:59 +03:00
John Preston f970ac3163 New audio player done (without playlist). 2016-09-23 19:04:26 +03:00
John Preston a8f3582cb1 Title controls reordering done right. Title song play button created. 2016-09-21 14:44:20 +03:00
John Preston 227aa36627 Trending sticker sets install improved, masks sets install disallowed.
Also rpcDone() and rpcFail() now accept lambdas.
2016-09-19 13:18:21 +03:00
John Preston 578cf4ed61 Merge branch 'master' into games 2016-09-15 21:56:57 +03:00
John Preston c00456e12e Fixed build for OS X 10.6 and 10.7 on Qt 5.3 and libstdc++. 2016-09-15 14:08:45 +03:00
John Preston 26ca5fafbb Scheme updated. Dialogs list layout bug fixed. 2016-09-15 12:44:02 +03:00
John Preston 86982da5f7 Merge branch 'master' into games
Conflicts:
	Telegram/Telegram.pro
2016-09-12 16:35:17 +03:00
John Preston 96a0e1c237 Resending requests even if received FLOOD_WAIT_N, N >= 60.
This will fix the infinite large files downloading, because sometimes
server replies with FLOOD_WAIT_N with N > 300, up to 900.
2016-09-07 14:14:24 +03:00
John Preston 82d92d21f6 ShareBox used to share game score using tg:// link. Scheme updated. 2016-09-07 12:04:57 +03:00
John Preston 160895f6e3 Support for game keyboard buttons and score service messages added. 2016-09-02 12:11:23 -04:00
John Preston fdab386178 Most of the new Settings are done.
Left: auto update, privacy and security, local storage box +
some minor things, like design fixes, codes like loadlang and
clearing of the local storage (box) and temp download folder.
2016-08-26 22:49:18 -06:00
John Preston b0fdddfcf4 New RevokePublicLinkBox done. Added base::lambda_wrap<>. Layer 55.
When there are too many public channels / megagroups and you try to
create one more Telegram offers you to revoke one of the existing
public links so you will be able to create a new public community.
2016-08-12 18:22:11 +03:00
John Preston 5df54371b5 ConfirmPhoneBox support added.
Limiting StartUrl to 8k symbols to prevent share url text overflow.
Better working with many cases of regular expression switch.
2016-07-28 20:01:08 +03:00
John Preston dbdf28d0a0 Version bumped to 0.9.61 stable.
Merge branch 'archived_stickers' into cancel_reset.

Conflicts:
	Telegram/Resources/winrc/Telegram.rc
	Telegram/Resources/winrc/Updater.rc
	Telegram/SourceFiles/app.cpp
	Telegram/SourceFiles/core/version.h
	Telegram/SourceFiles/localstorage.cpp
	Telegram/Telegram.vcxproj.filters
	Telegram/Telegram.xcodeproj/project.pbxproj
	Telegram/build/version
2016-07-25 22:54:40 +03:00
John Preston 02e54dd8ba Scheme updated with covered stickers, not used yet. 2016-07-22 19:04:38 +03:00
John Preston b35c99cb0c When installing sticker set some sets can be archived.
We show a box with them and describing what happend.
Limit of the recent stickers count is taken from config now.
2016-07-18 18:39:10 +03:00
John Preston 12523f4c0c Checking self-computed crc32 magics with the ones from tl scheme. 2016-07-17 21:21:57 +03:00
John Preston 95c050081c Cloud recent sticker sets supported. 2016-07-15 18:58:52 +03:00
John Preston bf4acc4e52 Fixed reading stickers from old versioned local storage.
Handling error when installing sticker set from featured.
2016-07-14 14:59:55 +03:00
John Preston cb0c99acc8 Seek done in video player in MediaView. Some memory leaks fixed.
Using pixmapFromImageInPlace() instead of QPixmap::fromImage().
2016-07-13 20:34:57 +03:00
John Preston cd36d367ed Version raised to 0.9.58. Version field of documents supported. 2016-07-08 16:56:53 +03:00
John Preston 8ea47c1811 Opened histories stack finished, stack of states in vector_of_moveable. 2016-07-05 17:48:36 +03:00
John Preston cd696ade4e Featured stickers fully supported (unread badges, box, adding, etc). 2016-06-28 21:05:38 +03:00
John Preston 991c6ddd99 Saving featured stickers for new 0.9.57 version in local storage. 2016-06-27 19:25:21 +03:00
John Preston 38c2915533 Fixes in floating dates with migrated histories.
All service messages are now not multiline (including pinned).
Confirmation for profile photo deleting will be added (not enabled).
Copy-by-selection should be supported in Linux version now.
Drafts that contain only reply-to-id (without text) support added.
2016-06-14 19:26:41 +03:00
John Preston 16429b3008 Floating dates that appear animated when scrolling messages added. 2016-06-10 13:21:09 +03:00
John Preston 520260f207 Merge branch 'profile' into drafts
Conflicts:
	Telegram/SourceFiles/app.cpp
	Telegram/SourceFiles/codegen/style/processor.cpp
	Telegram/SourceFiles/history.cpp
	Telegram/SourceFiles/historywidget.cpp
	Telegram/SourceFiles/mainwidget.cpp
	Telegram/SourceFiles/mainwidget.h
	Telegram/SourceFiles/profilewidget.cpp
	Telegram/SourceFiles/profilewidget.h
	Telegram/Telegram.vcxproj
	Telegram/Telegram.vcxproj.filters
2016-06-06 18:16:52 +03:00
John Preston 958e47cc19 Received messages are not marked as read while scroll is at the top.
HistoryToEnd button is always shown if there are unread messages.
HistoryToEnd button displayes unread messages count.
New service message (HistoryCleared) is handled (not displayed at all).
2016-06-03 15:45:33 +03:00
John Preston 7f353d9b1a Removed all code related to channel comments. 2016-05-27 19:47:46 +03:00
John Preston 1c13556b8d Simplified usage of Observer, new event types can be added easier. 2016-05-25 21:49:47 +03:00
John Preston 46ad43bb1e New profile cover actions by buttons done.
Two new types of Observers: image loaded and async file dialog.
2016-05-25 20:59:21 +03:00
John Preston 533a955dda Unread outgoing messages in supergroups supported.
Looking through the history of group avatar photos added.
Messages about some contact joined Telegram are never unread.
2016-05-20 19:35:16 +03:00
John Preston af248a6714 EntityInText made class instead of struct. Scheme updated.
No left trim of monospace text block when sending / displaying text.
New entity type (mention name) introduced, but not supported yet.
2016-04-29 15:00:48 +03:00
John Preston 2834ce0344 Moving to Qt 5.6.0, instructions can be broken. 2016-04-23 14:40:42 +03:00
John Preston 5a3fea05ac ClickHandler, TopBarWidget and Overview layouts moved to separate files.
Xcode and QtCreator builds are currently broken.
2016-04-13 00:31:28 +03:00
John Preston fe59c815b2 HistoryMedia always holds a pointer to its parent HistoryItem.
Using local cached data when sending media inline bot results.
2016-04-10 18:53:01 +04:00
John Preston 90b2b240ce Merged with master. 2016-04-09 15:15:23 +04:00
John Preston ff839bd978 Scheme updated. Inline geo sending requests without geo. 2016-04-08 21:25:20 +04:00
John Preston fa0c700ca6 Inline switch to pm and back support added for inline bots. 2016-04-08 18:16:52 +04:00
John Preston 8e89486fbc Error handling changed, 'auto' keyword used for MTP types.
All errors that lead to MTP request resending by default
error handler now can be handled differently. For example
inline bot requests are not being resent on 5XX error codes.
+ extensive use of auto keyword in MTP types handling.
2016-04-08 14:44:35 +04:00
John Preston 35c05cdba7 Build fixed for gcc, QtCreator. 2016-04-07 20:49:15 +04:00
John Preston db387d50b8 Scheme updated, support for via @bot added to stickers. 2016-04-07 14:03:10 +04:00
John Preston a728dcfca8 Sticker preview done for inline bot results.
ReplyMarkupClickHandler moved to .cpp (implementation details).
2016-04-06 19:32:05 +04:00
John Preston ba7cb1abbc Defaulting inline bot reuslt video title/description to
"Video file"/duration. Scheme updated.
2016-04-06 17:46:52 +04:00
John Preston 80b0667ff9 Requesting getDifference if some users or channels are not loaded
while processing updateNewChannelMessage update.
2016-04-06 15:07:05 +04:00
John Preston 259a996276 Scheme updated. Inline bot result messages now may have reply markup.
Fully applying media from send inline bot result response.
2016-04-06 12:00:37 +04:00
John Preston 35785efa50 Inline bot video and sticker layout and sending done. 2016-04-03 13:11:41 +04:00
John Preston cf9a78a164 Inline bot stickers done, but not tested yet. 2016-04-02 15:20:53 +04:00
John Preston f7dc832dfe Scheme updated. Current mtp layer is now edited inside
scheme.tl file in a special comment line.
2016-04-01 20:37:23 +04:00
John Preston 0e0956451a MTP_bytes() replaces MTP_string() for QByteArray payload.
Scheme updated for bot callbacks sending data bytearrays.
ReplyKeyboard edition is supported when editing the messages.
2016-04-01 14:23:40 +04:00
John Preston 40fddc9697 UniquePointer backported. Fixed unifying of adding new history items. 2016-03-31 15:18:21 +04:00
John Preston 8cde13fb8c Scheme updated, not channel messages editing updates handled. 2016-03-30 21:13:07 +04:00
John Preston 7f6cf32cdd ITextLink moved to ClickHandler, TextLinkPtr > ClickHandlerPtr.
Global methods textlnkOver/Down/DrawOver were replaced by
static members of ClickHandler, now global state consists
of the handler pointer + host pointer, who declares callbacks
for the active and pressed handler changed events.

This will allow to use ClickHandler from different hosts
simultaneously (like HistoryItem / BotDescription / BotKeyboard).

Not yet tested.
2016-03-29 20:17:00 +03:00
John Preston 2c6f74f923 Reply markup keyboard class almost ready, single class
for inline and external bot keyboard handling.

But it needs to reinvent a good improvement/replacement
for ITextLink concept that will support automatic calls
of linkOver()/linkOut() methods in all link holders.
2016-03-28 20:15:17 +03:00
John Preston daa5016c23 Components are now almost plain structs
Moved reply markups to history items which hold them
2016-03-28 15:51:22 +03:00
John Preston ebf9d3285b Merge branch 'dev' into bots 2016-03-26 11:24:50 +03:00
John Preston 40ab82e4bd critical bug fixed in auth import, 0.9.35 dev version 2016-03-25 21:30:19 +03:00
John Preston 559a74847b OrderedSet class done using QMap as implementation,
instead of inheriting it, fixed replies delete code.
2016-03-25 18:20:34 +03:00
John Preston 54032d96b7 Merge branch 'dev' into bots 2016-03-25 15:47:18 +03:00
John Preston 9c7ac50ba6 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2016-03-25 14:30:10 +03:00
John Preston a299c1f9e8 fixed upload of files 2016-03-24 23:35:46 +03:00
John Preston 0b6dea311b scheme for new bot keyboards 2016-03-24 23:34:47 +03:00
John Preston 3e79d7477e Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2016-03-24 21:12:37 +03:00
John Preston 55e8612f27 fixed QtCreator build 2016-03-24 21:12:30 +03:00
John Preston cd25799884 Merge branch 'dev' of https://bitbucket.org/johnprestonmail/telegram-desktop into dev 2016-03-24 20:31:55 +03:00
John Preston 605f5305e4 Changed all .. to ... in phrases 2016-03-24 18:07:13 +03:00
John Preston ef69973e6d fixed build for Xcode 2016-03-24 16:27:34 +03:00
John Preston 7c99f947eb added connection implementations to git, protocol improved 2016-03-24 15:57:10 +03:00
John Preston ad53185645 moved connection implementations from connection module to separate modules, Xcode and QtCreator projects need fixing 2016-03-24 13:55:42 +03:00
John Preston ddd63d73b7 MTP::nonce -> rand_value, fixed first_name and last_name reading from minimal users 2016-03-24 13:12:18 +03:00
John Preston d9ef8217e5 moved MTProtoSession and MTProtoConnection to MTP::internal:: namespace 2016-03-24 11:57:11 +03:00
John Preston 26e2918841 Modules renamed in mtproto folder, Xcode build should not work yet 2016-03-23 21:43:12 +03:00
John Preston 68ed885568 Moved mtproto/mtpPublicRSA.h to mtproto/rsa_public_key module,
rewritten and refactored, removed openssl headers from stdafx.h

Xcode project file does not contain mtproto/rsa_public_key.cpp yet
2016-03-23 21:12:07 +03:00
John Preston ee946025d6 fixed mtproto scheme gen code, 9034001 beta 2016-03-22 19:10:47 +03:00
John Preston fd7a30f143 override specifiers added, retina bug in image circle fixed 2016-03-21 21:57:03 +03:00
John Preston 84e67b8ec0 scrollTop counted relative to the last scrollTop item, attachedToPrevious messages support added, service messages now display date and unreadbar 2016-03-21 21:40:00 +03:00
John Preston 0b2bcbc3e9 some warnings fixed, TDESKTOP_DISABLE_NETWORK_PROXY macro added 2016-03-20 11:16:35 +03:00
John Preston 2ef8c44445 all MTP flags made strictly typed by scoped enums, in-message date display added for non-service messages 2016-03-19 19:55:15 +03:00
John Preston 47c7f76f2c added some additional logging for file downloadings 2016-03-17 21:03:08 +03:00
John Preston 3a8824a9a6 intro rewrite started, new code sending methods 2016-03-14 19:59:18 +03:00
John Preston eb728fb36e calling connectTcp/Http even if _conn4 / _conn6 were already nulled 2016-03-14 12:48:53 +03:00
John Preston 5cab9569c3 updating edited messages dependencies (replies, edit / reply / pinned bar), postponing notification about pinned message while the message itself is not yet available 2016-03-11 15:20:58 +03:00
John Preston efa5fc443a pin/unpin messages in supergroups, local hide for pinned messages 2016-03-10 13:15:21 +03:00
John Preston 1c722a425d forwarded getState fixed, pinned message service msg dependency request and text update done 2016-03-05 23:12:55 +02:00
John Preston 0072573925 pinned message api used, ordering by online and displaying online count in small megagroups 2016-03-04 17:34:46 +02:00
John Preston cde264e5a1 fixed crash in mtpFileLoader delayed destroy, finishing breakpad at the very end, 0.9.29 dev 2016-03-01 21:41:06 +02:00