Commit Graph

3171 Commits

Author SHA1 Message Date
Vitaly Zaitsev 03eb0169b3 Fixed build against OpenSSL 1.1.
Patch backported from https://github.com/grishka/libtgvoip/pull/31 pull request.
Original patch by: Nicholas Guriev <guriev-ns@ya.ru>

Closes #43.
2017-12-21 17:42:17 +02:00
Berkus Decker 3c309a5f3b Use correct add_test() format to obtain correct path to test executables 2017-12-21 12:16:49 +03:00
crackedmind 6ffc8d3905 Remove Qt plugins path rewriting 2017-12-20 14:38:02 +02:00
Berkus Decker 59ee61a90d Handle all enum values 2017-12-20 14:38:02 +02:00
crackedmind b25df92d35 Link in threading libraries if necessary 2017-12-20 14:38:02 +02:00
crackedmind e4358bef35 Update cmake for linux builds 2017-12-20 14:38:02 +02:00
Berkus Decker c4fe2f86ea Add explicit typecasting for some constants 2017-12-20 14:38:02 +02:00
Evgenii Zheltonozhskii 3c350fc719 Replace typeof() gcc extension with decltype() 2017-12-20 14:38:02 +02:00
Berkus Decker 25b5d2d61f Create styles directory initially 2017-12-20 14:38:02 +02:00
Berkus Decker 6c6c23c5a1 Set flag only if supported by the compiler 2017-12-20 14:38:02 +02:00
Berkus Decker b58adbd2b1 Add ALSA and PulseAudio support on Linux 2017-12-20 14:38:02 +02:00
Berkus Decker 44e89b9cbe Set LINUX os flag 2017-12-20 14:38:02 +02:00
Berkus Decker c8a36d27be Fix condition name 2017-12-20 14:38:02 +02:00
Berkus Decker a67bd6e770 Adjust OpenAL detection on Linux systems 2017-12-20 14:38:02 +02:00
Stanislav Ershov 0c4f569f65 Fix error c2100 invalid inderection against visual c++ 19.12 (visual studio 15.5) 2017-12-20 14:38:02 +02:00
Berkus Decker badbf7a900 Enable tests 2017-12-20 14:38:02 +02:00
Berkus Decker a1e200c273 Add more defines from gyp 2017-12-20 14:38:02 +02:00
Berkus Decker fb2fe2057d Add todo notes 2017-12-20 14:38:02 +02:00
Berkus Decker 7e683880be Reorg cmake structure - remove duplication, reorder sections 2017-12-20 14:38:02 +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 9d03c65350 Shorten all lines lengths to fit 100 column limit 2017-12-20 14:38:02 +02:00
Berkus Decker 44eb8751e0 Move detection to parent cmake file 2017-12-20 14:38:02 +02:00
Berkus Decker fb783cfd64 Use OpenAL-provided cmake config, update readme 2017-12-20 14:38:02 +02:00
Berkus Decker 6b6a0475ab Fix compilation on Windows 2017-12-20 14:38:02 +02:00
Berkus Decker 29db5da807 Remove autoupdater 2017-12-20 14:38:02 +02:00
Berkus Decker c417b45469 Remove useless bitfield qualifier 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
Berkus Decker 941b306f7a Suppress warnings for unhandled enum values 2017-12-20 14:38:02 +02:00
Berkus Decker 0f1254586c Remove type mismatch 2017-12-20 14:38:02 +02:00
Berkus Decker fa344a9a47 Update version info with procxx tag 2017-12-20 14:38:02 +02:00
Berkus Decker 27e384e940 Move tests to separate directory 2017-12-20 14:38:02 +02:00
Berkus Decker 45e09dc3d6 Add C++ logo overlay 2017-12-20 14:38:02 +02:00
Berkus Decker 16aea1439a Clean up formatting 2017-12-20 14:38:02 +02:00
Berkus Decker f09feaf8b1 Remove FIPS_mode_set() call 2017-12-20 14:38:02 +02:00
Berkus Decker 6d0918e558 Disable static Qt plugins 2017-12-20 14:38:02 +02:00
Berkus Decker be8570e8c2 Suppress new macOS deprecation warnings 2017-12-20 14:38:02 +02:00
Berkus Decker bf468f36ea Qualify minizip include paths 2017-12-20 14:38:02 +02:00
Berkus Decker d2c6b4041a Switch to FindOpus.cmake 2017-12-20 14:38:02 +02:00
Berkus Decker cf7ca3df15 Subject: [PATCH] Fixed build under Fedora using rpmbuild and mock.
From dba8b962c805af477ceee699aa1c05143aa19d43 Mon Sep 17 00:00:00 2001
From: Vitaly Zaitsev <vitaly@easycoding.org>
Date: Fri, 31 Mar 2017 14:29:58 +0200
2017-12-20 14:38:02 +02:00
Berkus Decker 954d5f5679 Implement missing handlers for disabled breakpad 2017-12-20 14:38:02 +02:00
Berkus Decker bd0fffa063 Turn off OSX crashpad 2017-12-20 14:38:02 +02:00
Berkus Decker e2970ccba2 Fix missing includes 2017-12-20 14:38:02 +02:00
Evgenii 1bb38d5b12 Change used private header
* Hopefully it will be replaced with separate fixed-point lib
2017-12-20 14:38:02 +02:00
Berkus Decker 9da9778663 Add missing token types 2017-12-20 14:38:02 +02:00
Berkus Decker 3b9edbf7dc Fix include path 2017-12-20 14:38:02 +02:00
Stanislav Ershov 78eb3d60c6 Fix opus includes 2017-12-20 14:38:02 +02:00
Berkus Decker d95e41572f Remove obsolete files 2017-12-20 14:38:02 +02:00
Berkus Decker 8e9eea0673 Manually cotire objc++ files 2017-12-20 14:38:02 +02:00
Berkus Decker 8655950638 Add ccache support 2017-12-20 14:38:02 +02:00
Berkus Decker c0072b0d50 Update plist file for OSX build with cmake 2017-12-20 14:38:02 +02:00
Berkus Decker c28a457572 Add cmake files 2017-12-20 14:38:02 +02:00
Berkus Decker af2fd8938a Build libtgvoip with cmake 2017-12-20 14:38:02 +02:00
Berkus Decker ce75c9e7dd git subrepo clone https://github.com/philsquared/Catch Telegram/ThirdParty/Catch
subrepo:
  subdir:   "Telegram/ThirdParty/Catch"
  merged:   "63c097a07"
upstream:
  origin:   "https://github.com/philsquared/Catch"
  branch:   "master"
  commit:   "63c097a07"
git-subrepo:
  version:  "0.3.1"
  origin:   "???"
  commit:   "???"
2017-12-20 14:38:02 +02:00
Berkus Decker b999b8331f git subrepo clone https://github.com/Microsoft/GSL.git Telegram/ThirdParty/GSL
subrepo:
  subdir:   "Telegram/ThirdParty/GSL"
  merged:   "1c95f943"
upstream:
  origin:   "https://github.com/Microsoft/GSL.git"
  branch:   "master"
  commit:   "1c95f943"
git-subrepo:
  version:  "0.3.1"
  origin:   "???"
  commit:   "???"
2017-12-20 14:38:02 +02:00
Berkus Decker e95133d56b git subrepo clone https://github.com/mapbox/variant Telegram/ThirdParty/variant
subrepo:
  subdir:   "Telegram/ThirdParty/variant"
  merged:   "237f83ca"
upstream:
  origin:   "https://github.com/mapbox/variant"
  branch:   "master"
  commit:   "237f83ca"
git-subrepo:
  version:  "0.3.1"
  origin:   "???"
  commit:   "???"
2017-12-20 14:38:02 +02:00
Berkus Decker 3062a8ef99 git subrepo clone https://github.com/telegramdesktop/libtgvoip Telegram/ThirdParty/libtgvoip
subrepo:
  subdir:   "Telegram/ThirdParty/libtgvoip"
  merged:   "651594b3"
upstream:
  origin:   "https://github.com/telegramdesktop/libtgvoip"
  branch:   "tdesktop"
  commit:   "651594b3"
git-subrepo:
  version:  "0.3.1"
  origin:   "???"
  commit:   "???"
2017-12-20 14:38:02 +02:00
John Preston 1c8db1e2e9 Fix travis build for the latest ffmpeg code. 2017-11-13 13:55:11 +04:00
John Preston d46a5f693f Remove unused lang phrases and some code. 2017-09-28 19:18:27 +03:00
eegorov 8bfe407610 New build option: without GTK and appindicator
Signed-off-by: Egor Y. Egorov <egor.y.egorov@gmail.com> (github: eegorov)
2017-09-28 18:32:51 +03:00
visuve 08e3a54a58 Mark missing ctors deleted
- Satisfy the rule of five

Signed-off-by: Veli-Matti Visuri <veli-matti.visuri@cerescon.fi> (github: visuve)
2017-09-28 18:23:42 +03:00
visuve 8c92f42de3 Fix uninitialized values
- Use C++11 default member initializers

Signed-off-by: Veli-Matti Visuri <veli-matti.visuri@cerescon.fi> (github: visuve)
2017-09-28 18:23:42 +03:00
Alexander GQ Gerasiov 07106897a6 Fix CVE-2016-10351: Insecure cWorkingDir permissions.
Set 700 permisson on dir on every start.

Signed-off-by: Alexander GQ Gerasiov <gq@cs.msu.su>
2017-09-28 18:19:27 +03:00
Jan Niklas Hasse e42cc02d0e Prefer AppIndicator if DBus interface is available
Starting with Ubuntu 17.10 the interface will be provided by an
extension (shipped by default):

https://github.com/ubuntu/gnome-shell-extension-appindicator

Legacy tray icons have been completely removed in GNOME 3.26. By
checking the interface, this will allow users of other distributions
with GNOME to also use Telegram's indicator with the extension.

Signed-off-by: Jan Niklas Hasse <jhasse@bixense.com> (github: jhasse)
2017-09-28 12:59:46 +03:00
Yonsh Lin 11a46a1072 Fix IME being interrupted after reconnection
Signed-off-by: Yonsh Lin <yonsh@live.com> (github: yonsh)
2017-09-28 12:57:25 +03:00
John Preston b8d1b8d6c1 Update build docs for VS 2017.
Closes #3117. Closes #3729.
2017-09-06 17:11:30 +03:00
John Preston 7ae1ef0a1a Migrate to VS2017. 2017-09-06 17:11:06 +03:00
John Preston 13aa42c883 Use GYP rule for Qt MOC only on Telegram project. 2017-09-06 12:12:04 +03:00
John Preston aca957595a Version 1.1.23.
- See the message author photo and name
while searching specific chat messages.
- Fix "Send To" menu action on Windows.
2017-09-05 20:38:38 +03:00
John Preston c09fbcfeb3 Display author photo / name in search results. 2017-09-05 20:21:56 +03:00
John Preston def97b3f70 Update faved sticker / saved GIF remove button. 2017-09-05 19:34:36 +03:00
John Preston da373e3334 Update emoji / sticker icons. 2017-09-05 17:44:14 +03:00
John Preston 28a0402253 Fix command line parsing. 2017-09-05 17:38:40 +03:00
John Preston a09fa1b267 Fix sending files from "Send To" in Windows.
Regression was introduced in 8e433971c9.
2017-09-05 16:45:58 +03:00
John Preston 917be105ac Version 1.1.22: Faved stickers limit is 5 right now. 2017-09-04 16:29:35 +03:00
John Preston 710f9d049f Version 1.1.22.
- Bug fixes and other minor improvements.
2017-09-04 15:34:40 +03:00
John Preston 34a43fc62f Update langs. 2017-09-04 15:34:11 +03:00
John Preston 5e77fe8412 Don't display admin stars if admins are disabled. 2017-09-04 15:21:54 +03:00
John Preston 52195ff95a Fix saving chat admins.
Regression was introduced in 0880c01a20.
2017-09-04 15:21:53 +03:00
John Preston 5b77bd5aa0 Limit maximum IP length in case of corrupted data. 2017-09-04 15:21:52 +03:00
John Preston fbf8cd04b5 Fix travis build.
Regression was introduced in 5faca8d4f6.

GYP patch for GCC precompiled header support was accidentally removed.
2017-09-04 14:30:33 +03:00
John Preston 1effaa4e03 Version 1.1.21.
- Bug fixes and other minor improvements.
2017-09-03 23:41:04 +03:00
John Preston 66c94515f3 Fix crash in setting group sticker set. 2017-09-03 22:50:16 +03:00
John Preston c2a1cc2ae8 Fix crash in contacts list box global search.
Regression was introduced in f7359093b4.
2017-09-03 22:50:16 +03:00
John Preston ad41a81b66 Fix window size reset on every launch.
Regression was introduced in b08732cf28.

In MediaView constructor a call to setWindowState(WindowFullScreen)
invokes QWindowSystemInterface::flushWindowSystemEvents() which then
delivers some delayed system window resize event for the main window,
resetting its size to something default.
2017-09-03 22:50:15 +03:00
John Preston 2e374e68c5 Fix working with layers.
Regression was introduced in df64c97.

New base::flags work correctly only if all mutually exclusive flag
values use mutually exclusive bits (a & b == 0 for exclusive (a, b)).

Closes #3856.
2017-09-03 22:49:33 +03:00
John Preston 8f82880b93 Version 1.1.20.
- Groups with unread mentions and replies are now marked
with an '@' badge in the chats list.
- Navigate new mentions and replies in a group
using the new '@' button.
- Mark your stickers as “favorite” to quickly access them
from the redesigned sticker panel.
- Add an official sticker set for your group which all members will
be able to use while chatting in your group (100+ member groups only)
2017-09-03 19:23:50 +03:00
John Preston cd8d73c7ad Langs updated. 2017-09-03 19:14:47 +03:00
John Preston c76389e126 Allow to use base::lambda independently. 2017-09-03 15:45:49 +03:00
John Preston 76489a7885 Fix stack overflow in passcode lock check.
A regression was introduced in e209737b1a.

We call MainWindow::doWeReadMentions() in the history paintEvent,
that calls Auth().checkAutoLock() and may start passcode locking.

Passcode locking starts animation and grabs the window content,
calling history paintEvent() which leads to deadlock.

Now we call Auth().checkAutoLock() asyncronously.
2017-09-03 15:45:48 +03:00
John Preston df64c972d8 Replace QFlags with base::flags. 2017-09-03 15:45:47 +03:00
John Preston a1344e862a Add base/flags for bit flags on scoped enums. 2017-09-03 15:45:46 +03:00
John Preston 5faca8d4f6 Add Catch unittest framework and some tests. 2017-09-03 15:45:45 +03:00
John Preston 48e2a5472e Return not_null<History*> in App::history(). 2017-09-03 15:45:43 +03:00
John Preston 5a20014b1a Highlight all mentions when marking them read. 2017-08-30 19:15:53 +03:00
John Preston 20efa47126 Fix layout for the log entries of caption edits. 2017-08-30 19:15:52 +03:00
John Preston 5a1d52f82e Fix unread mentions navigation issues.
When the unread bar was destroyed we first jumped to the bottom
of the history by updateHistoryGeometry() and only after that
animated scroll to the desired message started. The last messages
were always painted (and marked as read) in that case.
2017-08-30 19:15:51 +03:00
John Preston 4c604b34c1 Allow service messages to be unread mentions. 2017-08-30 19:15:50 +03:00
John Preston ee5c827f26 Closed beta 1.1.19.3. 2017-08-30 19:15:49 +03:00
John Preston 643bedd4cf Display faved stickers before recently used. 2017-08-30 19:15:48 +03:00
John Preston af165115f8 Fix media caption line breaks in MediaView. 2017-08-30 19:15:48 +03:00
John Preston 5964261db5 Allow to view sticker set from admin event log. 2017-08-30 19:15:47 +03:00
John Preston d4814c5cb0 Display only mention badge if one unread message. 2017-08-30 19:15:46 +03:00
John Preston a8df4453ff Fix cancel search in peer ripple painting. 2017-08-30 19:15:45 +03:00
John Preston 638d64d6f2 Closed beta 1.1.19.2. 2017-08-30 19:15:44 +03:00
John Preston c97227825f Send images as files if no way to send as photos.
Fixes #3710.
2017-08-30 19:15:44 +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 cc4023d26a Improve unread mentions badge layout. 2017-08-30 19:15:39 +03:00
John Preston ca15fa3a97 Use sync notifications for name changes.
Search index updates must be sync or it may use new values twice.
2017-08-30 19:15:38 +03:00
John Preston 67bdb4cec8 Closed beta 1.1.19.1. 2017-08-30 19:15:37 +03:00
John Preston e13ed9b909 Remove main()->peerUpdated and some other signals. 2017-08-30 19:15:36 +03:00
John Preston 8e433971c9 Improve current executable path computing.
Fixes #960 (hopefully).
2017-08-30 19:15:35 +03:00
John Preston f2801d4775 Fix possible crash in file download after error.
Regression was introduced in 2fa2fa41c5.

In file download failed handler we suggest to try to load the file
once again to the same location. After some changes we started to
forget filename before failed handler. That resulted in large files
loading to memory instead of hard drive.

Add a precondition in FileLoader to prevent such bugs in the future.
2017-08-30 19:15:34 +03:00
John Preston 6cedf20c39 Remove old crash debug information. 2017-08-30 19:15:33 +03:00
John Preston 7df63db9b3 Hide "Ban Users" admin rights changes in channels. 2017-08-30 19:15:32 +03:00
John Preston 0303f18ac6 Fix check for _mouseSelection flag in dialogs.
Fixes #3781.
2017-08-30 19:15:32 +03:00
John Preston 81fb32504b Apply faved stickers limit when faving. 2017-08-30 19:15:31 +03:00
John Preston a72453fb1b Remove ContactsBox and contacts_box module. 2017-08-30 19:15:30 +03:00
John Preston b816d33d48 Replace add bot to group box with PeerListBox. 2017-08-30 19:15:29 +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 f7359093b4 Replace ContactsBox with PeerListBox in two cases.
- View contacts list in PeerListBox.
- Add participants when creating group / channel in PeerListBox.
2017-08-30 19:15:27 +03:00
John Preston 17cef93ac0 Use gsl::finally() instead of base::scope_guard(). 2017-08-30 19:15:26 +03:00
John Preston 012d59ab42 Use nullptr instead of std::unique_ptr<Type>(). 2017-08-30 19:15:25 +03:00
John Preston 0bea2620b5 Replace BoxContent::closeHook() with boxClosing. 2017-08-30 19:15:24 +03:00
John Preston 95af8da66a Call correct destructor in base::Observable.
base::Subscription::Node doesn't have a virtual destructor.
2017-08-30 19:15:23 +03:00
John Preston 71e0e6ac4d Mark history as read at the bottom in any case. 2017-08-30 19:15:22 +03:00
John Preston bca444b92e Add base::optional as a wrapper of base::variant. 2017-08-30 19:15:21 +03:00
John Preston ae1dacb7d7 Add base/algorithm for range-based algorithms. 2017-08-30 19:15:21 +03:00
John Preston e209737b1a Display and follow unread mentions in history. 2017-08-30 19:15:13 +03:00
John Preston 7ad21ff713 Move std and gsl includes to precompiled header. 2017-08-25 14:39:33 +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 1207ddb2ea Add flat_map and flat_set using std::deque. 2017-08-25 14:39:31 +03:00
John Preston edbc3f8fde Use QDataStream directly on QByteArray. 2017-08-25 14:39:30 +03:00
John Preston dd9d604966 Fix incorrect scroll jumps.
If we invoke showHistory(h, msgId) several times we call
forgetScrollState() for this history being on the same scroll place.

To compute it again we need to call visibleAreaUpdated() even if
the real scroll position was not changed.
2017-08-25 14:39:29 +03:00
John Preston 65d81f96f3 Remove some App::wnd() occurences. 2017-08-25 14:39:28 +03:00
John Preston b08732cf28 Move MediaView from MainWindow to Messenger. 2017-08-25 14:39:27 +03:00
John Preston fa818407e6 Improve group sticker set setup box. 2017-08-25 14:39:25 +03:00
John Preston 7f5a91d2bb Allow to hide empty megagroup sticker set. 2017-08-25 14:39:24 +03:00
John Preston 25f18c0c3a Allow to fave stickers from deleted sticker packs. 2017-08-25 14:39:23 +03:00
John Preston 472a714ef1 Apply faved stickers limit when faving a new one. 2017-08-25 14:39:22 +03:00
John Preston 9b01621791 Add height for checkbox/radiobutton ripple effect. 2017-08-25 14:39:20 +03:00
John Preston f04b25ea26 Allow setting group stickers set. 2017-08-25 14:39:19 +03:00
John Preston ab35829358 Remove App::app(), App::uploader(), App::api().
Also use Auth() instead of AuthSession::Current*().
2017-08-25 14:39:18 +03:00
John Preston 417f5684dc Add ability to disable animations. 2017-08-25 14:39:16 +03:00
John Preston a143505fd6 Remove lambda_slot() and lambda_slot_once(). 2017-08-25 14:39:15 +03:00
John Preston cb5b6d0cb8 Add megagroup stickerset to StickersListWidget. 2017-08-25 14:39:13 +03:00