Compare commits

...

1209 Commits

Author SHA1 Message Date
John Preston
0743e71ab6 Beta version 1.9.15.
- Mark new messages as read while scrolling down through them.
- Bug fixes and other minor improvements.
2020-02-21 21:33:32 +04:00
John Preston
c207a7c0d3 Fix simultaneous read history requests. 2020-02-21 19:05:57 +04:00
John Preston
d83cf0e560 Fix build with Clang. 2020-02-21 18:50:56 +04:00
John Preston
28032e5e0d Fix jump to a specific message. 2020-02-21 18:48:30 +04:00
John Preston
7f77db8c7f Fix request cancel in Histories. 2020-02-21 18:48:30 +04:00
John Preston
f9d02740aa Don't send same read request more than once. 2020-02-21 18:48:30 +04:00
John Preston
ec7a2dce2f Search through Histories. 2020-02-21 18:48:30 +04:00
John Preston
6f672ecdc3 Request history parts through Histories. 2020-02-21 18:48:30 +04:00
John Preston
818f5cd004 Send and delete messages through Histories. 2020-02-21 18:48:30 +04:00
John Preston
147e8cc467 Prepare for syncing read / write requests. 2020-02-21 18:48:30 +04:00
John Preston
db322cc19a Move requestDialogEntry to Histories. 2020-02-21 18:48:30 +04:00
John Preston
9bdcd08233 Don't read history for guest channels. 2020-02-21 18:48:30 +04:00
John Preston
a954b459b4 Fix crash on reading in support mode. 2020-02-21 18:48:30 +04:00
John Preston
f133210db3 Fix scroll first to unread then to end. 2020-02-21 18:48:30 +04:00
John Preston
ee8028cd53 From above the unread jump to unread by down button. 2020-02-21 18:48:30 +04:00
John Preston
f72cb979c0 Create unread bar when jumping to a message. 2020-02-21 18:48:30 +04:00
John Preston
49c4d35afa Improve working with unread bar. 2020-02-21 18:48:30 +04:00
John Preston
ee3e9af63a Remove counter from unread bar. 2020-02-21 18:48:30 +04:00
John Preston
1980c1004e Mark as read only in inited history view. 2020-02-21 18:48:29 +04:00
John Preston
a3f19c073b Fix 'reading' of an empty history. 2020-02-21 18:48:29 +04:00
John Preston
388173f0ad Fix delete+leave from a legacy group.
We first need to leave and receive a new message update about
us leaving the group and only after that remove the conversation
locally from the chats list, otherwise it reappears in the list.
2020-02-21 18:48:29 +04:00
John Preston
7cffb0ef9d First send delete request, then destroy locally. 2020-02-21 18:48:29 +04:00
John Preston
c8d2ac9583 Move message ownership to History. 2020-02-21 18:48:29 +04:00
John Preston
6357529901 Fix 90/270 degrees photo rotation.
Fixes #7197.
2020-02-21 18:48:29 +04:00
John Preston
b5dcd84513 Fix stop-auto-read when the system is idle. 2020-02-21 18:48:29 +04:00
John Preston
5b7f7ed70e Fix reading of currently opened chat. 2020-02-21 18:48:29 +04:00
John Preston
c04f3a7048 Don't replace local with server last message. 2020-02-21 18:48:29 +04:00
John Preston
32d93e2651 Fix several read requests together. 2020-02-21 18:48:29 +04:00
John Preston
9cccea9a87 All read history done through Data::Histories. 2020-02-21 18:48:29 +04:00
John Preston
b0e1ae3948 Prepare Data::Histories for requests interdependencies. 2020-02-21 18:48:29 +04:00
John Preston
70408f0e22 First version of reading-while-scrolling. 2020-02-21 18:48:29 +04:00
Ilya Fedin
db2aa7000a Fallback to non-panel icon when tray counter is disabled 2020-02-21 18:25:08 +04:00
John Preston
02bc999bd5 Update cmake_helpers. 2020-02-21 18:15:41 +04:00
Ilya Fedin
5bdc0db9e2 Generalize backward compatibility of linux launcher 2020-02-21 18:12:48 +04:00
Ilya Fedin
ca1623f34a Use XDG Desktop Portal only when variable is set 2020-02-21 18:11:24 +04:00
Ilya Fedin
bbc516cf43 Move TDESKTOP_DISABLE_DBUS_INTEGRATION to cmake_helpers 2020-02-21 18:08:55 +04:00
RadRussianRus
8128f851d1 Changed libvdpau source url 2020-02-19 12:02:42 +04:00
John Preston
742de6282f Version 1.9.14: Update CMake helpers. 2020-02-18 12:28:06 +04:00
Ilya Fedin
9d0ae61ee0 Revert tray icon size to 22 on Linux (except KDE) and fix tray counter disabling in KDE 2020-02-18 11:37:17 +04:00
John Preston
901a199035 Version 1.9.14.
- Bug fixes and other minor improvements.
2020-02-17 17:09:38 +04:00
John Preston
775d5b6dcc Use 64 byte alignment for ffmpeg frames.
Fixes #7225.
2020-02-17 16:44:08 +04:00
John Preston
c5c77ddb67 Rename Telegram Desktop to Telegram Lite. 2020-02-16 08:39:42 +04:00
John Preston
2f698de3b6 Update build scripts for Xcode 11 tools. 2020-02-16 08:30:51 +04:00
John Preston
82aa64ca0a Enable third column by default in Mac App Store build. 2020-02-15 22:45:50 +04:00
John Preston
3bb9e8c7eb Fix power outage logout only by fsync. 2020-02-14 18:12:08 +04:00
John Preston
555fe70df3 Don't delete old localstorage file copies. 2020-02-13 18:39:44 +04:00
John Preston
05c95a0307 Fix fullscreen rotate, fix rotate phrase. 2020-02-13 16:51:05 +04:00
John Preston
7bf2b607f9 Return glib event loop in static builds.
Regression was introduced in 3f5eaa8f0a.

Fixes problem with GTK file dialog running as modal windows. Fixes #7186.
2020-02-13 13:49:34 +04:00
John Preston
23bab2aeb9 Version 1.9.13: Update libtgvoip submodule. 2020-02-12 19:43:22 +04:00
John Preston
f5fdcc3af0 Enable secondary QR code login by default. 2020-02-12 19:43:22 +04:00
John Preston
5c079b0bbd Add additional QR code login debug logs. 2020-02-12 19:36:05 +04:00
John Preston
6bbcec0c23 Version 1.9.13.
- Bug fixes and other minor improvements.
2020-02-12 13:03:46 +04:00
John Preston
0beec6e335 Fix maximized window on secondary screen. 2020-02-12 13:03:08 +04:00
John Preston
a88423a33f Fix bad window rendering with maximize-on-launch.
I have no idea why MainWindow is ruined completely in case you call
MainWindow::show, MainWindow::setWindowState(maximized) and then
in the same context (without crl::on_main) create full screen viewer.
2020-02-12 12:09:17 +04:00
John Preston
1a2b2c15c5 Disable Wayland in Snap build. 2020-02-11 23:37:06 +04:00
John Preston
1210ba37c4 Version 1.9.12.
- Switch to Picture-in-Picture mode to watch your video
in a small window while doing something else.
- Change playback speed in the '...' menu when watching videos.
- Rotate photos and videos in the media viewer
using the rotate button in the bottom right corner.
2020-02-11 19:10:09 +04:00
John Preston
356e3c6907 Enable night mode by default on Mac App Store. 2020-02-11 16:00:19 +04:00
John Preston
3c5f8d08ad Fix radial animations in emoji download. 2020-02-11 14:12:42 +04:00
John Preston
75de655642 Fix #6804 once again. 2020-02-11 13:29:32 +04:00
Ilya Fedin
3574a9c874 Fix lost qgetenv in GetLauncherBasename 2020-02-11 13:14:22 +04:00
John Preston
bcd0fe38f0 Fix invisible passcode field.
Regression was introduced in fd8ae60dc.
2020-02-11 13:01:55 +04:00
Ilya Fedin
5171c0bd77 Fix crash when tray icon is disabled on macOS 2020-02-11 12:38:03 +04:00
Kirsan
4fececb94f Revert changes to notification replay. And replace user settings with Both (Enter and Ctrl+Enter) to polls. 2020-02-11 12:29:34 +04:00
Kirsan
9c562931a2 Respect user settings "Send by ..." for:
forward dialog
send file dialog
edit caption dialog
notification replay
schedule messages
new channel dialog
group description edit dialog
create poll dialog
rate call dialog
report bot dialog
support mode
2020-02-11 12:29:34 +04:00
John Preston
38bef584e1 Beta version 1.9.11.
- Bug fixes and other minor improvements.
2020-02-10 19:49:10 +04:00
Ilya Fedin
e62f727135 Fix creating of autostart launcher in snap 2020-02-10 19:30:41 +04:00
John Preston
a0e7ef61fc Update submodules. 2020-02-10 19:30:09 +04:00
John Preston
fd8ae60dc1 Change show order of MainWindow/OverlayWindow.
Fixes #6804.
2020-02-10 19:28:41 +04:00
John Preston
093c2887c3 Fix PiP on multi-monitor setup. 2020-02-10 18:45:23 +04:00
John Preston
770678e32a Fix crash in updates handling. 2020-02-10 15:58:58 +04:00
John Preston
07cc05f62e Fix loading thumbnails in videos in albums.
Once more fixes #6332.
2020-02-10 15:43:24 +04:00
Ilya Fedin
77719750ee Fix name of the snap desktop file
Use new switch for GSL
2020-02-10 15:34:03 +04:00
Ilya Fedin
fb2bbd87b7 Fix zlib linkage 2020-02-10 15:23:14 +04:00
Ilya Fedin
6206b6f843 Adapt indicator-application check for sandboxed environments
Fix quality loss in the tray icon image

Fix window showing by clicking on the tray icon on macOS

Fix tray icon displaying on KDE
2020-02-10 15:09:47 +04:00
Kai Uwe Broulik
9e3fa2e4bc Check action id when invoked
Makes it more resilient
2020-02-10 14:45:07 +04:00
John Preston
1f16d72667 Allow setSpeed() on non-active streaming player. 2020-02-06 13:27:21 +04:00
John Preston
6cf9157fb5 Fix jump-to-time from audio captions. 2020-02-06 13:19:33 +04:00
John Preston
76ff9a562e Fix build. 2020-02-05 22:06:40 +04:00
John Preston
ffeff09561 Beta version 1.9.10: Fix build for OS X 10.10-10.11. 2020-02-05 22:03:42 +04:00
John Preston
cc71bdce8f Beta version 1.9.10: Update lib_spellcheck. 2020-02-05 20:33:46 +04:00
John Preston
5d43df4f33 Beta version 1.9.10.
- Switch to the Picture-in-Picture mode
to watch your video in a small window.
- Change video playback speed in the playback controls '...' menu.
- Rotate photos and videos in the media viewer
using the rotate button in the bottom right corner.
2020-02-05 20:15:28 +04:00
John Preston
d29c3add79 Rotate video in PiP. 2020-02-05 20:04:40 +04:00
John Preston
4544b091a0 Allow rotating content in media viewer. 2020-02-05 19:37:39 +04:00
John Preston
91244d5211 Update cmake_helpers submodule. 2020-02-05 18:39:58 +04:00
John Preston
5cae7b3db1 Use system zlib on Linux, update submodules. 2020-02-05 18:39:47 +04:00
John Preston
702fe024c0 Fix a crash in reply data inconsistency. 2020-02-05 18:39:47 +04:00
John Preston
1ad0ff34df Don't overlap video with controls. 2020-02-05 18:39:47 +04:00
John Preston
282c502b71 Show playback time in PiP. 2020-02-05 18:39:47 +04:00
John Preston
d6e989cad5 Allow seek in PiP. 2020-02-05 18:39:47 +04:00
John Preston
23388b5705 Display playback progress in PiP. 2020-02-05 18:39:47 +04:00
John Preston
9ed56aa5d6 Good display of not-yet-started streaming in PiP. 2020-02-05 18:39:47 +04:00
John Preston
d9c5ab645c Fix radial loading in PiP widget. 2020-02-05 18:39:47 +04:00
John Preston
2cfb3c6755 Display dark background for PiP controls. 2020-02-05 18:39:47 +04:00
John Preston
e095c325b3 Move PiP controls to one corner. 2020-02-05 18:39:47 +04:00
John Preston
47f9978c46 Double click on PiP to switch back to fullscreen. 2020-02-05 18:39:47 +04:00
John Preston
2e1e13b843 Rename mediaview.style to media_view.style. 2020-02-05 18:39:47 +04:00
John Preston
7c2110c1f3 Closed alpha version 1.9.9.1. 2020-02-05 18:39:47 +04:00
John Preston
2a7ac6896c Update submodules. 2020-02-05 18:39:47 +04:00
John Preston
e13325ca22 Support menu with playback speed. 2020-02-05 18:39:47 +04:00
John Preston
e889a52f6f Improve design of video player and PiP controls. 2020-02-05 18:39:47 +04:00
John Preston
4d737b35da Fix PiP window on macOS. 2020-02-05 18:39:47 +04:00
John Preston
0fbd263562 Add shadow and round corners in PiP. 2020-02-05 18:39:47 +04:00
John Preston
f81f37505b Save video PiP window geometry. 2020-02-05 18:39:47 +04:00
John Preston
58dd33d8a2 Fix PiP window on macOS. 2020-02-05 18:39:47 +04:00
John Preston
f24f27a13c Add volume icon and playback speed info. 2020-02-05 18:39:47 +04:00
John Preston
87cc18aff8 Add video speed control slider. 2020-02-05 18:39:47 +04:00
John Preston
b88219902f Add sample PiP controls. 2020-02-05 18:39:47 +04:00
John Preston
63090fb75f Fix build for macOS. 2020-02-05 18:39:46 +04:00
John Preston
b5b520ab66 Make non-activatable PiP window. 2020-02-05 18:39:46 +04:00
John Preston
7a6052db81 Implement complex PiP movement. 2020-02-05 18:39:46 +04:00
John Preston
a73520c9d8 Allow resizing PiP. 2020-02-05 18:39:46 +04:00
John Preston
55b63cd2e3 Move PiP panel code to a separate class. 2020-02-05 18:39:46 +04:00
John Preston
612ee18a93 Snap PiP to screen edges. 2020-02-05 18:39:46 +04:00
John Preston
ca5c9271a3 First prototype of picture-in-picture player. 2020-02-05 18:39:46 +04:00
John Preston
9feea4a724 Don't blur video thumbnail if any side >= 240px.
Fixes #6332.
2020-02-05 18:39:46 +04:00
John Preston
3da99b6058 Add x11 plugin to Snap config. 2020-02-05 18:39:46 +04:00
Ilya Fedin
3b4dfa1381 Use LXQt's StatusNotifierItem implementation instead of appindicator 2020-02-05 18:38:34 +04:00
Ilya Fedin
1b1f9d9985 Adapt snap for system GSL 2020-02-04 21:22:04 +04:00
Ilya Fedin
3f5eaa8f0a Remove glib dependency from Qt 2020-02-04 21:19:51 +04:00
John Preston
28a567986d Try linking some libs dynamically on Linux. 2020-01-31 16:33:35 +03:00
John Preston
68027fd23e Add missing static plugin on Linux. 2020-01-31 16:05:03 +03:00
Ilya Fedin
2807c5ef19 Use system icon theme and increase icon size 2020-01-31 16:03:41 +03:00
Ilya Fedin
0477bda929 Use XDG Desktop Portal for file dialog 2020-01-31 16:02:11 +03:00
Ilya Fedin
d80b3fda7d Fix duplicate object path in SandboxAutostart and add some logging 2020-01-31 15:47:44 +03:00
Ilya Fedin
a831c1703a Split launcher filename detection to a function 2020-01-31 15:46:39 +03:00
John Preston
e6cec49646 Fix static libstdc++ linking in Updater.
Fixes #6939.
2020-01-29 14:54:25 +03:00
John Preston
74d848311b Replace str_const with base::const_string. 2020-01-29 12:47:50 +03:00
John Preston
c03df169b3 Attempt 2 to fix the snap build. 2020-01-29 10:07:01 +03:00
John Preston
9b19cba161 Version 1.9.9.
- Bug fixes and other minor improvements.
2020-01-28 20:45:49 +03:00
Ilya Fedin
9536a3c98e Use packaged build in the snap package 2020-01-28 20:38:12 +03:00
John Preston
f0de8131ec Improve phrases for scheduled messages. 2020-01-28 18:07:17 +03:00
John Preston
aa18cb64bc Catch more spellcheck exceptions.
Fixes #7086, hopefully fixes #7095.
2020-01-28 16:56:12 +03:00
23rd
7b36c91e0d Fixed insertion of 11th image from clipboard in SendFilesBox. 2020-01-28 16:56:03 +03:00
John Preston
fb0ceb110e Fix assertion violation in non-history song player. 2020-01-28 16:55:57 +03:00
RadRussianRus
20fbf0a655 Fixed formatting 2020-01-28 16:45:11 +03:00
RadRussianRus
46de86f1e4 Fix opening private linked channel from message 2020-01-28 16:45:11 +03:00
Ilya Fedin
05eabfd539 Add autostart support for linux 2020-01-28 16:44:27 +03:00
Ilya Fedin
74942cd06e Use QDBusConnection::connect to fix signal connection on old distributions 2020-01-28 16:43:23 +03:00
John Preston
24da40ef05 Fix -startintray on Ubuntu. 2020-01-28 11:41:05 +03:00
23rd
e7fbcce9d9 Added handler for SCHEDULE_STATUS_PRIVATE error when send file. 2020-01-28 11:20:36 +03:00
23rd
ef5055f4f3 Fixed missing reply cancel after sending scheduled message. 2020-01-28 11:20:36 +03:00
23rd
7cbc5ef902 Fixed scheduled sending text messages until online when user is online. 2020-01-28 11:20:36 +03:00
23rd
03d96a32f2 Fixed scheduled sending files until online when user is online. 2020-01-28 11:20:36 +03:00
John Preston
5406c17158 Handle only left click on button.
Fixes #7073.
2020-01-28 09:46:21 +03:00
John Preston
29c6228616 Add quiz phrase to langpack. 2020-01-28 09:33:36 +03:00
23rd
3f4a44c828 Fixed wrong checking of index in auto-closer Github Action. 2020-01-27 20:20:05 +03:00
RadRussianRus
327c9caed7 Fix opening hashtag when in archive 2020-01-27 19:56:30 +03:00
Nicholas Guriev
07560188cf Perform test for additional libatomic 2020-01-27 19:41:56 +03:00
23rd
2c64676415 Removed Travis CI in favor of Github CI.
Thanks Auchri for the work he did, but we are moving on with Github CI!
2020-01-24 21:53:45 +03:00
23rd
29ddd88a5d Added Github CI for Linux. Added new build status badge. 2020-01-24 21:53:45 +03:00
23rd
543dc80b0b Reduced cache size in Github CI for Windows and macOS.
- Other minor improvements.
2020-01-24 21:53:45 +03:00
John Preston
2008b1beea Version 1.9.8.
- Bug fixes and other minor improvements.
2020-01-24 18:30:59 +03:00
John Preston
9aa597d6f0 Fix validation of created poll. 2020-01-24 18:29:53 +03:00
Ilya Fedin
1d85416434 Remove unneeded include from QtDBus notifications 2020-01-24 18:06:58 +03:00
John Preston
bb64285c3a Always show Create button, show error messages.
Fixes #7058, fixes #7059.
2020-01-24 17:45:05 +03:00
John Preston
6a581830f4 Enable IPO by CMake option. 2020-01-24 17:11:30 +03:00
John Preston
f1d155c3f6 Added fireworks animation for right quiz answer. 2020-01-24 17:01:25 +03:00
John Preston
66e3b529b7 Fix visual glitches in bubble shaking. 2020-01-24 17:01:25 +03:00
Ilya Fedin
04cfd598e2 Use appindicator in flatpak and fix desktop environment detection, add pavucontrol-qt 2020-01-24 16:51:50 +03:00
Vitaly Zaitsev
b94c8436eb Added missing Qt header. Fixed clang build.
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
2020-01-24 15:35:15 +03:00
John Preston
dbfc555d9c Support shaking bubble for wrong quiz answer. 2020-01-24 11:49:12 +03:00
John Preston
5aacf867cd Correctly apply 'min' updates in polls. 2020-01-24 10:31:18 +03:00
John Preston
2f9db1d069 Fix signedness compare warning. 2020-01-24 10:30:59 +03:00
John Preston
3c022b893a Show correct incoming quiz votes in green. 2020-01-24 10:27:08 +03:00
John Preston
b74adc5311 Allow viewing round videos in scheduled messages. 2020-01-23 15:37:12 +03:00
John Preston
ed8b237364 Fix assertion violation in poll create box. 2020-01-23 15:36:53 +03:00
John Preston
7170808d2b Fix unloading thumbnails in videos.
Fixes #6332.
2020-01-23 14:02:18 +03:00
John Preston
578a80dfb8 Remove AppVeyor CI in favor of GitHub. 2020-01-23 13:48:15 +03:00
John Preston
d72a5e0d3d Fix build for Mac App Store. 2020-01-23 13:14:19 +03:00
John Preston
2699af5d5a Version 1.9.7.
- Create three new kinds of polls.
- See who voted for what in polls with visible votes.
- Vote for several options in polls that allow multiple answers.
- Guess the correct answer in quiz-style polls.
- Explore various ways of combining the different poll options.
- Add polls from the '...' menu in any group or channel.
- Use bots like @QuizBot to create quizzes
with several questions and media attachments.
- Schedule messages to be sent when your recipient comes online
(only works if you know their online status).
2020-01-23 10:46:57 +03:00
23rd
8298caddc3 Removing scheduling messages until online for those who hide their online. 2020-01-23 10:46:57 +03:00
John Preston
1bcde1b55c Pass cdn_supported flag to upload.getFile. 2020-01-23 10:46:57 +03:00
23rd
5d492bfe93 Added Github Action that closes issue if it was created for TG macOS. 2020-01-23 10:46:57 +03:00
John Preston
655b3d7c50 Update submodules. 2020-01-23 10:46:57 +03:00
John Preston
e4278745d5 Closed alpha version 1.9.6.1. 2020-01-23 10:09:34 +03:00
23rd
e266dc153b Implemented ability to add more than 1 file to albums via SendFilesBox. 2020-01-23 10:09:34 +03:00
John Preston
a482b744d2 Add a ripple animation for polls bottom button. 2020-01-23 10:09:34 +03:00
John Preston
d5bf742912 Improve polls layout. 2020-01-23 10:09:34 +03:00
John Preston
4346aecb61 Add a separate string for a pinned quiz. 2020-01-23 10:09:34 +03:00
John Preston
bdfa080701 Fix build for Windows. 2020-01-23 10:09:34 +03:00
23rd
465a42a825 Added ability to customize shortcuts for sending messages. 2020-01-23 10:09:34 +03:00
23rd
7d519990b2 Added ability to customize shortcuts for silent or scheduled messages. 2020-01-23 10:09:34 +03:00
23rd
19fd3a15e1 Updated range-v3 to 0.10.0. 2020-01-23 10:09:34 +03:00
23rd
12250676f9 Added restoring of scroll position after edit items in SendFilesBox. 2020-01-23 10:09:34 +03:00
23rd
a1bb9cbb2b Added ability to delete and edit files in SendFilesBox. 2020-01-23 10:09:34 +03:00
23rd
836df873f0 Added ability to delete and edit separate media in SendFilesBox. 2020-01-23 10:09:33 +03:00
23rd
58cc8fc08b Removed IconButtons from album items in SendFilesBox. 2020-01-23 10:09:33 +03:00
23rd
d1d5312ead Moved searching of sticker mimes to single place. 2020-01-23 10:09:33 +03:00
23rd
f3595e379c Added processing of small album thumb widths in SendFilesBox. 2020-01-23 10:09:33 +03:00
23rd
5f8c2f90ff Added button to add new files in SendFilesBox to album only. 2020-01-23 10:09:33 +03:00
23rd
abc7b8364c Slightly refactored code in SendFilesBox. 2020-01-23 10:09:33 +03:00
23rd
627a105ba9 Moved album files filter to FileDialog namespace. 2020-01-23 10:09:33 +03:00
23rd
faef5d8af6 Added buttons to delete and edit album items in SendFilesBox. 2020-01-23 10:09:33 +03:00
23rd
cf1dc3df78 Added ability to edit album items in send files box via FileDialog. 2020-01-23 10:09:33 +03:00
23rd
a26e4eee18 Split some things into different methods in SendFilesBox. 2020-01-23 10:09:33 +03:00
23rd
efa4deef6a Moved media editing via FileDialog to separate static method. 2020-01-23 10:09:33 +03:00
23rd
7e00930319 Added ability to delete items from album in SendFilesBox. 2020-01-23 10:09:33 +03:00
23rd
c08b2ae3df Added ability to schedule messages to be sent when user comes online.
Pro tip: Hold Ctrl key to send a silent scheduled message!
2020-01-23 10:09:33 +03:00
23rd
8ebbeb5274 Fixed display of scheduled until online message dates. 2020-01-23 10:09:33 +03:00
John Preston
c3b01d8573 Hide multiple answers if only quiz is allowed. 2020-01-23 10:09:33 +03:00
John Preston
43d8dedec4 Fix collapse after full results are loaded. 2020-01-23 10:09:33 +03:00
John Preston
cd97b649ff Improve phrases for polls. 2020-01-23 10:09:33 +03:00
John Preston
ac650b08fd Allow collapsing expanded poll results. 2020-01-23 10:09:33 +03:00
John Preston
e6c005dcba Fix poll result header on scroll top. 2020-01-23 10:09:33 +03:00
John Preston
5acb7448b7 Add loading rows placeholder. 2020-01-23 10:09:33 +03:00
John Preston
80168a58a7 Improve poll results loading. 2020-01-23 10:09:33 +03:00
John Preston
ebae0d71b8 Save poll results state when viewing profiles. 2020-01-23 10:09:33 +03:00
John Preston
8c11e1724a Move poll results to a Info-like layer. 2020-01-23 10:09:33 +03:00
John Preston
d0597407d8 Support creating polls from bot keyboards. 2020-01-23 10:09:33 +03:00
John Preston
c3aa2abe11 Fix multiple answers polls voting. 2020-01-23 10:09:33 +03:00
John Preston
3e0b2f5553 Add PollResultsBox. 2020-01-23 10:09:33 +03:00
John Preston
3d1275e19a Disable forwarding public polls to channels. 2020-01-23 10:09:33 +03:00
John Preston
d72d1aabe6 Disable creating public polls in channels. 2020-01-23 10:09:33 +03:00
John Preston
aac6d0df27 Improve quiz phrases. 2020-01-23 10:09:33 +03:00
John Preston
f700220ec1 Create polls with different settings. 2020-01-23 10:09:33 +03:00
John Preston
04d9b93e17 Implement poll creation settings UI. 2020-01-23 10:09:33 +03:00
John Preston
989fad8554 Add poll option select animation. 2020-01-23 10:09:33 +03:00
John Preston
2981a16e17 Allow sending multiple votes in a poll. 2020-01-23 10:09:33 +03:00
John Preston
afff7634f9 Display last voters userpics. 2020-01-23 10:09:33 +03:00
John Preston
95b2886bad Display correct poll subtitle and quiz answer. 2020-01-23 10:09:33 +03:00
John Preston
d57905c2b3 Update API scheme to layer 109. 2020-01-23 10:09:33 +03:00
Ilya Fedin
ffe037f9f1 Fix single instance socket path for compatibility with flatpak 2020-01-23 09:58:12 +03:00
Sergey
3a748e20c2 Fix Github CI MacOS artifacts 2020-01-23 09:57:06 +03:00
John Preston
b0c2ed839d Use c++17 instead of c++2a on GCC.
For now GCC9 and c++2a crashes with ICE somewhere deep in range-v3.
2020-01-22 17:25:04 +03:00
John Preston
eee252bb74 Filter out Unicode tag symbols from document names.
Fixes #7005.
2020-01-22 17:24:42 +03:00
Vitaly Zaitsev
59a8acc667 Implemented installation support for GNU/Linux.
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
2020-01-22 16:35:35 +03:00
John Preston
960f50824d Fix one more crash in CDN file download.
The sessionTimedOut could remove a session right between a request
for a file part and a request for additional cdn file hashes.

In this case requestData.sessionIndex was not updated and this
was leading to an assertion violation in changeRequestedAmount.
2020-01-22 16:13:50 +03:00
John Preston
63020ec302 Fix radial animation ending.
Fixes (2) from #6975.
2020-01-22 11:55:27 +03:00
John Preston
71d4563b9d Use 'telegramdesktop' as a default desktop file base name. 2020-01-22 11:55:27 +03:00
Ilya Fedin
98bfd7370d Make TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME and TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION respect DESKTOP_APP_USE_PACKAGED 2020-01-22 10:06:56 +03:00
Federico Armellini
45a81a5016 Fix changelog year 2020 2020-01-22 10:06:24 +03:00
John Preston
389fb0c4e9 Fix GIF real parent refresh after sending.
Fixes #6943.
2020-01-22 09:53:59 +03:00
John Preston
fc72fe3a78 Version 1.9.6.
- Bug fixes and other minor improvements.
2020-01-22 02:16:47 +03:00
John Preston
5f646dd125 Fix strange crash on Windows. 2020-01-22 02:16:38 +03:00
John Preston
6748233869 Version 1.9.5.
- Bug fixes and other minor improvements.
2020-01-21 23:32:41 +03:00
John Preston
fef90ea363 Fix build for Linux. 2020-01-21 23:32:05 +03:00
Ilya Fedin
0480611bf8 Add possibility to build without dbus 2020-01-21 23:30:47 +03:00
23rd
b4fbff0b6c Fixed build for Windows with c++latest. 2020-01-21 20:29:14 +03:00
John Preston
5f5d5629f8 Fix memory leak in media streaming. 2020-01-21 18:48:21 +03:00
John Preston
2d7f6fc2e7 Removed old lib_storage sources. 2020-01-21 18:47:57 +03:00
John Preston
5d6fd32496 Fixed detecting unsupported languages for spellcheck. 2020-01-21 18:47:40 +03:00
John Preston
48b24d12b2 Always ask for TDESKTOP_LAUNCHER_BASENAME on Linux. 2020-01-21 18:47:36 +03:00
John Preston
f0dc912080 Fix video frame rounding.
Fixes #6982.
2020-01-21 18:47:30 +03:00
John Preston
23f6044081 Remove GYP build scripts. 2020-01-21 18:47:25 +03:00
John Preston
f52fe937ed Fix possible crash in text processing on Linux.
Fixes #7005.
2020-01-21 18:47:21 +03:00
John Preston
97fe03e522 Update submodules. 2020-01-21 18:47:13 +03:00
John Preston
1ce2b5d946 Fix build for macOS with C++14 and later. 2020-01-21 18:47:03 +03:00
John Preston
c1003e39d1 Fix build with new libtgvoip. 2020-01-21 18:46:49 +03:00
kbroulik
b50073d281 Implement inline-reply
On supported notification servers (currently only KDE Plasma 5.18+) this
action will create a reply text field inside the notification.
2020-01-21 15:27:50 +03:00
23rd
37cdd78bda Fixed Github CI builds.
- Added prefix to configure zlib for macOS.
 - Removed hardcoded path to Python 2 version
 and added a search for existing versions.
2020-01-21 11:59:13 +03:00
Ilya Fedin
c13d637502 Fix spaces on end of lines 2020-01-21 11:58:57 +03:00
Ilya Fedin
2298eed8bf Use QStringList::contains also 2020-01-21 11:57:52 +03:00
Nicholas Guriev
8fab9167be Use QStringList::join to print notifications capabilities 2020-01-20 14:05:00 +03:00
John Preston
965a01a4cd Hide connecting status when update is ready. 2020-01-20 13:57:45 +03:00
John Preston
98bc7ce49b Revert "Pass cdn_supported flag to upload.getFile."
This reverts commit 7751f383ca.
2020-01-20 13:39:18 +03:00
John Preston
12873f8be0 Fix crash in CDN file download. 2020-01-20 13:04:12 +03:00
John Preston
6820b0b3b3 Fix spell checker crash for Persian language.
Fixes #6994.
2020-01-20 13:02:27 +03:00
John Preston
862093e1dd Revert min width 360px back to 380px.
Many visual glitches appeared, for example one in theme previews.
2020-01-20 13:01:52 +03:00
John Preston
7751f383ca Pass cdn_supported flag to upload.getFile. 2020-01-20 13:01:38 +03:00
John Preston
431521a8f5 Version 1.9.4: Fix build for Linux. 2020-01-17 20:22:53 +03:00
John Preston
f1b0e81b60 Version 1.9.4.
- Bug fixes and other minor improvements.
2020-01-17 18:14:48 +03:00
John Preston
340271fea0 Fix build, improve flat containers. 2020-01-17 18:13:50 +03:00
John Preston
25c48cc08e Update submodules. 2020-01-17 17:50:21 +03:00
Ilya Fedin
0bcc4befa1 Change fc-custom.conf condition to DESKTOP_APP_USE_PACKAGED 2020-01-17 17:49:07 +03:00
John Preston
d24735b217 Fix possible crash in CDN file loading. 2020-01-17 17:45:43 +03:00
John Preston
3643622e1b Update lib_spellcheck. 2020-01-17 17:00:47 +03:00
John Preston
8fb2772093 Fix sent GIFs playback. 2020-01-17 16:58:19 +03:00
23rd
4794a0be84 Fixed indents in utils.cpp. 2020-01-17 15:03:11 +03:00
John Preston
bd3d57056b Use MACRO_TO_STRING in config.h 2020-01-17 14:33:46 +03:00
23rd
15fc17066b Added Github CI for Windows and MacOS. Added new build status badges. 2020-01-17 14:19:44 +03:00
John Preston
afe34121af Use MACRO_TO_STRING from lib_base. 2020-01-17 14:15:40 +03:00
John Preston
4f71383557 Fix video timestamps in replies when editing. 2020-01-17 14:14:43 +03:00
John Preston
5aee0f642a Fix timestamps adjacent to parentheses.
Fixes #6997.
2020-01-17 14:14:36 +03:00
John Preston
38d799de24 Fix links parsing. 2020-01-17 14:14:30 +03:00
John Preston
0eb8d24394 Fix unread badge update when leaving a channel.
Fixes #6995.
2020-01-17 14:14:19 +03:00
John Preston
f1822d69be Fix build with DESKTOP_APP_SPECIAL_TARGET. 2020-01-17 13:52:37 +03:00
Ilya Fedin
ee9336f781 Fix notification actions for Cinnamon, fix notification icon for Gnome, add support for TDESKTOP_LAUNCHER_FILENAME in notifications and fix indentation 2020-01-17 13:40:31 +03:00
Ilya Fedin
6fdd1389e6 Make packaged build working 2020-01-17 13:34:27 +03:00
Anton Afanasyev
00e601296c Fix as suggested
Co-Authored-By: 23rd <23rd@vivaldi.net>
2020-01-17 13:00:12 +03:00
Anton Afanasyev
3bc58fb690 Add Ctrl+9 shortcut to show archive. 2020-01-17 13:00:12 +03:00
Vitaly Zaitsev
a52dfe7998 Fixed TDESKTOP_LAUNCHER_FILENAME option.
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
2020-01-17 12:52:31 +03:00
John Preston
3d7a3cf33a Update copyright information. 2020-01-17 11:37:27 +03:00
CynicallDude
6bba0cf986 Update copyright year 2020-01-17 11:33:34 +03:00
John Preston
1f447f98d8 Include variables.cmake after project() call.
Fixes #6950.
2020-01-17 11:29:10 +03:00
John Preston
208b5d7b5b Link libstdc++ statically in Updater.
Fixes #6939.
2020-01-17 10:45:14 +03:00
John Zimmermann
87f44e87cd Cmake: Also use /bin subdir for Ninja if the executable does not have a suffxi (e.g. Linux) 2020-01-17 10:43:40 +03:00
Leo
f2c8167124 lib_tgvoip.cmake: Match against x86 arches.
This avoids matching against other 32bit arches like armv7/armhf that
doesn't have msse2 but are 32bit and need other 32bit-specific flags to
allow for compilation like -g0.
2020-01-17 10:42:50 +03:00
John Preston
3589e658c9 Use Strawberry Perl instead of Active Perl. 2020-01-03 11:41:38 +03:00
John Preston
1f71630f51 Improve spell check underline color.
Fixes #6926.
2020-01-02 15:24:36 +03:00
John Preston
322367c1b1 Correctly minimize window.
Fixes #6932.
2020-01-02 14:57:36 +03:00
John Preston
4eeac7dc18 Fix whitespace and indentation errors.
See #6672, thanks Sea-n.
2020-01-02 14:25:53 +03:00
John Preston
74733275d8 Fix build scripts. 2020-01-02 13:45:21 +03:00
John Preston
100fed3622 Fix build for Linux 32 bit.
Fixes #6921.
2019-12-31 20:20:58 +03:00
John Preston
3e8b76dbd8 Version 1.9.3: Catch Enchant exceptions. 2019-12-31 18:06:54 +03:00
John Preston
da7178089f Version 1.9.3: Fix build for OS X 10.10-10.11. 2019-12-31 17:52:15 +03:00
John Preston
651ef2aa78 Version 1.9.3: Fix cmake version parsing. 2019-12-31 17:39:08 +03:00
John Preston
8c0e168009 Version 1.9.3.
- Videos in chats start playing automatically.
- Resume playback from where you left off
when watching long videos and listening to long audio tracks.
- Control automatic playback for
videos, GIFs and round video messages
in Settings > Advanced > Automatic media download.
- Enjoy system spell checker support on all modern systems.
2019-12-31 17:26:41 +03:00
John Preston
fb36359a6d Disable one failing assertion for now. 2019-12-31 17:26:05 +03:00
John Preston
f2a92f2b02 Check if app is active before showing a tooltip.
Fixes #6885, fixes #6895.
2019-12-31 16:48:44 +03:00
John Preston
3b562bfa3a Minimal update of build instructions to use CMake. 2019-12-31 15:08:58 +03:00
John Preston
22df6fb42e Allow videos to have size as before streaming.
Fixes #6915.
2019-12-31 14:56:31 +03:00
John Preston
735457c231 Fix infinite spell checker loop.
Fixes #6912.
2019-12-31 14:39:14 +03:00
John Preston
b387ccdcf7 Fix video restart in media viewer.
Fixes #6913.
2019-12-31 14:20:37 +03:00
John Preston
03ff48cf07 Allow several lines in QR code intro step phrases. 2019-12-31 14:19:50 +03:00
John Preston
6db4222b1b Update submodules. 2019-12-31 10:30:14 +03:00
John Preston
72d8cd7ef0 Save playback position in long audio files. 2019-12-31 10:30:06 +03:00
John Preston
2637c860e9 Fix glitch in open GIF from context menu. 2019-12-30 17:02:37 +03:00
John Preston
50b5af64dd Fix possible crash in lib_storage. 2019-12-30 16:02:15 +03:00
23rd
e5682a9b25 Fixed Spelling Highlighter creation on unsupported platforms. 2019-12-30 16:02:15 +03:00
John Preston
1ee7801c0b Force GTK file dialog in official builds. 2019-12-30 14:20:12 +03:00
John Preston
c13e433e65 Fix possible crash in failed media resume. 2019-12-30 13:39:18 +03:00
John Preston
4aaecfd531 Fix upload progress and message time display.
Fixes #6909.
2019-12-30 13:38:36 +03:00
John Preston
57b27d217c Fix 'Open GIF' context menu item.
Fixes #6908.
2019-12-30 13:38:02 +03:00
John Preston
1e8f4e428a Beta version 1.9.2.
- Videos in chats start playing automatically.
- Resume playback from where you left off
when watching long videos.
- Control videos, GIFs and round video messages automatic playback
in Settings > Advanced > Automatic media download.
- Spell checker on Linux using Enchant.
2019-12-29 19:34:52 +03:00
John Preston
0693f98107 Fix build on Linux. 2019-12-29 18:57:19 +03:00
Stepan Skryabin
08a93416e8 Update supported Fedora version 2019-12-29 18:43:57 +03:00
ilya-fedin
3d36b4f866 Replace libnotify with QtDBus notification implementation (#6825) 2019-12-29 18:41:45 +03:00
Stepan Skryabin
9071d7b8c0 Update supported Ubuntu version 2019-12-29 18:15:56 +03:00
Nicholas Guriev
dff28bcf7f Adjust build instructions 2019-12-29 18:14:17 +03:00
Nicholas Guriev
22585ca919 Activate spellchecking on Linux 2019-12-29 18:13:42 +03:00
annymosse
8a888051e5 Proposal:Add Chat category
add Chat category for more classification and will appear under Chat category on Deepin distro
2019-12-29 18:01:40 +03:00
Julian Sparber
0b5ac98282 Make min width 360 2019-12-29 17:58:32 +03:00
Xaaalera
d506f10e9f Update utils.cpp
fix for the Ukrainian language
https://i.imgur.com/GcGZOvf.png
https://i.imgur.com/0ZUNw4X.png
2019-12-29 15:46:31 +03:00
John Preston
49129c1529 Update API scheme to layer 108. 2019-12-29 15:28:27 +03:00
John Preston
66204bae95 Update API scheme on layer 107. 2019-12-29 14:41:10 +03:00
John Preston
d47c138f23 Save streaming player between message edits. 2019-12-28 17:56:06 +03:00
John Preston
a980fba3aa Create only temporary keys for CDN. 2019-12-28 13:52:29 +03:00
John Preston
f3d5f0c9de Fix build script for Windows. 2019-12-27 17:35:51 +03:00
John Preston
28c58b41fe Closed alpha version 1.9.1.12. 2019-12-27 17:34:43 +03:00
John Preston
da385069f4 Fix build for Xcode. 2019-12-27 17:29:51 +03:00
John Preston
79870600d9 Fix saving of playback position for long videos. 2019-12-27 17:09:55 +03:00
John Preston
ac48ec5969 Fix radial progress on in-chat streaming start. 2019-12-27 15:55:02 +03:00
John Preston
74e2175a7a Don't show tooltips for internal: links. 2019-12-27 15:43:29 +03:00
John Preston
a7fe88bea7 Highlight timestamps in media viewer. 2019-12-27 15:35:35 +03:00
John Preston
fedf29adb1 Fix timestamp highlights when editing media. 2019-12-27 15:15:16 +03:00
John Preston
1ba052cc13 Highlight timestamps in replies to media. 2019-12-27 13:41:30 +03:00
John Preston
90c54b1f2a Highlight timestamps in song captions. 2019-12-26 17:14:35 +03:00
John Preston
3e3e1d628c Highlight timestamps in video captions. 2019-12-25 18:20:02 +03:00
John Preston
e9620af6fb Save last playback position for long videos. 2019-12-25 18:19:52 +03:00
John Preston
b584204522 Fix sound stop in streamed videos. 2019-12-25 13:12:42 +03:00
John Preston
dc146cb1fe Blur small thumbnails. 2019-12-25 13:12:00 +03:00
John Preston
08e04cdcb1 Fix autoplay settings apply in albums. 2019-12-25 12:01:49 +03:00
John Preston
063be9a13a Closed alpha version 1.9.1.11. 2019-12-24 16:39:56 +03:00
John Preston
8f6f434d8a Cherry-pick a bugfix from upstream Qt. 2019-12-24 16:38:50 +03:00
John Preston
616957e46f Add file size limit to autoplay settings. 2019-12-24 13:09:04 +03:00
John Preston
8a3506af89 Restore download priorities without streaming. 2019-12-23 14:13:32 +03:00
John Preston
85545dba64 Set higher streaming priority in media overlay. 2019-12-23 13:27:20 +03:00
John Preston
fa4d8f2fbd Support priorities in download tasks. 2019-12-23 12:37:03 +03:00
John Preston
8ae6156477 Fix video quality when opening from chat. 2019-12-23 11:10:11 +03:00
John Preston
621a5cc4ab Fix GIFs freezing playback. 2019-12-21 16:57:06 +03:00
John Preston
a4ea4689a2 Autoplay full-width videos in albums. 2019-12-20 17:13:55 +03:00
John Preston
a8935178a2 Remove autodownload for GIFs and video messages. 2019-12-20 15:56:39 +03:00
John Preston
7f033c1cc4 Closed alpha 1.9.1.10: Stream videos in chat. 2019-12-19 18:29:19 +03:00
23rd
eb9c2ce39a Split build types by folders for GCC. 2019-12-19 18:27:52 +03:00
23rd
057e0de75a Updated Third-party list in README.md. 2019-12-19 18:27:36 +03:00
23rd
4102551108 Fixed covering message status with mentions button at end. 2019-12-19 18:27:34 +03:00
23rd
ff4ccdc59c Fixed covering right part of chat list with dialogs up button at end. 2019-12-19 18:27:32 +03:00
John Preston
f51f133832 Send packets for processing in batches. 2019-12-19 18:14:05 +03:00
John Preston
c4319a7370 Add a separate setting for video files autoplay. 2019-12-19 14:48:53 +03:00
John Preston
041670b8e7 Fix download of short videos in media overlay. 2019-12-19 14:13:27 +03:00
John Preston
4cdf08cbfb Fix video with autoplay disabled. 2019-12-19 13:50:33 +03:00
John Preston
9f96237b85 Remove unnecessary repaints in an inactive window. 2019-12-18 22:00:19 +03:00
John Preston
92d87f96e1 Optimize locked videos repainting. 2019-12-18 21:48:07 +03:00
John Preston
40d4353d05 Allow stopping audio without stopping video. 2019-12-18 21:26:17 +03:00
John Preston
a2b6e05cdf Fix inline player for rotated videos. 2019-12-18 20:15:42 +03:00
John Preston
10c810ff03 Lock inline HistoryView::Gif when playing fullscreen. 2019-12-17 17:30:14 +03:00
John Preston
51dac66998 Show inline video playback state. 2019-12-17 16:04:53 +03:00
John Preston
9b9ea336be Use HistoryView::Gif for video files. 2019-12-17 14:11:10 +03:00
John Preston
0e75ad42e2 Fix playback state display in round videos. 2019-12-16 17:17:13 +03:00
John Preston
ceecbaa904 Continue GIFs in media overlay. 2019-12-16 16:22:53 +03:00
John Preston
58315ec50e Closed alpha version 1.9.1.9 2019-12-14 17:46:59 +03:00
John Preston
1f2b5ba0a2 Update spellcheck and ui submodules. 2019-12-14 17:46:31 +03:00
John Preston
dc3e9e2f3d Fix updates script and instruction. 2019-12-13 18:13:28 +03:00
John Preston
ff6df75adc Fix QR login to different dc. 2019-12-13 18:11:31 +03:00
John Preston
07ceee79ff Support password in QR login. 2019-12-13 18:00:21 +03:00
John Preston
55859f3caa Fix layout regressions in login. 2019-12-13 17:51:50 +03:00
John Preston
418b0e7db0 Always try to stream video messages. 2019-12-13 17:51:14 +03:00
John Preston
38199276f1 Fix round video messages streaming. 2019-12-12 16:26:53 +03:00
John Preston
7f26f81e4f Give names to MTProto session threads. 2019-12-12 16:26:26 +03:00
John Preston
8211c94a74 Prepare frames for all instances with requests. 2019-12-12 12:34:40 +03:00
John Preston
dbdd9aa481 Stop GIFs that are far away from the screen. 2019-12-11 17:15:29 +03:00
John Preston
9339db900f Pause GIFs in message history. 2019-12-11 17:01:11 +03:00
John Preston
2d7adbc68a All players create own Media::Streaming::Instance. 2019-12-11 15:09:21 +03:00
John Preston
bfa5accc29 Use shared player for each document. 2019-12-11 13:15:48 +03:00
John Preston
f91f77ff2e Make temporary keys live one day. 2019-12-10 18:29:18 +03:00
John Preston
1243123579 Allow multiple players of the same file. 2019-12-10 17:06:22 +03:00
John Preston
8e8c356659 Use streamed video for GIFs in History. 2019-12-10 15:49:37 +03:00
John Preston
b73f1be856 Make some video player code reusable. 2019-12-10 15:13:12 +03:00
John Preston
c7836be614 In emoji suggestions match only full strings. 2019-12-10 11:17:27 +03:00
John Preston
f88466a376 Don't refresh messages redundantly.
Fixes #6781.
2019-12-10 10:49:31 +03:00
John Preston
e60a9f0943 Fix key creation for media cluster. 2019-12-09 18:42:11 +03:00
John Preston
41e13e39bc Apply ignore_restriction_reasons from config. 2019-12-09 18:42:11 +03:00
John Preston
431b7445c3 Allow editing sensitive content filtering. 2019-12-09 15:59:08 +03:00
John Preston
c301be3826 Fix GIFs and animated stickers freeze. 2019-12-09 09:37:02 +03:00
John Preston
998b36f014 Use installed opus on non-Windows. 2019-12-09 09:36:37 +03:00
John Preston
5b787a6759 Add more extensions as possibly-executable. 2019-12-08 17:54:21 +03:00
John Preston
cf0ea4a0a1 Read project version from build/version file. 2019-12-06 18:52:44 +03:00
John Preston
aea5a8ff76 Respect TDESKTOP_DISABLE_GTK_INTEGRATION. 2019-12-06 17:46:45 +03:00
John Preston
fd1a8014c4 Add Packer project to cmake configuration. 2019-12-06 15:47:25 +03:00
John Preston
7e3bc2966e Closed alpha version 1.9.1.8: Re-enable crash reports. 2019-12-06 14:28:07 +03:00
John Preston
f1877641e5 Closed alpha version 1.9.1.8: Fix macOS build. 2019-12-06 14:22:46 +03:00
John Preston
240117b77e Use URL instead of string for QR login. 2019-12-06 13:27:10 +03:00
John Preston
352d87ba76 Closed alpha version 1.9.1.8. 2019-12-06 13:23:04 +03:00
John Preston
b5dc22b77b Add configure script for cmake. 2019-12-06 13:17:40 +03:00
John Preston
9310728a11 Fix build on Windows. 2019-12-06 11:39:13 +03:00
John Preston
e3fa17dd4f Merge remote-tracking branch 'private/alpha' into cmake 2019-12-06 11:08:14 +03:00
John Preston
ae8fb14f9e Use 8 seconds timeout for request duration. 2019-12-06 10:05:38 +03:00
John Preston
7fb24d77c0 Check request duration when adding sessions. 2019-12-05 16:38:28 +03:00
John Preston
e426f2895b Add download sessions if it works fast enough. 2019-12-05 14:46:28 +03:00
John Preston
ee94e78533 All mtproto downloads using DownloadMtprotoTask. 2019-12-05 11:32:33 +03:00
John Preston
78809873b0 Fix build for Linux 32 bit. 2019-12-05 11:09:37 +03:00
John Preston
4611727ab9 Rewrite webFileLoader without Storage::DownloadManager. 2019-12-04 15:15:58 +03:00
John Preston
619dbe9b11 Initial Linux build. 2019-12-04 11:22:11 +03:00
John Preston
f522cc9444 Load streaming parts using Storage::DownloadManager. 2019-12-04 10:42:55 +03:00
John Preston
3ae2986c25 Allow variable count of download sessions. 2019-12-04 09:51:21 +03:00
John Preston
cb2c6e4b89 Change QR code phrase. 2019-12-03 17:50:25 +03:00
John Preston
fb86bb579b Correctly track DC index in Downloader-s. 2019-12-03 15:45:35 +03:00
John Preston
8535a579ca Fix by-word/paragraph text selection in WebPage. 2019-12-03 11:08:55 +03:00
John Preston
12f5ccaaa5 Use vector queues in mtproto file downloader. 2019-12-03 10:25:27 +03:00
John Preston
524d64a462 Clip intro animation by Next button. 2019-12-02 20:12:24 +03:00
John Preston
66961dce83 Closed alpha version 1.9.1.7: Update lib_spellcheck. 2019-12-02 19:23:59 +03:00
John Preston
6f092bbb57 Closed alpha version 1.9.1.7. 2019-12-02 18:52:54 +03:00
John Preston
872ff633b6 Update Qt patch. 2019-12-02 18:52:30 +03:00
23rd
d542291d8f Added ability to invoke macOS Character Palette. 2019-12-02 18:50:32 +03:00
23rd
de94afd966 Updated and fixed building-cmake.md. 2019-12-02 18:50:30 +03:00
John Preston
907965531c Don't bind key for more than 10 seconds. 2019-12-02 16:30:33 +03:00
John Preston
91f50e8bdc Move some more code to lib_mtproto. 2019-12-02 16:11:22 +03:00
John Preston
718de09aa6 Handle state / resend requests separately. 2019-12-02 16:11:22 +03:00
John Preston
3b703d7262 Keep in sent container only important msgIds. 2019-12-02 16:11:22 +03:00
John Preston
efaa3ba453 Handle sent containers separately. 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
cbebcb1bc9 Fix notification about a new mtproto session. 2019-12-02 16:11:22 +03:00
John Preston
01ecd73a62 Implement build for Mac App Store. 2019-11-30 12:04:51 +03:00
John Preston
6f2a37cbab Fix build for Windows. 2019-11-29 17:32:24 +03:00
John Preston
eea508066c Closed alpha version 1.9.1.6. 2019-11-29 15:38:41 +03:00
John Preston
b3a255b3f1 Fix file references in webpage collages. 2019-11-29 15:36:06 +03:00
John Preston
ae98e4ae44 Support file reference refresh in Export. 2019-11-29 15:36:06 +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
06f5f7f7d9 Don't always restart connection on config change. 2019-11-29 15:36:06 +03:00
John Preston
e6c86b19db Use app config value for QR login. 2019-11-29 15:36:06 +03:00
John Preston
55f83129b7 Remove Q_OBJECTs from Intro. 2019-11-29 15:36:05 +03:00
John Preston
e943264823 Pass MTP::Instance to MTP::Sender. 2019-11-29 15:36:05 +03:00
John Preston
a0152557ec Cross-fade login QR. 2019-11-29 15:36:05 +03:00
John Preston
f4bf79b067 Add QR code generation progress. 2019-11-29 15:36:05 +03:00
John Preston
ba7762305e Use special plane icon for login QR. 2019-11-29 15:36:05 +03:00
John Preston
7dbba75776 Make login QR follow the color theme. 2019-11-29 15:36:05 +03:00
John Preston
339a80e192 Improve QR code login layout. 2019-11-29 15:36:04 +03:00
John Preston
32d567120b Change URL in Windows setup script. 2019-11-29 15:36:04 +03:00
John Preston
d5718f96b8 First working auth by QR code. 2019-11-29 15:36:04 +03:00
John Preston
95ba12e3cb Update API scheme to layer 107. 2019-11-29 15:36:04 +03:00
John Preston
82f06cee55 Build OS X 10.10-10.11 version with Qt 5.6.2. 2019-11-29 15:10:33 +03:00
John Preston
2f2d698545 Use absolute paths instead of target_link_directories. 2019-11-29 13:56:07 +03:00
John Preston
90de0b687f Use faster style generation and better source groups. 2019-11-29 11:37:29 +03:00
John Preston
d932271c60 Use BYPRODUCTS instead of OUTPUT for codegen. 2019-11-28 11:43:00 +03:00
John Preston
5bfb98b70d Initial build with Xcode. 2019-11-25 18:46:02 +03:00
John Preston
fe1aacd37b Rename update.cpp to updater_win.cpp. 2019-11-25 18:34:02 +03:00
John Preston
8979525dc0 Closed alpha version 1.9.1.4. 2019-11-25 09:57:55 +03:00
John Preston
9d0332be0a Closed alpha version 1.9.1.3: Update lib_spellcheck. 2019-11-23 19:40:06 +03:00
John Preston
9e37088f43 Closed alpha version 1.9.1.3. 2019-11-23 19:34:15 +03:00
John Preston
8f17fe98e0 Fix using undefined variables. 2019-11-22 21:03:57 +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
2597bc9f4e Fix layout of polls with huge questions. 2019-11-21 18:28:49 +03:00
John Preston
ec84589eca Update lib_lottie with useCache fixes. 2019-11-21 18:18:53 +03:00
John Preston
11b02b4f88 Use namespaced library aliases. 2019-11-21 17:43:20 +03:00
John Preston
9e5262008f Add more options. 2019-11-21 14:56:17 +03:00
John Preston
311a1274c5 Closed alpha version 1.9.1.2: Update lib_spellcheck. 2019-11-21 13:46:29 +03:00
John Preston
276adec0ff Fix temporary keys for media cluster. 2019-11-21 13:38:02 +03:00
John Preston
54b5342af4 Closed alpha version 1.9.1.2: Key expire in 10 min. 2019-11-20 17:30:20 +03:00
John Preston
410efc924b Closed alpha version 1.9.1.2. 2019-11-20 17:26:31 +03:00
John Preston
e748a68153 Fix build for macOS. 2019-11-20 17:26:07 +03:00
John Preston
4edfd4804f Fix destroyed key clearing. 2019-11-20 16:33:45 +03:00
John Preston
4c24ec7725 Fix keys destruction on logout. 2019-11-20 14:50:19 +03:00
John Preston
bdc7f4114f Move some things from SessionData. 2019-11-20 13:41:14 +03:00
John Preston
885738ac32 Always choose correct address for key creation. 2019-11-20 12:16:53 +03:00
John Preston
43bab3eeaa Fix instant restarts with additional timeout. 2019-11-20 11:23:30 +03:00
John Preston
f424cb54f7 Create keys not simultaneously. 2019-11-19 19:22:02 +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
782025a0a6 Wrap 'divmodti4' the same as 'divmoddi4'. 2019-11-18 12:10:52 +03:00
John Preston
a05e2f0d8d Use 'uname -m' instead of 'uname -p'. 2019-11-18 12:10:31 +03:00
John Preston
50b2b6c5b1 Use installed opus on non-Windows. 2019-11-18 11:52:06 +03:00
John Preston
1afae74d1e Remove libdee from linking. 2019-11-18 10:52:45 +03:00
John Preston
da4120bddd Fix building without glib. 2019-11-18 10:52:32 +03:00
John Preston
c961acabbc Include private header only if needed. 2019-11-18 10:52:08 +03:00
John Preston
7b6fcb467a Move common code to cmake_helpers. 2019-11-18 00:34:34 +03:00
John Preston
e5bd187d4d Use precompiled header from cmake 3.16. 2019-11-18 00:29:03 +03:00
John Preston
90c6475c8c Closed alpha version 1.9.1.1: Fix build on macOS. 2019-11-15 17:11:05 +03:00
John Preston
8fa9172818 Closed alpha version 1.9.1.1. 2019-11-15 16:16:33 +03:00
John Preston
cfcd12e879 Several spellchecker fixes. 2019-11-15 16:16:33 +03:00
23rd
1ef877d9a5 Fixed moving cursor to begin/end when using reply shortcuts for macOS. 2019-11-15 16:16:33 +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
f37ab6e38e Remove checked key property. 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
1e252a6505 Remove old debug information. 2019-11-15 16:16:32 +03:00
John Preston
3a7faffa3a Use thread_local counter in logs for thread index. 2019-11-15 16:16:32 +03:00
John Preston
8b14249cd2 Move DumpToText from Telegram to lib_mtproto. 2019-11-15 16:16:32 +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
08bfe6f1c1 Extract mtproto key generation code. 2019-11-15 16:16:32 +03:00
John Preston
70dbd9e5b4 Add base::expected. 2019-11-15 16:16:26 +03:00
John Preston
2577bedeac Remove mtproto/facade.h from main pch. 2019-11-13 11:31:12 +03:00
Christian Hesse
0c0c8f3584 libnotify: capabilities are not exclusive
Capabilities "actions" and "body-markup" can be available at the
same time.

Signed-off-by: Christian Hesse <mail@eworm.de>
2019-11-13 11:22:08 +03:00
John Preston
3b1fd9e45a Fix travis build. 2019-11-13 11:21:39 +03:00
Nicholas Guriev
793862bee6 Fix -Wredundant-move and -Wdeprecated-copy warnings (#6663)
* Do not move result at end of function

This makes GCC 9.1.2 happy with the active -Wredundant-move warning.
Indeed, such moving of local variables or local arguments before
returning is unnecessary and prevents the compiler from copy elision
optimization.
2019-11-12 18:15:34 +03:00
RadRussianRus
a196b0aba7 Fixed animated stickers cache 2019-11-11 19:46:33 +03:00
John Preston
61723bd794 Initial Windows Debug build with cmake. 2019-11-11 13:39:48 +03:00
John Preston
85060cd655 Compile all code with cmake. 2019-11-09 19:06:00 +03:00
John Preston
c4da31c213 Add lib_storage as submodule. 2019-11-08 15:00:15 +03:00
John Preston
a18baaae2c Add all code generation targets. 2019-11-08 14:08:40 +03:00
John Preston
02a71d745d Build lib_ui with cmake. 2019-11-08 13:05:59 +03:00
John Preston
b7fed0377c Build codegen utils with cmake. 2019-11-08 11:30:20 +03:00
Sean Wei
325e4af356 Fix building instruction of macOS (crashpad) 2019-11-07 14:21:22 +03:00
John Preston
6a668fc171 'TDESKTOP_DISABLE_CRASH_REPORTS' => 'DESKTOP_APP_DISABLE_..' 2019-11-07 13:53:55 +03:00
John Preston
35befb2b3c Fix snapcraft build. 2019-11-07 13:11:47 +03:00
John Preston
86695f60a3 Fix selected text colors on macOS. 2019-11-07 13:11:40 +03:00
John Preston
4e1e7a5a9c Beta version 1.9.1: gyp fixes. 2019-11-06 19:44:50 +03:00
John Preston
2677a86ffd Beta version 1.9.1.
- Bug fixes and other minor improvements.
2019-11-06 19:32:29 +03:00
John Preston
a293018a87 Fix travis build. 2019-11-06 19:25:47 +03:00
John Preston
c8a98b6429 Fix appveyor build. 2019-11-06 19:25:46 +03:00
23rd
16d06527be Updated lib_spellcheck.
- Fixed #6756.
2019-11-06 15:45:03 +03:00
23rd
c867727e1c Removed spellcheck setting for OS X 10.10/10.11 version. 2019-11-06 15:31:41 +03:00
John Preston
1a4c1cbbf4 Link xkbcommon-x11 and build Qt with XCB XKB.
Fixes #6754.
2019-11-06 12:03:54 +03:00
John Preston
c1a241c7e7 Upload full source tarballs to assets. 2019-11-06 11:11:16 +03:00
RadRussianRus
1368d6e7db Fix build instructions for Linux (Breakpad) 2019-11-06 09:16:43 +03:00
RadRussianRus
908b513601 Fix build instructions for Windows (ThirdParty/patches and zlib) 2019-11-06 09:16:43 +03:00
John Preston
3023a383fc Update build scripts. 2019-11-06 00:27:20 +03:00
John Preston
54a64c01dc Version 1.9.
- System spellchecker on Windows 8+ and macOS 10.12+.
2019-11-05 17:46:42 +03:00
John Preston
3fd2d73f04 Fix layout in the spellchecker settings block. 2019-11-05 17:44:39 +03:00
John Preston
d1e2fec760 Fix crash in destructor of spellchecked input field. 2019-11-05 17:03:48 +03:00
John Preston
b94ed1fc3b Remove 'mac32' and add 'osx' special targets. 2019-11-05 15:45:55 +03:00
John Preston
9a44531953 Return GCC feature checks on Linux. 2019-11-05 14:51:03 +03:00
John Preston
1eb62579e2 Support building OS X 10.10/10.11 version. 2019-11-05 14:27:42 +03:00
John Preston
88e0342e02 Update to the latest submodules. 2019-11-05 14:27:42 +03:00
John Preston
6a0c7f3909 Update docs, fix patches revision. 2019-11-05 14:27:41 +03:00
23rd
ef101d63b1 Updated supported macOS versions. 2019-11-05 13:23:56 +03:00
23rd
6c2479c09f Fixed moving cursor when using reply shortcuts.
- Fixed #6038.
 - Slightly refactored comparison of modifiers.
2019-11-05 13:23:56 +03:00
John Preston
f945e88d13 Fix tilde workaround in Open Sans. 2019-11-05 13:23:56 +03:00
John Preston
bd0aee2f77 Use userpic if no photo thumbnail is loaded. 2019-11-05 13:23:56 +03:00
John Preston
d63e50944a Update submodules to the latest spellcheck. 2019-11-05 13:23:56 +03:00
John Preston
272f2d937b Fix build in Linux. 2019-10-20 22:05:35 +04:00
John Preston
6529edff92 Closed alpha version 1.8.15.2. 2019-10-20 21:43:31 +04:00
23rd
155d28d6d0 Updated lib_ui. 2019-10-20 21:11:38 +04:00
23rd
aa9dc2bee2 Added phrases for spellchecker. 2019-10-20 21:11:38 +04:00
23rd
4be178c75f Added SpellingHighlighter to InputField in HistoryWidget and some boxes. 2019-10-20 21:11:38 +04:00
23rd
6e95cfc24d Added lib_spellcheck. 2019-10-20 21:11:37 +04:00
23rd
1056021059 Added new setting to disable spellchecker. 2019-10-20 21:11:37 +04:00
John Preston
d535f5b3bc Fix build in Linux. 2019-10-20 21:09:07 +04:00
John Preston
92d48a7846 Fix build on Windows. 2019-10-20 15:32:44 +04:00
John Preston
467be135d6 Fix build in macOS. 2019-10-20 15:24:09 +04:00
John Preston
768a3d5a12 Backport a fix for custom window title. 2019-10-20 14:23:02 +04:00
John Preston
27a83a7a09 Use base::FileNameFromUserString. 2019-10-20 14:22:46 +04:00
John Preston
3ae7f9f93d Fix color conversion for Qt 5.12.5. 2019-10-20 13:00:36 +04:00
John Preston
e952c513d5 Use old non-crashing rlottie. 2019-10-20 12:13:20 +04:00
John Preston
e745bb7718 Fix instructions for MSVC. 2019-10-19 12:27:57 +04:00
John Preston
3ce72d0696 Closed alpha version 1.8.15.1. 2019-10-19 12:27:56 +04:00
John Preston
28719939a0 Fix tray icon on macOS in Qt 5.12.5. 2019-10-19 12:27:56 +04:00
John Preston
85acdbc7ed Disable custom scaling by envvar. 2019-10-19 12:27:56 +04:00
John Preston
b880d4aa30 Use custom named fonts. 2019-10-19 12:27:56 +04:00
John Preston
01936b5f1b Build with Qt 5.12.5 and OpenSSL 1.1.1. 2019-10-19 12:27:56 +04:00
John Preston
c6b3257412 Update lib_ui.
Fixes #6632, fixes #6635.
2019-10-19 12:27:56 +04:00
John Preston
9a498616c6 Fix build for Xcode 11. 2019-10-19 12:27:56 +04:00
John Preston
c88ee34b1d Fix build with range-v3 0.9.1. 2019-10-19 12:27:56 +04:00
John Preston
bc2a0fb505 Use TL code generator from lib_tl. 2019-10-19 12:27:56 +04:00
John Preston
7bb23519f9 Use base::Platform::ShowInFolder. 2019-10-19 12:27:56 +04:00
John Preston
30a1bd7ba2 Use base::call_delayed. 2019-10-19 12:27:56 +04:00
John Preston
09a7daf164 Update submodules. 2019-10-19 12:27:56 +04:00
John Preston
e757e6f67b Move private folder. 2019-10-19 12:27:56 +04:00
John Preston
25b6dea5e3 Build cmake 3.15.3 from source. 2019-10-19 12:27:56 +04:00
John Preston
2fc9fd5887 Remove some unused code. 2019-10-19 12:27:56 +04:00
John Preston
c87f9d0074 Fix build for Linux. 2019-10-19 12:27:56 +04:00
John Preston
fcb2950ce8 Use slide animation from lib_ui. 2019-10-19 12:27:56 +04:00
John Preston
250b7240f6 Add lib_[r]lottie as submodules. 2019-10-19 12:27:56 +04:00
John Preston
dad73c0e7b Build with updated submodules. 2019-10-19 12:27:56 +04:00
John Preston
959901d599 Use toasts from lib_ui. 2019-10-19 12:27:56 +04:00
John Preston
2d3f683003 Rename core_ui_integration to ui_integration. 2019-10-19 12:27:56 +04:00
John Preston
f677b116f9 Use install_base_filter for lib_base. 2019-10-19 12:27:56 +04:00
John Preston
a6b96662c4 Use some resources from lib_ui. 2019-10-19 12:27:56 +04:00
John Preston
a6c84c36c0 Use layers and boxes from lib_ui. 2019-10-19 12:27:52 +04:00
John Preston
860353824b Fix build in Xcode. 2019-10-19 12:27:34 +04:00
John Preston
383195f1b2 Use some icons from lib_ui. 2019-10-19 12:27:34 +04:00
John Preston
e3f5a505eb Fix folder structure for Xcode build. 2019-10-19 12:27:34 +04:00
John Preston
246c45ce0e Use lib_ui from submodule. 2019-10-19 12:27:28 +04:00
John Preston
1b89348d89 Use lib_rpl / lib_base from submodules. 2019-10-19 10:30:08 +04:00
John Preston
be9398b05a Add several submodules from desktop-app. 2019-10-19 10:29:11 +04:00
John Preston
daa33a5726 Update API scheme to layer 106. 2019-10-13 15:31:44 +04:00
John Preston
17baac710e Fix save dialog in macOS for streamed videos. 2019-10-07 19:57:26 +03:00
RadRussianRus
883d6dcede Fixed inline message restriction width 2019-10-07 18:58:21 +03:00
RadRussianRus
261a83eda3 Show restricted date to user (#6642)
* Show restricted date to user
* Fixed attach button toast
* Fixed attach button toast in scheduled messages
2019-10-07 17:35:22 +03:00
John Preston
5f06279b9a Version 1.8.15.
- Bug fixes and other minor improvements.
2019-10-07 17:33:41 +03:00
John Preston
2835aa446f Fix possible HistoryHider bug on old OS X. 2019-10-07 17:28:36 +03:00
John Preston
55d5f6e03d Fix possible crash in emoji suggestions.
Fixes #6652, fixes #6654.
2019-10-07 12:35:49 +03:00
John Preston
60b39c8f7e Fix inline result previews. 2019-10-07 12:19:04 +03:00
John Preston
de230332b9 Version 1.8.14: Fix crash in text processing on old OS X. 2019-10-03 19:51:09 +03:00
John Preston
dcf79df0b2 Version 1.8.13.
- Bug fixes and other minor improvements.
2019-10-03 13:26:39 +03:00
John Preston
9773563926 Fix history geometry update being lost.
Fixes #6629.
2019-10-03 13:25:05 +03:00
John Preston
3779ad46ca Fix crash in pre-launch logging.
Fixes #6635.
2019-10-03 12:37:00 +03:00
John Preston
4e7946d03e Allow scales below 100.
Fixes #6632.
2019-10-03 12:34:58 +03:00
John Preston
606a90a4ac Fix crash in emoji suggestions.
Fixes #6636.
2019-10-03 12:13:41 +03:00
John Preston
af818b40aa Version 1.8.12: Apply user settings in Session().
Fixes #6617.
2019-10-02 13:47:40 +03:00
John Preston
ecfe1dacb2 Version 1.8.12: Fix build for Xcode. 2019-10-02 12:54:29 +03:00
John Preston
60640c7087 Version 1.8.12: Fix 'edited' badge display. 2019-10-02 12:08:31 +03:00
RadRussianRus
982edcb310 Resize message with photo when bubbled 2019-10-02 11:56:33 +03:00
Jiachen YANG
4669c07dc5 fix range-v3 version to 0.9.1 2019-10-02 11:52:55 +03:00
Jiachen YANG
c164985233 tweak vs2019 compiler settings to be compatible with newer range-v3 2019-10-02 11:52:55 +03:00
Jiachen YANG
497df7f4b2 change deprecated ranges::to_ to ranges::to (no underscore) 2019-10-02 11:52:55 +03:00
Jiachen YANG
56aab1aa07 explicitly specify the upper bound in ranges::view::ints 2019-10-02 11:52:55 +03:00
Jiachen YANG
8abeb4a9db include range/v3/range/conversion.hpp instead of range/v3/to_container.hpp 2019-10-02 11:52:55 +03:00
Jiachen YANG
d78716d7d4 appveyor use range-v3 latest branch 2019-10-02 11:52:55 +03:00
Jiachen YANG
d7489f8e67 Revert "Use 0.5.0 version of range-v3."
This reverts commit 3355e6da0c.
2019-10-02 11:52:55 +03:00
Jiachen YANG
9d850b71e7 be compatible with range-v3 0.9.x/1.0 branch
This made 2 changes to the current code base to be compatible with higher versions of range-v3 library.
1. ranges::iterator_range was renamed to subrange, see https://github.com/ericniebler/range-v3/issues/766
2. PercentCounterItem need an operator== for ranges::sort for some reason
2019-10-02 11:52:55 +03:00
RadRussianRus
684cfa16b8 Do not show edit timer for supergroup admins 2019-10-02 11:31:43 +03:00
John Preston
2cb7d76417 Optimize unixtime refresh. 2019-10-02 11:30:50 +03:00
23rd
9bf8b619fe Refactored ability to display media preview from touchbar. 2019-10-02 11:30:23 +03:00
John Preston
664162982c Version 1.8.12: Fix build for old OS X. 2019-10-02 11:21:56 +03:00
John Preston
718f862be0 Version 1.8.12: Fix build for Mac App Store. 2019-10-02 11:21:02 +03:00
John Preston
489bd22828 Version 1.8.12.
- Bug fixes and other minor improvements.
2019-10-02 11:18:23 +03:00
John Preston
65b5a29288 Fix local url handling.
Regression was introduced in 849deb57e2.

Fixes #6622.
2019-10-02 11:11:03 +03:00
John Preston
bf345da87b Version 1.8.11: Fix build for Xcode. 2019-10-02 00:57:16 +03:00
John Preston
1e5aa2a78d Version 1.8.11.
- Bug fixes and other minor improvements.
2019-10-01 23:59:46 +03:00
John Preston
8cf62c312f Allow not to cache emoji sprites. 2019-10-01 23:59:46 +03:00
John Preston
3b0bf7cb1e Move some more widgets and effects. 2019-10-01 23:59:46 +03:00
John Preston
673072ea5b Reorganize GYP files. 2019-10-01 23:59:46 +03:00
John Preston
849deb57e2 Move many widget classes to lib_ui. 2019-10-01 23:59:46 +03:00
John Preston
dda587a2fc Move QtConnectionOwner to base/qt_connection. 2019-10-01 23:59:46 +03:00
John Preston
c057f28425 Move standard buttons to lib_ui. 2019-10-01 23:59:46 +03:00
John Preston
a16c6ca41a Support more request types. 2019-10-01 23:59:46 +03:00
John Preston
c5845f17ae Remove twidget header. 2019-10-01 23:59:46 +03:00
John Preston
e2f54eb3e9 Move some style code to lib_ui. 2019-10-01 23:59:46 +03:00
John Preston
5a1c8e6a0a Move fonts to a separate .qrc file. 2019-10-01 23:59:46 +03:00
John Preston
b73390a3f6 Support emoji in popup menu items. 2019-10-01 23:59:46 +03:00
John Preston
0c713a930a Remove app.h / facades.h from precompiled header. 2019-10-01 23:59:46 +03:00
John Preston
a87529b8c9 Version 1.8.10.
- Bug fixes and other minor improvements.
2019-10-01 23:59:46 +03:00
John Preston
0c30bbf40a Fix file reference refresh in stickers / GIFs.
Fixes #6592.
2019-09-30 13:25:09 +03:00
John Preston
f75bfb4369 Version 1.8.9.
- Bug fixes and other minor improvements.
2019-09-27 20:04:25 +03:00
John Preston
0c34ba638c Don't show revoke checkbox in Saved Messages. 2019-09-27 20:01:36 +03:00
John Preston
4af9c801ae Don't show sticker suggestions if can't send.
Fixes #6581.
2019-09-27 19:56:54 +03:00
John Preston
e06bf16980 Improve name / title limits. 2019-09-27 19:46:27 +03:00
John Preston
1018745b0b Fix userpic display in custom notifications.
Fixes #6532.
2019-09-27 19:36:19 +03:00
John Preston
47b157bf32 Fix possible crash in custom notifications. 2019-09-27 18:53:44 +03:00
John Preston
09547bd6d5 Fix possible crash in scheduled messages. 2019-09-27 18:49:49 +03:00
RadRussianRus
d17f21c10d Use exact version of libxkbcommon in Travis build 2019-09-27 18:05:26 +03:00
udf
f11339361d Make "All Users" checkbox behave like the "All Actions" checkbox 2019-09-27 18:04:50 +03:00
John Preston
04b9d4bdb5 Fix animated emoji reloading. 2019-09-11 14:00:18 +03:00
John Preston
1d8d2b6251 Fix theme link preview title. 2019-09-10 18:30:47 +03:00
John Preston
190bf8fc5f Version 1.8.8.
- Create new themes based on your color and wallpaper choices.
- Share your themes with other users via links.
- Update your theme for all its users when you change something.
2019-09-10 14:22:20 +03:00
John Preston
f463d3ec6d Divide autoupdate paths for OS versions. 2019-09-10 14:22:20 +03:00
23rd
f9d10094ac Added warning when try to attach new media while editing message. 2019-09-10 14:22:20 +03:00
RadRussianRus
9fc87c3cb8 Fix last message tail drawing in theme preview 2019-09-10 10:48:20 +03:00
Sean
0d9c30423f Add chrpath to CMake instruction
Ref: 02a8b69
2019-09-10 10:13:51 +03:00
John Preston
c4bc76c022 Beta version 1.8.7.
- Bug fixes and other minor improvements.
2019-09-10 00:52:34 +03:00
John Preston
241f5e1d26 Make theme preview fit in minimal window size. 2019-09-10 00:50:15 +03:00
John Preston
76f0abecfd Show sticker set on Ctrl+Click in stickers list. 2019-09-10 00:48:34 +03:00
John Preston
ca45fb617e Fix applying background after theme edit. 2019-09-10 00:36:16 +03:00
John Preston
dfd63e66ff Add import theme to the editor. 2019-09-09 23:58:41 +03:00
John Preston
d85f162bff Fix saving cloud themes from media viewer. 2019-09-09 23:58:30 +03:00
John Preston
1d4fbc64e2 Ensure theme list radiobutton contrast. 2019-09-09 23:25:54 +03:00
John Preston
9fd32fc85b Ensure contrast in critical theme parts. 2019-09-09 23:02:24 +03:00
John Preston
f7f195eb98 Fix transfer ownership button visibility.
Regression was introduced in 569340c7d3.
2019-09-09 21:07:12 +03:00
John Preston
12c7bd8ee1 Suggest theme title based on accent color. 2019-09-09 20:27:07 +03:00
John Preston
cd5ef069c0 Ask to unlock Telegram before saving theme. 2019-09-09 20:26:53 +03:00
John Preston
f90fdce422 Fix crash on quit from passcode with a box. 2019-09-09 18:54:38 +03:00
John Preston
423254f7eb Fix theme editor closing in a small window.
Fixes #6510.
2019-09-09 18:37:04 +03:00
John Preston
c9c0d74b68 Fix build for Linux. 2019-09-09 17:50:26 +03:00
John Preston
8bf6013342 Add 'Export theme' / 'Show palette file' menu. 2019-09-09 17:44:08 +03:00
John Preston
c1ab1acd44 Fix crash in scheduled messages 'Send Now'. 2019-09-09 17:43:39 +03:00
John Preston
90b955534a Beta version 1.8.6: Improve theme preview. 2019-09-09 16:13:16 +03:00
John Preston
61c7bf2f5e Beta version 1.8.6.
- Bug fixes and other minor improvements.
2019-09-09 14:56:55 +03:00
John Preston
ee5423762a Generate previews for cloud theme links. 2019-09-09 14:56:05 +03:00
John Preston
6d29dc3b36 Apply themes in settings without preview. 2019-09-09 12:13:07 +03:00
John Preston
aa10934e85 Fix messing up accent color if editor is opened. 2019-09-09 12:02:06 +03:00
John Preston
9ff1fbcf47 Support theme document file origins. 2019-09-09 11:51:07 +03:00
John Preston
51c1dc20e1 Unregister randomId if send message fails. 2019-09-09 11:13:41 +03:00
John Preston
3a3bf84cfc Fix crash in SeparatePanel destruction.
We should destroy layers before panel widget destructor started.
We do it already for MainWindow in clearWidgetsHook.
2019-09-09 10:52:03 +03:00
John Preston
037b936613 Fix possible crash with emoji load failure. 2019-09-09 10:45:18 +03:00
John Preston
b631d09a40 Fix possible crash in event loop nesting. 2019-09-09 10:45:18 +03:00
John Zimmermann
fd4f384c3b Allow GDK wayland backend when Telegram is running under Wayland
and make sure that it never tries to load gtk2 under wayland, it can
lead to Telegram crashing
2019-09-09 10:25:01 +03:00
RadRussianRus
428a501bac Show Beginning button only for message date
Also hide button when you're already at beginning.
2019-09-09 10:17:23 +03:00
RadRussianRus
3ca57ae50d Added "Beginning" button to calendar 2019-09-09 10:17:23 +03:00
RadRussianRus
f1eddcd584 Make link preview title clickable 2019-09-09 10:15:32 +03:00
Sameer Hoosen
f979df3dfe Allow searching for messages by a user who has left a chat (#6417)
Fixes #5667
2019-09-09 10:05:29 +03:00
John Preston
eebcdb842d Generate previews async in cloud themes list. 2019-09-09 09:59:57 +03:00
John Preston
048658f838 Fix deleting theme from the list. 2019-09-09 08:54:17 +03:00
John Preston
8fd17e2e8f Fix theme with background with colorizer. 2019-09-09 08:53:16 +03:00
John Preston
5c13214244 Beta version 1.8.5: Fix build for old OS X. 2019-09-08 23:42:40 +03:00
John Preston
12a020cd09 Beta version 1.8.5: Fix build for Linux. 2019-09-08 23:38:45 +03:00
John Preston
b98e02f326 Beta version 1.8.5: Fix build on macOS. 2019-09-08 23:04:25 +03:00
John Preston
9a521c5340 Beta version 1.8.5.
- Create new themes based on your color and wallpaper choices.
- Share your themes with other users via links.
- Update your theme for all its users when you change something.
2019-09-08 21:38:58 +03:00
John Preston
5f26e92f5c Fix scheduled messages from ShareBox.
Fixes #6497.
2019-09-08 21:26:17 +03:00
John Preston
3d78c637a2 Strip editor information from palette. 2019-09-08 21:21:54 +03:00
John Preston
2ab2eed633 Push new saved theme to the list. 2019-09-08 21:05:35 +03:00
John Preston
bb7018424a Copy adjusted color values to editor. 2019-09-08 21:00:31 +03:00
John Preston
a770b5d4cd Allow share and remove cloud themes. 2019-09-08 20:32:25 +03:00
John Preston
c92a9585e1 Check changes when saving theme. 2019-09-08 19:29:43 +03:00
John Preston
cedb2d31af Check palette changes on editor cancel. 2019-09-08 16:40:15 +03:00
John Preston
95da2dbc34 Move create theme button to three-dot menu. 2019-09-08 15:47:22 +03:00
John Preston
f9b2a8d6ac Show progress in theme saving. 2019-09-08 14:52:42 +03:00
John Preston
a773ad7b02 Fix reverting edited theme values. 2019-09-06 19:31:07 +03:00
John Preston
32287a51f9 Don't show warning on theme autoupdate. 2019-09-06 19:31:07 +03:00
John Preston
37a4c79c81 Open theme preview after loading. 2019-09-06 19:31:07 +03:00
John Preston
95ee17bd54 Optimize theme edit data clearing. 2019-09-06 19:31:07 +03:00
John Preston
469c6770fb Handle t.me/addtheme links. 2019-09-06 19:31:07 +03:00
John Preston
e38123cc48 Send theme install requests. 2019-09-06 19:31:07 +03:00
John Preston
e3d7bf771f Update current theme in realtime. 2019-09-06 19:31:07 +03:00
John Preston
1cda90c3c5 Check fields before uploading theme. 2019-09-06 19:31:07 +03:00
John Preston
9c86f0e0a5 Save themes, apply and close editor on save. 2019-09-06 19:31:07 +03:00
John Preston
910f16312c Show not supported themes placeholders. 2019-09-06 19:31:07 +03:00
23rd
639b4bdd27 Fixed badge update during theme testing. 2019-09-06 19:31:07 +03:00
John Preston
4951eeac98 Allow creating desktop part of multi-theme. 2019-09-06 19:31:07 +03:00
John Preston
79106e0c01 Correctly show custom themes in list. 2019-09-06 19:31:07 +03:00
John Preston
7485f0c960 Don't change real theme when editing. 2019-09-06 19:31:07 +03:00
John Preston
03bdd80b2f Open theme editor for existing themes. 2019-09-06 19:31:07 +03:00
John Preston
dd74f57a66 Display full themes list in Settings. 2019-09-06 19:31:07 +03:00
John Preston
534772722e Improve theme selector design. 2019-09-06 19:31:07 +03:00
John Preston
6343221d7b Remove many includes from stdafx.pch. 2019-09-06 19:31:07 +03:00
John Preston
4929de2bfb Apply cloud themes. 2019-09-06 19:31:06 +03:00
John Preston
ac8f924909 Show tdesktop cloud themes in a box. 2019-09-06 19:31:06 +03:00
John Preston
95afcbb485 Format a valid theme file name. 2019-09-06 19:31:06 +03:00
John Preston
229bc56cc8 Upload saved theme to the cloud. 2019-09-06 19:31:06 +03:00
John Preston
4b045a602c Add a box for new theme creating. 2019-09-06 19:31:06 +03:00
John Preston
1e3b72ab74 Ignore background when checking which theme is used. 2019-09-06 19:31:06 +03:00
John Preston
bc63d9fe53 Fix check display in background box. 2019-09-06 19:31:06 +03:00
John Preston
d7cb8b7065 Version 1.8.4: Fix crash in local messages. 2019-09-06 16:41:43 +03:00
John Preston
30f4d870c5 Version 1.8.4: Fix crash on failed message delete. 2019-09-06 14:46:09 +03:00
John Preston
ad515c6f4a Version 1.8.4.
- Bug fixes and other minor improvements.
2019-09-06 14:39:04 +03:00
John Preston
056949416d Apply some rlottie fixes. 2019-09-06 14:37:41 +03:00
John Preston
ab6d9ff73c Fix sending first message in chat. 2019-09-06 14:14:04 +03:00
John Preston
8b766dda8e Fix crash in scheduled message in admin log.
Fixes #6495.
2019-09-06 12:20:59 +03:00
John Preston
ee0f66d746 Fix crash in history clear while sending messages.
Don't remove messages that are currently being sent from locals.
2019-09-06 10:56:01 +03:00
John Preston
7893ad0558 Mark all types of local history items. 2019-09-06 10:53:44 +03:00
John Preston
b0c5a75fb9 Version 1.8.3.
- Right click the 'Send' button and select 'Schedule Message'
to automatically send something at a specified time.
- Schedule reminders for yourself in the 'Saved Messages' chat.
- Get a notification when any of your scheduled messages are sent.
- Customize your app's appearance by choosing accent colors
for the 'Day', 'Night' and 'Tinted' themes.
- Choose who can find you on Telegram
when they add your number to their phone contacts.
- Send a single 😁, 😧, 😡, :poo:, 😢 or
😮 to check out what's new in the animated emoji department.
2019-09-05 21:49:20 +03:00
John Preston
1c313da888 Add dummy handler for addtheme links. 2019-09-05 21:49:20 +03:00
John Preston
ee210ea701 Update API scheme. 2019-09-05 20:42:45 +03:00
John Preston
e0c0d79be9 Fix build for GCC. 2019-09-02 15:22:01 +03:00
John Preston
cb3bad31fa Put 'Classic' theme first. 2019-09-02 14:27:22 +03:00
John Preston
917696be36 Closed alpha version 1.8.2.3. 2019-09-02 13:43:37 +03:00
John Preston
253816641c Submit by keyboard in scheduled section. 2019-09-02 13:39:43 +03:00
John Preston
ca2692473d Fix inactive window notifications clearing. 2019-09-02 13:39:43 +03:00
John Preston
8000dfac01 Fix crash on admin log exit by Escape. 2019-09-02 13:39:43 +03:00
John Preston
85cca51154 Make accent color radiobutton animated. 2019-09-02 13:39:43 +03:00
John Preston
87ea49e094 Allow schedule messages while in slowmode counter. 2019-09-02 13:39:43 +03:00
John Preston
66bf48e21e Remove 'Send without sound' in Saved messages. 2019-08-31 14:43:19 +03:00
John Preston
451056d2ab Track reminder unread status without cheating. 2019-08-31 14:32:15 +03:00
John Preston
791ae64a90 Fix crash in local messages tracking. 2019-08-31 14:25:24 +03:00
John Preston
3b4563772e Disable edit self restrictions in UI. 2019-08-31 14:25:02 +03:00
John Preston
16b786186b Fix schedule time selection. 2019-08-31 14:21:52 +03:00
John Preston
7be1c4ca2f Fix crash in right click on CalendarBox.
Any attempt to destroy a widget on right click will crash,
because Qt anyway sends QContextMenuEvent to the same widget.

Fixes #6464.
2019-08-31 14:15:30 +03:00
John Preston
17fba16c23 Fix crash on quit without initial passcode unlock. 2019-08-30 23:30:12 +03:00
John Preston
5fc4dcd172 Closed alpha version 1.8.2.2. 2019-08-30 18:45:07 +03:00
John Preston
b27a2cd34a Use edit_hide flag to hide 'edited' badge. 2019-08-30 18:00:32 +03:00
John Preston
569340c7d3 Move transfer ownership button. 2019-08-30 17:06:37 +03:00
John Preston
3715fa4b1e Fix scheduled notifications on inbox read. 2019-08-30 17:06:21 +03:00
John Preston
d95e54cb1a Check if it is possible to 'Send now.' 2019-08-30 16:17:46 +03:00
John Preston
470b67f557 Refresh file reference from scheduled messages. 2019-08-30 15:42:01 +03:00
John Preston
c46bcef9ff Add 'Send now' confirmation to langpack. 2019-08-30 15:24:42 +03:00
John Preston
c31cda0587 Use better accent color suggestions. 2019-08-30 13:32:15 +03:00
John Preston
5758f756c9 Fix draft clearing on message send.
Regression was introduced in caef7dde24.
2019-08-30 13:31:45 +03:00
John Preston
f199205592 Limit scheduled requests for one per minute. 2019-08-29 20:16:37 +03:00
John Preston
2b656f7745 Closed alpha version 1.8.2.1. 2019-08-29 16:16:22 +03:00
23rd
7be286751b Fixed text width in toast widget.
- Fixed #6381.
2019-08-29 16:16:22 +03:00
23rd
04617e4a12 Fixed display of tooltip for date of stickers.
- Fixed #6426.
 - Regression was introduced in b814c6307a.
2019-08-29 16:16:22 +03:00
John Preston
405ccb8580 Add editing of AddedByPhone privacy. 2019-08-29 11:44:03 +03:00
John Preston
131ef4f15a Fix palette generation on macOS. 2019-08-29 10:01:28 +03:00
John Preston
07f45b7eab Improve published scheduled notifications. 2019-08-29 10:01:28 +03:00
John Preston
87addd41b1 Add new phrases for reminders. 2019-08-29 10:01:28 +03:00
John Preston
0a4f91a53d Notify about published scheduled messages. 2019-08-29 10:01:28 +03:00
John Preston
3b76a908a4 Try to fix a crash in QNetworkReplyHttpImpl. 2019-08-29 10:01:28 +03:00
John Preston
9e3bc966c8 Fix crash in window destruction. 2019-08-29 10:01:28 +03:00
John Preston
149c69809d Apply peer restrictions. 2019-08-29 10:01:28 +03:00
John Preston
97a239a8b4 Show full emoji in fields in all scales. 2019-08-29 10:01:28 +03:00
John Preston
bd7cee2252 Improve accent color choose design. 2019-08-29 10:01:28 +03:00
John Preston
66d0d6e8fe Use HSV color space for colorizing. 2019-08-29 10:01:28 +03:00
John Preston
117d6192fa Ensure contrast in colorized themes. 2019-08-29 10:01:28 +03:00
John Preston
763bdf8798 Apply lightness limits in accent colors. 2019-08-29 10:01:28 +03:00
John Preston
56a82600f8 Add HSL color picker box for theming. 2019-08-29 10:01:28 +03:00
John Preston
a3e993253c Keep colorized theme in editor. 2019-08-29 10:01:28 +03:00
John Preston
04d5158ae3 Remove unused LeftOutlineButton type. 2019-08-29 10:01:28 +03:00
John Preston
38e4daacd4 Use HSL color space for accent colors. 2019-08-29 10:01:28 +03:00
John Preston
44d156760e Fix build in Xcode. 2019-08-27 19:10:37 +03:00
John Preston
d66541989e Improve first socket message. 2019-08-27 19:10:37 +03:00
John Preston
56c4d164f3 Fix crash in group creation. 2019-08-27 19:10:37 +03:00
John Preston
e2c1c4c8de Fix jump to first chat with archive. 2019-08-27 19:10:37 +03:00
John Preston
a465117689 Allow choosing accent colors from palette. 2019-08-27 19:10:37 +03:00
John Preston
c2117e7722 Save embedded themes accent colors. 2019-08-27 19:10:37 +03:00
John Preston
7de28fc4bd Apply saturation and value in colorizer. 2019-08-27 19:10:37 +03:00
John Preston
529ef64257 Sort colors by hue distance. 2019-08-27 19:10:37 +03:00
John Preston
9cb5423d40 Allow changing accent color in default themes. 2019-08-27 19:10:37 +03:00
John Preston
dd136350fb Fix save color in theme editor. 2019-08-27 19:10:37 +03:00
John Preston
ef7087348a Allow to schedule created polls. 2019-08-27 19:10:37 +03:00
John Preston
8eac2dcb78 Correctly show scheduled polls. 2019-08-27 19:10:37 +03:00
John Preston
f690f93f32 Allow schedule of files, stickers, GIFs. 2019-08-27 19:10:37 +03:00
John Preston
77ebdd3576 Send from scheduled messages section. 2019-08-27 19:10:37 +03:00
John Preston
3e895d0e85 Make tabbed selector working in scheduled section. 2019-08-27 19:10:37 +03:00
John Preston
385a7eb00d Start scheduled compose controls. 2019-08-27 19:10:37 +03:00
John Preston
1c9775baf9 Improve scheduled messages icon design. 2019-08-27 19:10:37 +03:00
John Preston
fb96d2eef8 Improve schedule box design. 2019-08-27 19:10:37 +03:00
John Preston
debeb61540 Start schedule message box. 2019-08-27 19:10:37 +03:00
John Preston
03cdddfe18 Allow sending scheduled messages. 2019-08-27 19:10:37 +03:00
John Preston
caef7dde24 Bundle silent and scheduled to Api::SendOptions. 2019-08-27 19:10:37 +03:00
John Preston
0b08810d5a Update hash counting for scheduled messages. 2019-08-27 19:10:37 +03:00
John Preston
694f771131 Allow to send scheduled messages instantly. 2019-08-27 19:10:37 +03:00
John Preston
956bb876f6 Sort scheduled messages on an update. 2019-08-27 19:10:37 +03:00
John Preston
99037d3d46 Improve scheduled messages top bar. 2019-08-27 19:10:37 +03:00
John Preston
ea0a616453 Allow deleting scheduled messages. 2019-08-27 19:10:37 +03:00
John Preston
815a18be94 Add initial scheduled list implementation. 2019-08-27 19:10:37 +03:00
John Preston
3814b0833d Keep track of scheduled messages. 2019-08-27 19:10:37 +03:00
John Preston
549789bfb7 Update API scheme to layer 105. 2019-08-27 19:10:37 +03:00
John Preston
a539fad3e2 Version 1.8.2: Fix passcode unlock. 2019-08-20 16:03:21 +03:00
John Preston
ee96d78656 Version 1.8.2: Fix build for Qt 5.3.2. 2019-08-20 14:29:21 +03:00
John Preston
288c1130b9 Version 1.8.2: Fix build. 2019-08-20 14:28:40 +03:00
John Preston
d1083a1fb4 Version 1.8.2.
- Bug fixes and other minor improvements.
2019-08-20 12:49:51 +03:00
John Preston
e1fe373504 Fix localtime-related slowmode errors. 2019-08-20 12:42:37 +03:00
23rd
1a06714f3a Added ability to apply formatting from Mac menu. 2019-08-20 12:02:37 +03:00
John Preston
7316d24ca4 Quick fix for 'Cant forward here' error. 2019-08-19 15:26:12 +03:00
John Preston
b814c6307a Check that sticker drag point is inside. 2019-08-19 15:26:12 +03:00
23rd
06fbb2edc4 Added permanent date display for sticker when fast action is enabled. 2019-08-19 15:26:12 +03:00
23rd
0ee47bb10f Fixed fast action button and date position for stickers. 2019-08-19 15:26:12 +03:00
23rd
9f228d8146 Fixed fast share button in messages with big emoji and reply. 2019-08-19 15:26:12 +03:00
23rd
de270d5283 Fixed right action click handler on stickers without stickerpack. 2019-08-19 15:26:12 +03:00
John Preston
3f041545bf Fix crash in local passcode reset. 2019-08-19 15:26:12 +03:00
John Preston
1139a59818 Fix crash in editing message to empty. 2019-08-19 15:26:12 +03:00
John Preston
1e64ba8f29 Fix app config refresh timeout. 2019-08-19 15:26:12 +03:00
John Preston
65342559c7 Use specific tag for libxkbcommon in docs. 2019-08-19 15:23:37 +03:00
John Preston
e150db1d0b Use specific tag for libkxbcommon in snap build. 2019-08-19 13:34:24 +03:00
John Preston
4548b14b45 Fix libvdpau repository link in snap build. 2019-08-19 13:15:32 +03:00
John Preston
dac1128dc9 Version 1.8.1.
- Bug fixes and other minor improvements.
2019-08-09 20:36:21 +01:00
John Preston
c3944d95b4 Fix local caching.
Regression was introduced in 9cf4cf6dca.

Fixes #6377.
2019-08-09 20:33:05 +01:00
John Preston
02b65a42f7 Move message client flags to a separate field. 2019-08-09 20:19:23 +01:00
John Preston
4869ce2247 Version 1.8.
- Right click the Send button to send any message
without sound - in case the recipient is sleeping.
- Enable Slow Mode in Group Permissions to control
how frequently members can post.
- Set custom titles for group admins - like 'Founder',
'CFO' or 'Spam Fighter'.
- Toggle looped playback for animated stickers in Chat Settings.
- Send a single ❤️, :like:, 😒, 😳 or :party:
to add a mighty animated emoji to the chat.
2019-08-09 11:51:36 +01:00
John Preston
e40267f45b Add :party: emoji replacement. 2019-08-09 11:51:36 +01:00
John Preston
e9ab8df737 Use QLocale::uiLanguages for system language. 2019-08-09 11:51:36 +01:00
Vitaly Lipatov
9276101809 Get language name and country name from QLocale (Linux) 2019-08-09 11:51:36 +01:00
John Zimmermann
0c3773486e linux/specific_linux.h: remove unnecessary include of execinfo 2019-08-09 11:51:35 +01:00
Konstantin Popov
b831766375 Make .desktop file search respect TDESKTOP_LAUNCHER_FILENAME 2019-08-09 11:51:35 +01:00
Nicholas Guriev
325989ed47 Fix small typo 2019-08-09 11:51:35 +01:00
John Preston
63203ecc00 Fix int32 overflow in local storage stats. 2019-08-09 11:51:35 +01:00
John Preston
93793d8bdd Remove thumbnail for colored animated emoji. 2019-08-09 11:51:35 +01:00
John Preston
6710372d27 Fix build in Xcode. 2019-08-09 11:51:35 +01:00
John Preston
a8c94deca8 Retry signing if failed. 2019-08-09 11:51:35 +01:00
John Preston
e97d014a01 Closed alpha version 1.7.15.7. 2019-08-09 11:51:35 +01:00
John Preston
7ffa348e43 Replace 'Telegram Messenger LLP' with 'Telegram FZ-LLC'. 2019-08-09 11:51:35 +01:00
John Preston
b999d87388 Divide scheme.tl to mtproto.tl and api.tl. 2019-08-09 11:51:35 +01:00
John Preston
fb00d523c3 Add theme names to langpack. 2019-08-09 11:51:35 +01:00
John Preston
d7f7a03eb4 Don't refresh large emoji messages when sent. 2019-08-09 11:51:35 +01:00
John Preston
bc83df9d7f Repaint skin-toned animated emoji. 2019-08-09 11:51:33 +01:00
John Preston
61c1c10ed9 Closed alpha version 1.7.15.6. 2019-08-09 11:50:49 +01:00
John Preston
4bad642190 Remove some more Auth() calls. 2019-08-09 11:50:49 +01:00
John Preston
f48732f813 Extract username from t.me/username searches. 2019-08-09 11:50:49 +01:00
John Preston
10e28913ca Search single messages by message link. 2019-08-09 11:50:49 +01:00
John Preston
230dd29af5 More large emoji layout improvements. 2019-08-09 11:50:49 +01:00
John Preston
169db40e9f Closed alpha version 1.7.15.5. 2019-08-09 11:50:49 +01:00
John Preston
116b483a88 Improve layout of large emoji. 2019-08-09 11:50:49 +01:00
John Preston
57cdef4e6b Improve large emoji outline. 2019-08-09 11:50:49 +01:00
John Preston
1b1b1780db Reuse global emoji large images. 2019-08-09 11:50:49 +01:00
John Preston
e479daca03 Use outlined large emoji. 2019-08-09 11:50:49 +01:00
John Preston
51d350c356 Fix stickers and emoji render. 2019-08-09 11:50:49 +01:00
John Preston
9da4bd671e Closed alpha version 1.7.15.4. 2019-08-09 11:50:49 +01:00
John Preston
d298953653 Add large emoji implementation. 2019-08-09 11:50:49 +01:00
John Preston
1d52ba7a42 Extract sticker-specific HistoryView code. 2019-08-09 11:50:49 +01:00
John Preston
850940116d Move HistoryMedia to HistoryView namespace. 2019-08-09 11:50:49 +01:00
John Preston
fd59147b8a Allow disabling animated emoji. 2019-08-09 11:50:49 +01:00
John Preston
93a52bb66e Move some settings from global to Session. 2019-08-09 11:50:49 +01:00
John Preston
7e4c9f98a6 Track all single-emoji messages. 2019-08-09 11:50:49 +01:00
John Preston
7d2896dd42 Scale animated emoji by server config. 2019-08-09 11:50:49 +01:00
John Preston
f7f797dd78 Initial animated emoji implementation. 2019-08-09 11:50:49 +01:00
John Preston
4b7b1c35e1 Improve storing of played animated stickers. 2019-08-09 11:50:49 +01:00
John Preston
708b1d7ad4 Add 'Loop animated stickers' setting. 2019-08-09 11:50:49 +01:00
John Preston
abf49e1672 Update API scheme. 2019-08-09 11:50:49 +01:00
John Preston
052e4bc508 Fix complex box closing.
~BoxContent should be called when _layers is already in valid state.
2019-08-09 11:50:49 +01:00
John Preston
80fedcbbae Improve slowmode error phrases. 2019-08-09 11:50:49 +01:00
John Preston
787b5f549a Update slowmode intervals. 2019-08-09 11:50:49 +01:00
John Preston
e8a28a57df Fix adding contacts.
Regression was introduced in 06982fdf04.
2019-08-09 11:50:49 +01:00
John Preston
b05ea9fc25 Fix some problems in working with rlottie. 2019-08-09 11:50:49 +01:00
John Preston
8d94cfb61b Fix support mode sending. 2019-08-09 11:50:49 +01:00
John Preston
d8a58991c4 Closed alpha version 1.7.15.3. 2019-07-28 18:01:13 +02:00
John Preston
03cf8b6ac2 Improve transport nonce generation. 2019-07-28 18:01:13 +02:00
John Preston
32e8ae2b9e Fix sticker suggestions by emoji.
Regression was introduced in 27f248645c.
2019-07-28 15:45:46 +02:00
John Preston
27d84befa8 Remove emoji from custom admin ranks. 2019-07-28 15:39:06 +02:00
John Preston
3bf709d459 Add Ui::Text::Italic modifier. 2019-07-27 23:09:15 +02:00
John Preston
2a8b6f05c8 Fix build for GCC. 2019-07-27 17:19:04 +02:00
John Preston
f29b331470 Fix build for Xcode. 2019-07-27 17:19:04 +02:00
John Preston
a8b74d4b6b Closed alpha version 1.7.15.2. 2019-07-27 17:19:04 +02:00
John Preston
415d817034 Show notification without sound for silent message. 2019-07-27 17:19:04 +02:00
John Preston
3f2cc01f48 Allow sending silent messages. 2019-07-27 17:19:04 +02:00
John Preston
f1cd70d8a8 Fix some instructions and build process. 2019-07-27 17:19:04 +02:00
John Preston
bacaf805b5 Pass SessionNavigation to some boxes. 2019-07-25 20:55:11 +02:00
John Preston
137fa0378c Remove some more Auth() calls. 2019-07-24 16:00:30 +02:00
John Preston
ff44094ded Rename AuthSession to Main::Session. 2019-07-24 13:45:24 +02:00
John Preston
06982fdf04 Remove some calls to Auth(). 2019-07-24 13:13:51 +02:00
John Preston
9cf4cf6dca Move MTP::Instance to Main::Account. 2019-07-24 10:46:23 +02:00
John Preston
db2018c765 Fix owner badges in groups. 2019-07-24 08:37:10 +02:00
John Preston
020e62fb7a Closed alpha version 1.7.15.1. 2019-07-24 08:02:58 +02:00
John Preston
2ed5552279 Improve custom badge input phrases. 2019-07-24 08:02:20 +02:00
John Preston
4d92d74de0 Add python extensions to the list of executables. 2019-07-24 08:02:20 +02:00
John Preston
4fd50cfb70 Fix build in Xcode. 2019-07-24 08:02:20 +02:00
John Preston
27f248645c Use correct animated sticker thumbnails size. 2019-07-24 08:02:20 +02:00
John Preston
3f1a2d0b58 Support emoji in custom admin badges. 2019-07-24 08:02:20 +02:00
John Preston
6fe36e6534 Improve custom rank input UI. 2019-07-24 08:02:20 +02:00
John Preston
f36e2981ca Display custom admin ranks in messages. 2019-07-24 08:02:20 +02:00
John Preston
22f210ea8e Support sending albums to slowmode groups. 2019-07-24 08:02:20 +02:00
John Preston
b23bfe8b02 crl: std::terminate instead of exceptions. 2019-07-24 08:02:20 +02:00
John Preston
6aa930d510 Remove exceptions in TL parsing. 2019-07-24 08:02:20 +02:00
John Preston
4a10a88ecf Show error when forwarding to slowmode group. 2019-07-24 08:02:20 +02:00
John Preston
f4754f210c Update full channel on updateChannel. 2019-07-24 08:02:20 +02:00
John Preston
873b77cf40 Use UserData::isBot where applicable. 2019-07-24 08:02:20 +02:00
John Preston
a7d9aa947b Don't allow in-notification reply with slowmode. 2019-07-24 08:02:20 +02:00
John Preston
234b0ffcf0 Disallow accidental failing forwarding. 2019-07-24 08:02:20 +02:00
John Preston
c50ade565a Track sending and failed messages. 2019-07-24 08:02:20 +02:00
John Preston
0005e0a3ce Track local messages, restore on history jump. 2019-07-24 08:02:20 +02:00
John Preston
04bf24288a Show slowmode error messages. 2019-07-24 08:02:20 +02:00
John Preston
01d0479335 Show slowmode button in chat. 2019-07-24 08:02:20 +02:00
John Preston
055c145af5 Fix manage group box after migration. 2019-07-24 08:02:20 +02:00
John Preston
328b090877 Save slowmode settings in groups. 2019-07-24 08:02:20 +02:00
John Preston
1d2c86839b Add slowmode slider to EditPeerPermissionsBox. 2019-07-24 08:02:20 +02:00
John Preston
59574532c6 Add slowmode send message button state. 2019-07-24 08:02:20 +02:00
John Preston
4544a2e331 Update API scheme to layer 104. 2019-07-24 08:02:20 +02:00
John Preston
c0f8ab8da0 Fix build for old Qt version. 2019-07-18 21:52:13 +02:00
John Preston
d02617867c Beta version 1.7.15.
- Bug fixes and other minor improvements.
2019-07-18 18:18:05 +02:00
John Preston
78c99a1583 Revert "Change macOS sign certificate name."
This reverts commit 4757ad6c97.
2019-07-18 18:18:05 +02:00
John Preston
9ec797857d rlottie: Return thread support. 2019-07-18 18:18:05 +02:00
John Preston
b310011dee rlottie: Disable image loader code. 2019-07-18 12:12:02 +02:00
23rd
633084ed9c Fixed position of already shown tabbed panel.
- Fixed #6301.
2019-07-18 12:09:53 +02:00
23rd
ab8889b2fa Fixed position of emoji panel in SendFilesBox when new file is added. 2019-07-18 12:09:53 +02:00
23rd
d563e746ab Added ability to go to bot from "via @bot" header with Ctrl.
- Fixed #2074.
2019-07-18 12:09:53 +02:00
John Preston
7c6ede0908 Save domain in different localstorage key. 2019-07-15 16:00:30 +02:00
John Preston
c22aeb8b40 Fix crash in proxy list. 2019-07-15 16:00:30 +02:00
John Preston
cabe06256b Validate dcOption secrets. 2019-07-15 16:00:30 +02:00
John Preston
2fad4e9956 Closed alpha version 1.7.14.2. 2019-07-15 16:00:30 +02: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
c894ce30c4 Fix socket packet reading. 2019-07-15 15:59:20 +02:00
John Preston
33fce38f90 Fix build in Xcode and GCC. 2019-07-15 15:59:20 +02:00
John Preston
e123399f7c Closed alpha version 1.7.14.1. 2019-07-15 15:59:20 +02:00
John Preston
0805c09446 Allow one or two '=' at the end of base64. 2019-07-15 15:59:20 +02:00
John Preston
8135f4b427 Support base64 encoding of the secret. 2019-07-15 15:59:20 +02:00
John Preston
2f0331b2e0 Implement send/receive for the new type. 2019-07-15 15:59:20 +02:00
John Preston
69b6b48738 Add new socket type. 2019-07-15 15:59:20 +02:00
John Preston
3cda267787 Abstract out tcp socket from tcp connection. 2019-07-15 15:59:20 +02:00
John Preston
ffba901620 Add a confirmation when blocking a user. 2019-07-15 15:47:40 +02:00
John Preston
2351865961 Update libtgvoip submodule. 2019-07-15 15:00:15 +02:00
John Preston
7a11d1e31f Fix stickers on Linux 32 bit. 2019-07-15 14:17:22 +02:00
John Preston
f2b3d9714f Fix sticker sending from clipboard. 2019-07-15 14:12:28 +02:00
John Preston
8477956117 Fix emoji button.
Fixes #6264.
2019-07-15 14:12:28 +02:00
John Preston
77b8d56c03 Show 'None' if no users are blocked. 2019-07-15 14:12:27 +02:00
John Preston
90fb9eccd4 Optimize InvokeQueued(). 2019-07-10 19:37:00 +02:00
John Preston
c3c6571835 Add checks for incorrect sticker cache bytes. 2019-07-10 19:36:27 +02:00
John Preston
b9d3ba621e Change some private header includes. 2019-07-10 19:36:27 +02:00
John Preston
4757ad6c97 Change macOS sign certificate name. 2019-07-10 19:36:26 +02:00
John Preston
9c909c8992 Lower the animated sticker requirements.
Fixes #6237.
2019-07-09 14:53:23 +02:00
John Preston
0710dde4d5 Use private Qt color API only in official build.
Fixes #6219.
2019-07-09 13:43:57 +02:00
John Preston
8008d8a3d4 Fix build for Xcode. 2019-07-07 17:11:45 +02:00
John Preston
5c5eead0f5 Version 1.7.14.
- Bug fixes and other minor improvements.
2019-07-07 15:34:35 +02:00
John Preston
696c70e34a Update rlottie, remove asserts in debug build. 2019-07-07 13:14:19 +02:00
John Preston
75fd2d0257 Version 1.7.13.
- Send ultra-lightweight high-quality animated stickers
to express emotion with motion.
- Receive animated stickers instantly on any connection
at just 20-30 KB per sticker.
- Enjoy smooth animations at 60 frames per second.
- Create new animated sets and upload them to @stickers
for everybody to use.
- Try out these sample stickers: t.me/addstickers/hotcherry
- Use strikethrough and underline formatting.
2019-07-06 15:27:31 +02:00
John Preston
4e595d5cef Fix GIFs preview. 2019-07-06 15:24:23 +02:00
23rd
8486ad368e Fixed restrictions for channels.
- Regression was introduced in 567bf60644.
2019-07-06 10:58:10 +03:00
John Preston
ae075e9b90 Beta version 1.7.12: Fix build for old OS X. 2019-07-05 23:13:31 +02:00
John Preston
86d7143d94 Beta version 1.7.12.
- Bug fixes and other minor improvements.
2019-07-05 22:55:09 +02:00
John Preston
4e52da91c7 Fix animation stopping in chat. 2019-07-05 19:47:40 +02:00
John Preston
198de85ce5 Limit to 30 FPS in small stickers. 2019-07-05 19:15:25 +02:00
John Preston
72a9d61b97 Fix glitches on macOS stickers. 2019-07-05 18:13:27 +02:00
John Preston
96a26b44a9 Fix build for Xcode. 2019-07-05 17:08:33 +02:00
John Preston
f19ff1f9b2 Correctly start lottie animations. 2019-07-05 16:43:21 +02:00
John Preston
4bd0683e91 Guard UpdateRequest handling. 2019-07-05 16:29:02 +02:00
John Preston
567bf60644 Use getters in MTP classes. 2019-07-05 16:23:07 +02:00
John Preston
3ca28c0cf9 Fix crash in unsupported message with buttons.
Fixes #6212.
2019-07-05 09:42:51 +02:00
John Preston
4a12e9798a Beta version 1.7.11.
- Use strikethrough and underline formatting.
- Bug fixes and other minor improvements.
2019-07-04 17:27:30 +02:00
John Preston
5c6515febb Fix strike-through text font selection. 2019-07-04 17:27:18 +02:00
23rd
ca5fee6db9 Added issue templates for feature requests and questions. 2019-07-04 16:41:46 +02:00
23rd
4ac3aef600 Added ability to cancel reply with Ctrl + Arrow Down.
- Fixed #4636.
2019-07-04 16:41:46 +02:00
23rd
1963fca7d3 Fixed media overlay closing with Back mouse button.
- Fixed #2998.
2019-07-04 16:41:46 +02:00
23rd
5e233dab47 Fixed height of thumb in EditCaptionBox when media changes to photo. 2019-07-04 16:41:46 +02:00
23rd
cf8a06302f Fixed position of unread mentions button when field changes height. 2019-07-04 16:41:46 +02:00
23rd
9c9ea8c2c0 Added ability to change order of pinned dialogs from touchbar. 2019-07-04 16:41:03 +02:00
23rd
bb9e6e7b5f Added ability to display media preview from touchbar. 2019-07-04 16:28:58 +02:00
23rd
7c98f64cdb Slightly refactored display of media preview.
- Removed showMediaPreview from facades.
2019-07-04 16:28:58 +02:00
23rd
da6baeb1a7 Added notifier of archiving pinned dialog to update touchbar. 2019-07-04 16:27:33 +02:00
23rd
26569683ca Refactored pinned buttons in touchbar. 2019-07-04 16:27:33 +02:00
23rd
821bd3c65b Added buttons for Underline and Strike-through text to touchbar. 2019-07-04 16:27:33 +02:00
John Preston
2d62c9b083 Prefer animated stickers in suggestion by emoji. 2019-07-04 16:26:53 +02:00
John Preston
9d09cee1cc Unblock bots without restarting from Settings. 2019-07-04 16:26:53 +02:00
John Preston
0e964b06dc Hook main queue processing to update requests. 2019-07-04 16:26:13 +02:00
John Preston
b1807938ad Remove legacy langpacks. 2019-07-04 14:25:16 +02:00
John Preston
b96b801b22 Disable ownership transfer to myself. 2019-07-04 14:02:25 +02:00
John Preston
58d4b763b6 Allow 6-digit support phone numbers. 2019-07-04 14:00:40 +02:00
John Preston
f1518af8b3 Mark mentions as read on reply-from-notification. 2019-07-04 13:56:28 +02:00
John Preston
d228495550 Allow replacing emoji by Tab in support mode. 2019-07-04 13:26:39 +02:00
John Preston
226ca6d117 Clear 'Cancelled' flag on download start.
Fixes #6123.
2019-07-04 13:21:43 +02:00
John Preston
556f36ba7e Fix transparent animated GIFs. 2019-07-04 13:12:58 +02:00
John Preston
c8b61366d3 Fix blurred document thumbnails. 2019-07-04 12:22:07 +02:00
John Preston
729da4a6b4 Move 'Add to contacts' button up in Info. 2019-07-04 12:21:52 +02:00
John Preston
dd38da7737 Allow markdown to intersect with previewed links. 2019-07-04 11:51:41 +02:00
John Preston
306b87dd39 Disable double click reply in a created group. 2019-07-04 11:37:05 +02:00
John Preston
826d229c1a Clear 'Find in Files' search by lang key results. 2019-07-04 11:36:27 +02:00
John Preston
89fb121caf Show URL tooltip in inline bot results. 2019-07-04 11:23:39 +02:00
John Preston
d479442a63 Fix local thumbnail saving for stickers. 2019-07-04 11:04:12 +02:00
John Preston
10ee81f466 Copy shared contact number from the context menu.
Fixes #6147.
2019-07-04 10:36:48 +02:00
John Preston
0a63eac4f6 Generate good thumbnail for animated stickers. 2019-07-04 10:20:36 +02:00
John Preston
7034df49e9 Fix sending of .tgs stickers. 2019-07-03 13:03:01 +02:00
John Preston
da48a78f7c Revert "Hide new formatting for now."
This reverts commit 99aa1fc556.
2019-07-03 12:08:28 +02:00
John Preston
0109ee2758 Fix build for Linux. 2019-07-03 00:20:59 +02:00
John Preston
ae152d28be Closed alpha version 1.7.10.1. 2019-07-02 22:42:00 +02:00
John Preston
dd1bca1769 Remove profiling logs. 2019-07-02 22:40:10 +02:00
John Preston
a4fbbc06d1 Use Lottie::MultiPlayer in StickerSetBox. 2019-07-02 22:38:23 +02:00
John Preston
0dd1b4eae6 Support animated stickers in suggestions. 2019-07-02 17:21:52 +02:00
John Preston
848ea16eef Support animated stickers in inline results. 2019-07-02 15:46:26 +02:00
John Preston
76630528f7 Show animated thumbnails in sets box. 2019-07-02 15:20:04 +02:00
John Preston
3b645422ff Implement animated stickerset thumbnails. 2019-07-02 14:43:17 +02:00
John Preston
db2d24ff32 Clear lottie on panel hide. 2019-07-01 17:57:40 +02:00
John Preston
a10b91fe1a Don't load bad image infinitely. 2019-07-01 17:57:40 +02:00
John Preston
ead212f31b Fix lottie caching. 2019-07-01 17:57:40 +02:00
John Preston
37689affc5 Clear far enough animated sticker sets. 2019-07-01 17:57:39 +02:00
John Preston
5375e7958c Implement pause/unpause for Lottie::MultiPlayer. 2019-07-01 17:57:39 +02:00
John Preston
1da5d1c64f Fix multi player with same frame rates. 2019-07-01 17:57:39 +02:00
John Preston
f6bfbbb805 Add some profiling logs to lottie player. 2019-07-01 17:57:39 +02:00
John Preston
2c461b9df3 Remove profiling logs. 2019-07-01 17:57:39 +02:00
John Preston
53a3d0038c Fix build for Xcode. 2019-07-01 17:57:38 +02:00
John Preston
ad1816cb7c Use Lottie::MultiPlayer in StickersListWidget. 2019-07-01 17:57:38 +02:00
John Preston
09c9f4ef9a Implement Lottie::MultiPlayer. 2019-07-01 17:57:38 +02:00
John Preston
cbffeca8d5 Extract some Lottie::Animation code to Lottie::Player. 2019-07-01 17:57:37 +02:00
John Preston
4a7b5a8e01 Fix caching for large sticker area. 2019-07-01 17:57:37 +02:00
John Preston
808583c5ae Store cached frames in media local cache. 2019-07-01 17:57:37 +02:00
John Preston
5628c1eee6 Encode cached frames to YUV420P. 2019-07-01 17:57:36 +02:00
John Preston
0b8aa880e5 Decide if we XOR frames for each frame. 2019-07-01 17:57:36 +02:00
John Preston
059a24bcdf Use lz4 compression for cached frames. 2019-07-01 17:57:36 +02:00
John Preston
df8625345b Add lz4 as a submodule. 2019-07-01 17:57:35 +02:00
John Preston
a026aec786 Trivial in-memory frame caching. 2019-07-01 17:57:35 +02:00
John Preston
56e137b20f Move some common code to lib_ffmpeg. 2019-07-01 17:57:35 +02:00
John Preston
10772f4ac5 Started Lottie::CacheState class. 2019-07-01 17:57:34 +02:00
John Preston
35bc2cc2a5 Prepare lottie animations caching. 2019-07-01 17:57:34 +02:00
John Preston
f20d9395d1 Unpack lottie gzip to std::string for rlottie. 2019-07-01 17:57:34 +02:00
John Preston
aa3a079853 Remove QtLottie and rapidjson. 2019-07-01 17:57:34 +02:00
John Preston
e43fcc0e5f rlottie: Fix build for macOS with static Qt. 2019-07-01 17:57:33 +02:00
John Preston
b10e6b3508 Render animated stickers using rlottie. 2019-07-01 17:57:33 +02:00
John Preston
b36f7dfdb1 Build rlottie as a dependency. 2019-07-01 17:57:33 +02:00
John Preston
f08d913175 Add rlottie submodule. 2019-07-01 17:57:33 +02:00
John Preston
21dfb310f3 Optimize animated sticker preview. 2019-07-01 17:57:32 +02:00
John Preston
0d6ee3929d Show animated stickers in the panel. 2019-07-01 17:57:32 +02:00
John Preston
040cae6a9a Show animated sticker preview. 2019-07-01 17:57:32 +02:00
John Preston
8f3f898c47 Show animated stickers in StickerSetBox. 2019-07-01 17:57:32 +02:00
John Preston
10910588a0 Update API scheme to layer 103. 2019-07-01 17:57:31 +02:00
John Preston
adf5c8ec71 Version 1.7.10: Fix group location display. 2019-06-24 15:31:23 +02:00
John Preston
f77b11975b Version 1.7.10: Ownership transfer flood errors. 2019-06-24 15:14:32 +02:00
John Preston
84aaec30a1 Version 1.7.10: Ownership transfer in admin log. 2019-06-24 15:08:19 +02:00
John Preston
764490b4a9 Version 1.7.10: Add share phone confirmation. 2019-06-24 14:49:53 +02:00
John Preston
022fb0c81b Version 1.7.10: Fix sticker set title.
Fixes #6169.
2019-06-24 14:32:43 +02:00
John Preston
d5497c3105 Version 1.7.10: Don't load OpenSSL config on Win. 2019-06-24 14:23:08 +02:00
John Preston
09162e6f19 Version 1.7.10.
- Bug fixes and other minor improvements.
2019-06-24 14:16:19 +02:00
John Preston
f46189041c Use non-installed OpenSSL in Windows. 2019-06-24 13:43:42 +02:00
John Preston
7c2f114330 Force OpenSSL not loading local config. 2019-06-24 12:49:37 +02:00
John Preston
a04247a893 Show archive2mainmenu tooltip for 5 seconds. 2019-06-24 11:14:19 +02:00
John Preston
3a8a74f063 QtLottie: Fix easing curve segment selection. 2019-06-24 11:09:00 +02:00
John Preston
9c85d58235 Fix crash in closing export panel. 2019-06-24 10:59:21 +02:00
John Preston
e5cfa3fdc9 Fix adding to contacts + closing box crash.
Regression was introduced in b9d1d8519c.
2019-06-24 10:07:32 +02:00
John Preston
5c49701603 Fix 2SV setup.
Regression was introduced in 0dddb7694f.
2019-06-24 09:55:12 +02:00
John Preston
978a4ac0ad Version 1.7.9.
- You can now add any users to your contacts,
even if their phone numbers are not visible.
- Transfer ownership of group chats and channels
by granting full rights to another admin.
Useful when switching jobs or if you just want to retire as creator.
- Hide archived chats to the main menu.
- See who is online straight from the chat list.
- Use the MacBook Pro TouchBar to apply formatting to selected text,
insert emoji, and send stickers.
2019-06-23 16:49:31 +02:00
John Preston
8a7980ca7b Fix build for old OS X versions. 2019-06-23 16:49:21 +02:00
John Preston
29532f8232 Remove GPL and GitHub from translations. 2019-06-23 16:43:43 +02:00
23rd
ee4501810c Added restriction info of posting stickers to touchbar. 2019-06-23 16:36:22 +02:00
John Preston
99aa1fc556 Hide new formatting for now. 2019-06-23 16:10:53 +02:00
John Preston
8741266819 Add support for Underline and Strike-through text. 2019-06-23 15:40:59 +02:00
John Preston
d864ebd695 Fix private channel phrase in Discuss. 2019-06-23 14:34:48 +02:00
John Preston
352839337d Add SCAM badge for users and channels. 2019-06-23 14:18:33 +02:00
John Preston
88b7387a40 Closed alpha version 1.7.8.1: Fix build for Xcode. 2019-06-22 22:42:30 +02:00
John Preston
d0cf39f8ed Closed alpha version 1.7.8.1. 2019-06-22 22:13:06 +02:00
23rd
d57b8d2ec7 Added preload of stickers in touchbar. 2019-06-22 22:13:06 +02:00
23rd
8de3826c9e Disabled posting stickers with touchbar in groups with restrictions. 2019-06-22 22:13:06 +02:00
23rd
3ea0247a3e Slightly refactored touchbar. 2019-06-22 22:13:06 +02:00
23rd
bebf58ea8d Fixed display of online badge in pinned Saved Messages in touchbar.
- Fixed #6162.
2019-06-22 22:13:06 +02:00
23rd
7489f2297f Fixed title of favorite stickers in touchbar. 2019-06-22 22:13:06 +02:00
23rd
c7526ae1cd Fixed title of recently used emoji in touchbar.
- Added "No found" title if sticker list is empty.
2019-06-22 22:13:06 +02:00
23rd
07a063e19e Refactored formatter buttons in touchbar. 2019-06-22 22:13:06 +02:00
23rd
3727c8c865 Grouped sticker and emoji buttons in touchbar. 2019-06-22 22:13:06 +02:00
23rd
662d0d0764 Added emoji picker to touchbar.
- Added independent size of emoji for touchbar.
 - Added rpl::event_stream for recent emoji updates.
2019-06-22 22:13:06 +02:00
23rd
dcba07b9b7 Added sticker picker to touchbar. 2019-06-22 22:13:06 +02:00
John Preston
a4d83b679a Allow searching USA by 'United States'. 2019-06-22 22:12:47 +02:00
John Preston
dc102bd9e8 Finish working with localstorage before ~AuthSession. 2019-06-22 12:36:35 +02:00
23rd
f877bf7a46 Fixed display of views count. 2019-06-22 11:53:23 +02:00
John Preston
a0171cb144 Fix crash in MainWindow destruction. 2019-06-22 11:52:41 +02:00
John Preston
7d585ab72f Handle located groups as public. 2019-06-21 14:27:46 +02:00
John Preston
6537e524b8 Fix build for GCC. 2019-06-21 11:06:52 +02:00
John Preston
4917ca7b32 Remove all legacy global namespace langs. 2019-06-21 11:06:52 +02:00
John Preston
edcd09c29f Remove LangKey. 2019-06-21 11:06:51 +02:00
John Preston
87fc066e67 Use tr:: instead of lang(). 2019-06-21 11:06:51 +02:00
John Preston
d3ca6b96a1 Use tr:: instead of __generic. 2019-06-21 11:06:50 +02:00
John Preston
52e40cbc6e Improve non-authed language switch. 2019-06-21 11:06:50 +02:00
John Preston
a7c8feaecb Use tr:: instead of langFactory and __rich. 2019-06-21 11:06:50 +02:00
John Preston
d1d98c3bb1 Use tr:: instead of langFactory in box titles. 2019-06-21 11:06:50 +02:00
John Preston
8ed433cc01 Use tr:: instead of langFactory in input fields. 2019-06-21 11:06:49 +02:00
John Preston
7af0dd105e Use tr:: instead of Lang::Viewer. 2019-06-21 11:06:49 +02:00
John Preston
f35085800a Fix build in GCC. 2019-06-21 11:06:49 +02:00
John Preston
366413a0a6 Fix build in Xcode. 2019-06-21 11:06:48 +02:00
John Preston
faa42110ac Remove Info::Profile::ToUpperValue. 2019-06-21 11:06:48 +02:00
John Preston
87cb0ada98 Allow skipping archive results in messages search. 2019-06-21 11:06:48 +02:00
John Preston
6a1abe8767 Add transfer ownership description box. 2019-06-21 11:06:48 +02:00
John Preston
7f96a185cf Add rpl interface for Lang in tr:: namespace. 2019-06-21 11:06:48 +02:00
John Preston
91c57f2035 Support intersecting links with entities. 2019-06-21 11:06:48 +02:00
John Preston
522e66b2db Make Ui::Text::Parser methods non-inclass. 2019-06-21 11:06:48 +02:00
John Preston
2d10e3e432 Show toast notification on ownership transfer. 2019-06-21 11:06:47 +02:00
John Preston
d23fd3559a Refresh participants after transfer. 2019-06-21 11:06:47 +02:00
John Preston
3c11eda611 Allow transfer of legacy groups. 2019-06-21 11:06:47 +02:00
John Preston
b9d1d8519c Use need_contacts_exception flag in add contact. 2019-06-21 11:06:47 +02:00
John Preston
8f3f072b50 Implement channel ownership transfer. 2019-06-21 11:06:47 +02:00
John Preston
a68a53d768 Prepare PasscodeBox for generic 2sv checking. 2019-06-21 11:06:47 +02:00
John Preston
0dddb7694f Show transfer community button, set 2sv password. 2019-06-21 11:06:47 +02:00
John Preston
ca7c50fbcd Remove pseudo-HTML from langpacks and Ui::Text::String. 2019-06-21 11:06:46 +02:00
John Preston
9066acd2dd Use new box for editing contact name. 2019-06-21 11:06:46 +02:00
John Preston
2162aa8df0 Rename Text to Ui::Text::String. 2019-06-21 11:06:46 +02:00
John Preston
e9677779b8 Show phone number only in the chat top bar. 2019-06-21 11:06:46 +02:00
John Preston
aca3ec0ab8 Implement block + clear from ContactStatus bar. 2019-06-21 11:06:46 +02:00
John Preston
3a34b15841 Add 'Share my phone number' click handler. 2019-06-21 11:06:45 +02:00
John Preston
08d4715ad6 Implement a new AddToContactBox. 2019-06-21 11:06:45 +02:00
John Preston
213a8d888a Implement report spam from ContactStatus bar. 2019-06-21 11:06:45 +02:00
John Preston
f49c7ba7ee Allow hiding contact status bar. 2019-06-21 11:06:45 +02:00
John Preston
984f19b1e9 Implement adaptive ContactStatus buttons. 2019-06-21 11:06:45 +02:00
John Preston
5e3734d7bf ReportSpamPanel -> HistoryView::ContactStatus. 2019-06-21 11:06:45 +02:00
John Preston
30dea3a2e7 Use isConstant bool instead of ContactStatus enum. 2019-06-21 11:06:45 +02:00
John Preston
14b82698f8 Update API scheme to layer 102. 2019-06-21 11:06:44 +02:00
John Preston
37df26fc34 QtLottie: Fix easing curve segment selection. 2019-06-19 15:16:59 +02:00
John Preston
42798d466f Fix crash in theme changing. 2019-06-19 15:16:59 +02:00
John Preston
9ca4f0975a Use 'ms' restriction tag for Windows Store build. 2019-06-18 15:45:09 +02:00
John Preston
26da5c5339 Beta version 1.7.8.
- Hide archived chats in the main menu.
- See who is online straight from the chat list.
- Apply formatting to selected text parts
from the MacBook Pro TouchBar.
2019-06-17 18:35:03 +02:00
John Preston
d0b86e1229 Optimize online dots + add animations. 2019-06-17 18:13:05 +02:00
John Preston
61c66994a2 Optimize online dot painting. 2019-06-17 16:33:28 +02:00
John Preston
034bee8fc3 Optimize Folder::paintUserpic. 2019-06-17 15:30:46 +02:00
23rd
734ecc070b Refactored skipping of rows in Dialogs::InnerWidget. 2019-06-17 15:30:46 +02:00
23rd
ece315f3c5 Added ability to move archive in main menu.
- Added Folder::paintUserpic overload for custom color.
 - Reduced size of _cloudButton.
2019-06-17 15:30:46 +02:00
23rd
484ecffb66 Slightly refactored touchbar. 2019-06-17 14:36:25 +02:00
23rd
77a216cbca Added online badges to touchbar. 2019-06-17 14:36:19 +02:00
23rd
d9426413dd Added online badges to chats list. 2019-06-17 14:36:14 +02:00
23rd
859cfe4cbb Added formatting buttons to touchbar. 2019-06-17 14:35:51 +02:00
23rd
d4976dda6c Migrated Appveyor CI build to VS2019. 2019-06-17 14:32:12 +02:00
John Preston
e7c40ff2a8 Return 'View info' to right-click menu. 2019-06-17 14:28:16 +02:00
John Preston
90ecec1d2e Add more assertions in online update. 2019-06-17 14:23:50 +02:00
John Preston
d9e93fb5cc Fix possible crash in auth session destruction. 2019-06-17 14:23:50 +02:00
John Preston
e7bdcc4155 Add more assertions to animations engine. 2019-06-17 14:23:50 +02:00
John Preston
fa3bf11a7f Fix possible crash in corrupt media files. 2019-06-17 14:23:50 +02:00
John Preston
3013301a91 Version 1.7.7.
- Download video files while watching them using streaming.
- Set EOL for Windows XP / Vista and OS X 10.6 to 10.9 at September 1.
2019-06-10 10:21:15 +02:00
John Preston
96acecc35b Remove newline in support mode message edit. 2019-06-08 18:19:20 +03:00
John Preston
f8d900d7fb Fix freezes in support mode message edit. 2019-06-08 18:19:20 +03:00
John Preston
ce760f0534 Comment out App type in SpecialConfigRequest. 2019-06-07 18:43:06 +03:00
John Preston
1225c9194a Fix window title on Windows 7.
Regression was introduced in dd68c7e90.

Fixes #6106.
2019-06-07 14:46:07 +03:00
John Preston
abfe685697 Beta version 1.7.6.
- Bug fixes and other minor improvements.
2019-06-06 16:08:46 +03:00
John Preston
37ff1bde31 QtLottie: Fix spatial property interpolation. 2019-06-06 16:04:10 +03:00
John Preston
b674003868 Fix build for Xcode. 2019-06-06 15:07:34 +03:00
John Preston
0868a9f7b9 Use Controller::account in MainWindow. 2019-06-06 14:59:00 +03:00
John Preston
1e861f79f0 Use range-v3 0.5.0 in instructions.
Fixes #6097.
2019-06-06 14:48:20 +03:00
23rd
ae3fae44b2 Fix build on macOS. 2019-06-06 14:21:31 +03:00
John Preston
dd68c7e90d Use Window::Controller to manage MainWindow. 2019-06-06 14:20:21 +03:00
John Preston
a547f80ae9 Rename Window::Controller to Window::SessionController. 2019-06-06 13:21:40 +03:00
John Preston
263bbf1788 Move _authSession to Main::Account. 2019-06-06 12:37:12 +03:00
John Preston
94c4ea6174 Access _authSession through activeAccount(). 2019-06-05 23:41:51 +03:00
John Preston
bd2e1ceb02 Wrap AuthSession in a new Main::Account object. 2019-06-05 22:47:54 +03:00
John Preston
8c67a4b991 Strip auto-hashtag in support mode message editing. 2019-06-05 21:40:21 +03:00
John Preston
126ffc8769 Show user profile from Removed Users. 2019-06-05 21:30:34 +03:00
John Preston
4379fa2297 Handle PHONE_NUMBER_BANNED in ChangePhoneBox. 2019-06-05 20:43:33 +03:00
John Preston
b9bd937aaa Treat url auth button as an url button. 2019-06-05 20:42:10 +03:00
John Preston
351ba3a912 Allow adding bots as admins when creating a channel. 2019-06-05 20:15:17 +03:00
John Preston
c2b2236e64 Show error-by-privacy in adding user as admin. 2019-06-05 19:47:08 +03:00
John Preston
6f4e31c9c3 Allow resending auth code in case of FLOOD_WAIT error. 2019-06-05 18:50:42 +03:00
John Preston
1290cda830 Fix theme preview layout. 2019-06-05 18:42:46 +03:00
John Preston
a27a80351a Fix clearing history with local messages. 2019-06-05 18:15:49 +03:00
John Preston
e53f4a5450 Close streamed video on Escape. 2019-06-05 17:54:12 +03:00
John Preston
65b949d36b Fix crash in lottie animations. 2019-06-05 17:49:12 +03:00
John Preston
a8d3951116 Beta version 1.7.5.
- Crash fix.
2019-06-05 15:15:50 +03:00
John Preston
f91e11efc9 Fix crash in absent file reading. 2019-06-05 14:27:33 +03:00
23rd
ed7a88ca17 Fixed display of update checking when autoupdate is toggled. 2019-06-05 01:09:31 +03:00
John Preston
dcdaee3db2 Beta version 1.7.4: Fix build for Xcode. 2019-06-04 21:13:47 +03:00
John Preston
c7b1683f6e Beta version 1.7.4: Use loadedInMediaCache for songs. 2019-06-04 18:59:26 +03:00
John Preston
961fd1dbab Beta version 1.7.4.
- Download video files while watching them using streaming.
- Set EOL for Windows XP / Vista and OS X 10.6 to 10.9 at September 1.
2019-06-04 18:59:05 +03:00
John Preston
2f963d7f12 Fix default broadcast notification settings. 2019-06-04 16:40:24 +03:00
John Preston
5be9ce0cf0 Update some icons. 2019-06-04 16:30:39 +03:00
John Preston
04e3b250e7 Keep track of fully cached media files. 2019-06-04 14:30:44 +03:00
John Preston
2255eb2c68 Show loaded till in playback slider. 2019-06-04 14:30:44 +03:00
John Preston
0ce5405eef Show download progress in playback controls. 2019-06-04 14:30:43 +03:00
John Preston
46d8d9f97a Remove CancelledFileLoader hack. 2019-06-04 14:30:43 +03:00
John Preston
274fed3cb0 Move several fields to bit flags in DocumentData. 2019-06-04 14:30:43 +03:00
John Preston
021ada5e9e Hide save button in media viewer when downloading. 2019-06-04 14:30:43 +03:00
John Preston
6f2a04e5ae Add ordering to file location types. 2019-06-04 14:30:43 +03:00
John Preston
eb438e35ee Remove old download priority arguments. 2019-06-04 14:30:43 +03:00
John Preston
b2895a39ed Register streaming loaders in Storage::Downloader. 2019-06-04 14:30:43 +03:00
John Preston
cca906d383 Use ready parts from loader in streaming. 2019-06-04 14:30:43 +03:00
John Preston
8704f6efd0 Use simple loader for non-streamable file types. 2019-06-04 14:30:43 +03:00
John Preston
e1114530ab Working code for streaming downloader. 2019-06-04 14:30:43 +03:00
John Preston
27018d94ee Load file parts even when not streaming. 2019-06-04 14:30:43 +03:00
John Preston
1ee4dac4f3 Parse cache entries async. 2019-06-04 14:30:43 +03:00
John Preston
fe15ee742d Track in Reader if it is used in streaming. 2019-06-04 14:30:43 +03:00
John Preston
ebf2a678b1 Use a special FileLoader for streamed documents. 2019-06-04 14:30:43 +03:00
John Preston
8c0cd9b9e9 Prepare Media::Streaming::Reader to be shared. 2019-06-04 14:30:43 +03:00
John Preston
8e15e71fd5 Set EOL for OS X 10.6-10.9 version at September 1. 2019-06-04 14:29:35 +03:00
John Preston
1fb529803e Add an 'Update your OS' top bar.
Set EOL for Windows XP / Vista version at September 1, 2019.
2019-06-04 14:28:13 +03:00
John Preston
3355e6da0c Use 0.5.0 version of range-v3. 2019-06-04 14:23:14 +03:00
John Preston
1331e7089e Try building snap version with GCC 8. 2019-06-04 14:23:14 +03:00
John Preston
9c613fe2f7 Move system versions to platform/platform_info. 2019-06-04 14:23:14 +03:00
23rd
0467401635 Fixed missing bracket in Qt patch. 2019-06-03 21:01:11 +03:00
John Preston
4fd6a85861 Add app manifest for Windows version. 2019-06-03 16:20:59 +03:00
John Preston
3d38abce97 Differentiate Windows Store and Mac Store. 2019-06-03 13:54:25 +03:00
John Preston
271d929ad6 Use VersionHelper API for Windows version. 2019-06-03 13:48:57 +03:00
paulkim3151
ef364e998f Enable to handle .pptx .xlsx .docx extensions 2019-06-03 13:48:49 +03:00
John Preston
53ba300d7e Version 1.7.3: Fix checkbox in url auth. 2019-06-01 12:44:13 +03:00
John Preston
caf1af8963 Version 1.7.3: Fix possible stack overflow. 2019-06-01 12:30:45 +03:00
John Preston
9fce11b672 Version 1.7.3.
- Bug fixes and other minor improvements.
2019-06-01 11:29:58 +03:00
John Preston
f7cb38c36a Allow admins to see the linked chat. 2019-06-01 11:27:05 +03:00
John Preston
d7ab7aed62 Fix crash in unlinking discussion group. 2019-06-01 11:13:40 +03:00
1401 changed files with 80717 additions and 138382 deletions

View File

@@ -1,89 +0,0 @@
@echo off
IF "%BUILD_DIR%"=="" SET BUILD_DIR=C:\TBuild
SET LIB_DIR=%BUILD_DIR%\Libraries
SET SRC_DIR=%BUILD_DIR%\tdesktop
SET QT_VERSION=5_6_2
call:configureBuild
call:getDependencies
call:setupGYP
cd %SRC_DIR%
echo Finished!
GOTO:EOF
:: FUNCTIONS
:logInfo
echo [INFO] %~1
GOTO:EOF
:logError
echo [ERROR] %~1
GOTO:EOF
:getDependencies
call:logInfo "Clone dependencies repository"
git clone -q --depth 1 --branch=master https://github.com/telegramdesktop/dependencies_windows.git %LIB_DIR%
cd %LIB_DIR%
git clone https://github.com/ericniebler/range-v3
cd range-v3
git checkout 0.5.0
cd ..
if exist prepare.bat (
call prepare.bat
) else (
call:logError "Error cloning dependencies, trying again"
rmdir %LIB_DIR% /S /Q
call:getDependencies
)
GOTO:EOF
:setupGYP
call:logInfo "Setup GYP/Ninja and generate VS solution"
cd %LIB_DIR%
git clone https://chromium.googlesource.com/external/gyp
cd gyp
git checkout a478c1ab51
SET PATH=%PATH%;%BUILD_DIR%\Libraries\gyp;%BUILD_DIR%\Libraries\ninja;
cd %SRC_DIR%
git submodule init
git submodule update
cd %SRC_DIR%\Telegram
call gyp\refresh.bat --api-id 17349 --api-hash 344583e45741c457fe1862106095a5eb
GOTO:EOF
:configureBuild
call:logInfo "Configuring build"
call:logInfo "Build version: %BUILD_VERSION%"
set TDESKTOP_BUILD_DEFINES=
echo %BUILD_VERSION% | findstr /C:"disable_register_custom_scheme">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME
)
echo %BUILD_VERSION% | findstr /C:"disable_crash_reports">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_CRASH_REPORTS
)
echo %BUILD_VERSION% | findstr /C:"disable_network_proxy">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_NETWORK_PROXY
)
echo %BUILD_VERSION% | findstr /C:"disable_desktop_file_generation">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION
)
echo %BUILD_VERSION% | findstr /C:"disable_gtk_integration">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_GTK_INTEGRATION
)
if not "%TDESKTOP_BUILD_DEFINES%" == "" (
set "TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES:~1%"
)
call:logInfo "Build Defines: %TDESKTOP_BUILD_DEFINES%"
GOTO:EOF

View File

@@ -1,8 +1,14 @@
---
name: Bug report
about: Report errors or unexpected behavior.
---
<!--
Thanks for reporting issues of Telegram Desktop!
To make it easier for us to help you please enter detailed information below.
-->
-->
### Steps to reproduce
1.
2.

View File

@@ -0,0 +1,18 @@
---
name: Feature request
about: Suggest an idea.
title: "[Feature Request] "
---
### Is your feature request related to a problem?
A clear and concise description of what the problem is.
### Describe the solution you'd like
A clear and concise description of what you want to happen.
### Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
### Additional context
Add any other context or screenshots about the feature request here.

8
.github/ISSUE_TEMPLATE/QUESTION.md vendored Normal file
View File

@@ -0,0 +1,8 @@
---
name: Question
about: Ask a question.
title: "[Question] "
labels: 'question'
assignees: ''
---

103
.github/workflows/issue_closer.yml vendored Normal file
View File

@@ -0,0 +1,103 @@
name: Issue closer.
on:
issues:
types: opened
jobs:
comment:
runs-on: ubuntu-latest
steps:
- name: Get the latest version.
run: |
tag=$(git ls-remote --tags git://github.com/$GITHUB_REPOSITORY | cut -f 2 | tail -n1)
echo $tag
echo ::set-env name=LATEST_TAG::$tag
- name: Check a version from an issue.
uses: actions/github-script@0.4.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
let errorStr = "Version not found.";
let item1 = "Version of Telegram Desktop";
let item2 = "Used theme";
let body = context.payload.issue.body;
console.log("Body of issue:\n" + body);
let index1 = body.indexOf(item1);
let index2 = body.indexOf(item2);
index2 = (index2 == -1) ? Number.MAX_SAFE_INTEGER : index2;
console.log("Index 1: " + index1);
console.log("Index 2: " + index2);
if (index1 == -1) {
console.log(errorStr);
return;
}
function parseVersion(str) {
let pattern = /[0-9]\.[0-9][0-9.]{0,}/g;
return str.match(pattern);
}
function firstNum(version) {
return version[0].split(".")[0];
}
let issueVer = parseVersion(body.substring(index1 + item1.length, index2));
if (issueVer == undefined) {
console.log(errorStr);
return;
}
console.log("Version from issue: " + issueVer[0]);
let latestVer = parseVersion(process.env.LATEST_TAG);
if (latestVer == undefined) {
console.log(errorStr);
return;
}
console.log("Version from tags: " + latestVer[0]);
let issueNum = firstNum(issueVer);
let latestNum = firstNum(latestVer);
if (issueNum <= latestNum && issueNum < 5) {
console.log("Seems the version of this issue is fine!");
return;
}
let message = `
Sorry, but according to the version you specify in this issue, \
you are using the [Telegram for macOS](https://macos.telegram.org), \
not the [Telegram Desktop](https://desktop.telegram.org).
You can report your issue to [the group](https://t.me/macswift) \
or to [the repository of Telegram for macOS](https://github.com/overtake/TelegramSwift).
If I made a mistake and closed your issue wrongly, please reopen it. Thanks!
`;
let params = {
owner: context.issue.owner,
repo: context.issue.repo,
issue_number: context.issue.number
};
github.issues.createComment({
...params,
body: message
});
github.issues.addLabels({
...params,
labels: ['TG macOS Swift']
});
github.issues.update({
...params,
state: 'closed'
});

492
.github/workflows/linux.yml vendored Normal file
View File

@@ -0,0 +1,492 @@
name: Linux.
on:
push:
paths-ignore:
- 'docs/**'
- '*.md'
pull_request:
paths-ignore:
- 'docs/**'
- '*.md'
jobs:
linux:
name: Ubuntu 14.04
runs-on: ubuntu-latest
container: ubuntu:trusty
strategy:
matrix:
defines:
- ""
env:
GIT: "https://github.com"
QT: "5_12_5"
QT_PREFIX: "/usr/local/desktop-app/Qt-5.12.5"
OPENSSL_VER: "1_1_1"
OPENSSL_PREFIX: "/usr/local/desktop-app/openssl-1.1.1"
CMAKE_VER: "3.16.3"
UPLOAD_ARTIFACT: "false"
ONLY_CACHE: "false"
MANUAL_CACHING: "5"
DOC_PATH: "docs/building-cmake.md"
steps:
- name: Get repository name.
run: echo ::set-env name=REPO_NAME::${GITHUB_REPOSITORY##*/}
- name: Clone.
uses: actions/checkout@v1
with:
submodules: recursive
- name: First set up.
run: |
cd ..
mv $REPO_NAME temp
mkdir $REPO_NAME
mv temp $REPO_NAME/$REPO_NAME
cd $REPO_NAME
sudo apt-get update
sudo apt-get install software-properties-common -y && \
sudo apt-get install git libexif-dev liblzma-dev libz-dev libssl-dev \
libgtk2.0-dev libice-dev libsm-dev libicu-dev libdrm-dev dh-autoreconf \
autoconf automake build-essential libass-dev libfreetype6-dev \
libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \
libvorbis-dev libenchant-dev libxcb1-dev libxcb-image0-dev libxcb-shm0-dev \
libxcb-xfixes0-dev libxcb-keysyms1-dev libxcb-icccm4-dev libatspi2.0-dev \
libxcb-render-util0-dev libxcb-util0-dev libxcb-xkb-dev libxrender-dev \
libasound-dev libpulse-dev libxcb-sync0-dev libxcb-randr0-dev bison \
libx11-xcb-dev libffi-dev libncurses5-dev pkg-config texi2html yasm \
zlib1g-dev xutils-dev python-xcbgen chrpath gperf wget -y --force-yes && \
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
sudo apt-get update && \
sudo apt-get install gcc-8 g++-8 -y && \
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60 && \
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 60 && \
sudo update-alternatives --config gcc && \
sudo add-apt-repository --remove ppa:ubuntu-toolchain-r/test -y
gcc --version
gcc --version > CACHE_KEY.txt
echo $MANUAL_CACHING >> CACHE_KEY.txt
md5cache=$(md5sum CACHE_KEY.txt | cut -c -32)
echo ::set-env name=CACHE_KEY::$md5cache
mkdir -p Libraries
cd Libraries
echo ::set-env name=LibrariesPath::`pwd`
- name: Range-v3.
run: |
echo "Find necessary branch from doc."
cloneRange=$(grep -A 1 "range-v3" $REPO_NAME/$DOC_PATH | sed -n 1p)
cd $LibrariesPath
echo $cloneRange
eval $cloneRange
- name: Patches.
run: |
echo "Find necessary commit from doc."
checkoutCommit=$(grep -A 1 "cd patches" $REPO_NAME/$DOC_PATH | sed -n 2p)
cd $LibrariesPath
git clone $GIT/desktop-app/patches.git
cd patches
eval $checkoutCommit
- name: CMake.
run: |
cd $LibrariesPath
file=cmake-$CMAKE_VER-Linux-x86_64.sh
wget $GIT/Kitware/CMake/releases/download/v$CMAKE_VER/$file
sudo mkdir /opt/cmake
sudo sh $file --prefix=/opt/cmake --skip-license
sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
cmake --version
- name: Opus cache.
id: cache-opus
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/opus
key: ${{ runner.OS }}-opus-${{ env.CACHE_KEY }}
- name: Opus.
if: steps.cache-opus.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git clone $GIT/xiph/opus
cd opus
git checkout v1.3
./autogen.sh
./configure
make -j$(nproc)
- name: Opus install.
run: |
cd $LibrariesPath/opus
sudo make install
- name: Libva.
run: |
cd $LibrariesPath
git clone $GIT/01org/libva.git
cd libva
./autogen.sh --enable-static
make -j$(nproc)
sudo make install
- name: Libvdpau.
run: |
cd $LibrariesPath
git clone https://gitlab.freedesktop.org/vdpau/libvdpau.git --depth=1 -b libvdpau-1.2
cd libvdpau
./autogen.sh --enable-static
make -j$(nproc)
sudo make install
- name: FFmpeg cache.
id: cache-ffmpeg
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/ffmpeg-cache
key: ${{ runner.OS }}-ffmpeg-${{ env.CACHE_KEY }}
- name: FFmpeg build.
if: steps.cache-ffmpeg.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git clone --branch release/3.4 $GIT/FFmpeg/FFmpeg ffmpeg
cd ffmpeg
./configure --prefix=$LibrariesPath/ffmpeg-cache \
--enable-protocol=file --enable-libopus \
--disable-programs \
--disable-doc \
--disable-network \
--disable-everything \
--enable-hwaccel=h264_vaapi \
--enable-hwaccel=h264_vdpau \
--enable-hwaccel=mpeg4_vaapi \
--enable-hwaccel=mpeg4_vdpau \
--enable-decoder=aac \
--enable-decoder=aac_at \
--enable-decoder=aac_fixed \
--enable-decoder=aac_latm \
--enable-decoder=aasc \
--enable-decoder=alac \
--enable-decoder=alac_at \
--enable-decoder=flac \
--enable-decoder=gif \
--enable-decoder=h264 \
--enable-decoder=h264_vdpau \
--enable-decoder=hevc \
--enable-decoder=mp1 \
--enable-decoder=mp1float \
--enable-decoder=mp2 \
--enable-decoder=mp2float \
--enable-decoder=mp3 \
--enable-decoder=mp3adu \
--enable-decoder=mp3adufloat \
--enable-decoder=mp3float \
--enable-decoder=mp3on4 \
--enable-decoder=mp3on4float \
--enable-decoder=mpeg4 \
--enable-decoder=mpeg4_vdpau \
--enable-decoder=msmpeg4v2 \
--enable-decoder=msmpeg4v3 \
--enable-decoder=opus \
--enable-decoder=pcm_alaw \
--enable-decoder=pcm_alaw_at \
--enable-decoder=pcm_f32be \
--enable-decoder=pcm_f32le \
--enable-decoder=pcm_f64be \
--enable-decoder=pcm_f64le \
--enable-decoder=pcm_lxf \
--enable-decoder=pcm_mulaw \
--enable-decoder=pcm_mulaw_at \
--enable-decoder=pcm_s16be \
--enable-decoder=pcm_s16be_planar \
--enable-decoder=pcm_s16le \
--enable-decoder=pcm_s16le_planar \
--enable-decoder=pcm_s24be \
--enable-decoder=pcm_s24daud \
--enable-decoder=pcm_s24le \
--enable-decoder=pcm_s24le_planar \
--enable-decoder=pcm_s32be \
--enable-decoder=pcm_s32le \
--enable-decoder=pcm_s32le_planar \
--enable-decoder=pcm_s64be \
--enable-decoder=pcm_s64le \
--enable-decoder=pcm_s8 \
--enable-decoder=pcm_s8_planar \
--enable-decoder=pcm_u16be \
--enable-decoder=pcm_u16le \
--enable-decoder=pcm_u24be \
--enable-decoder=pcm_u24le \
--enable-decoder=pcm_u32be \
--enable-decoder=pcm_u32le \
--enable-decoder=pcm_u8 \
--enable-decoder=pcm_zork \
--enable-decoder=vorbis \
--enable-decoder=wavpack \
--enable-decoder=wmalossless \
--enable-decoder=wmapro \
--enable-decoder=wmav1 \
--enable-decoder=wmav2 \
--enable-decoder=wmavoice \
--enable-encoder=libopus \
--enable-parser=aac \
--enable-parser=aac_latm \
--enable-parser=flac \
--enable-parser=h264 \
--enable-parser=hevc \
--enable-parser=mpeg4video \
--enable-parser=mpegaudio \
--enable-parser=opus \
--enable-parser=vorbis \
--enable-demuxer=aac \
--enable-demuxer=flac \
--enable-demuxer=gif \
--enable-demuxer=h264 \
--enable-demuxer=hevc \
--enable-demuxer=m4v \
--enable-demuxer=mov \
--enable-demuxer=mp3 \
--enable-demuxer=ogg \
--enable-demuxer=wav \
--enable-muxer=ogg \
--enable-muxer=opus
make -j$(nproc)
sudo make install
- name: FFmpeg install.
run: |
cd $LibrariesPath
#List of files from cmake/external/ffmpeg/CMakeLists.txt.
copyLib() {
mkdir -p ffmpeg/$1
yes | cp -i ffmpeg-cache/lib/$1.a ffmpeg/$1/$1.a
}
copyLib libavformat
copyLib libavcodec
copyLib libswresample
copyLib libswscale
copyLib libavutil
sudo cp -R ffmpeg-cache/. /usr/local/
- name: PortAudio.
run: |
cd $LibrariesPath
git clone https://git.assembla.com/portaudio.git
cd portaudio
git checkout 396fe4b669
./configure
make -j$(nproc)
sudo make install
- name: OpenAL Soft.
run: |
cd $LibrariesPath
git clone $GIT/kcat/openal-soft.git
cd openal-soft
git checkout openal-soft-1.19.1
cd build
cmake -D LIBTYPE:STRING=STATIC ..
make -j$(nproc)
sudo make install
- name: OpenSSL cache.
id: cache-openssl
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/openssl-cache
key: ${{ runner.OS }}-${{ env.OPENSSL_VER }}-${{ env.CACHE_KEY }}
- name: OpenSSL build.
if: steps.cache-openssl.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git clone $GIT/openssl/openssl openssl_$OPENSSL_VER
cd openssl_$OPENSSL_VER
git checkout OpenSSL_1_1_1-stable
./config --prefix=$LibrariesPath/openssl-cache
make -j$(nproc)
sudo make install
- name: OpenSSL install.
run: |
cd $LibrariesPath
sudo mkdir -p $OPENSSL_PREFIX
sudo cp -R openssl-cache/. $OPENSSL_PREFIX/
- name: Libxkbcommon.
run: |
cd $LibrariesPath
git clone $GIT/xkbcommon/libxkbcommon.git
cd libxkbcommon
git checkout xkbcommon-0.8.4
./autogen.sh
make -j$(nproc)
sudo make install
- name: Qt 5.12.5 cache.
id: cache-qt
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/qt-cache
key: ${{ runner.OS }}-qt-${{ env.CACHE_KEY }}-${{ hashFiles('**/qtbase_5_12_5.diff') }}
- name: Qt 5.12.5 build.
if: steps.cache-qt.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git clone git://code.qt.io/qt/qt5.git qt_$QT
cd qt_$QT
perl init-repository --module-subset=qtbase,qtimageformats,qtsvg
git checkout v5.12.5
git submodule update qtbase
git submodule update qtimageformats
git submodule update qtsvg
cd qtbase
git apply ../../patches/qtbase_$QT.diff
cd src/plugins/platforminputcontexts
git clone $GIT/desktop-app/fcitx.git
git clone $GIT/desktop-app/hime.git
git clone $GIT/desktop-app/nimf.git
cd ../../../..
./configure -prefix "$LibrariesPath/qt-cache" \
-release \
-force-debug-info \
-opensource \
-confirm-license \
-qt-zlib \
-qt-libpng \
-qt-libjpeg \
-qt-harfbuzz \
-qt-pcre \
-qt-xcb \
-system-freetype \
-fontconfig \
-no-opengl \
-no-gtk \
-static \
-dbus-runtime \
-openssl-linked \
-I "$OPENSSL_PREFIX/include" OPENSSL_LIBS="$OPENSSL_PREFIX/lib/libssl.a $OPENSSL_PREFIX/lib/libcrypto.a -ldl -lpthread" \
-nomake examples \
-nomake tests
make -j$(nproc)
sudo make install
- name: Qt 5.12.5 install.
run: |
cd $LibrariesPath
sudo mkdir -p $QT_PREFIX
sudo cp -R qt-cache/. $QT_PREFIX/
- name: Breakpad cache.
id: cache-breakpad
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/breakpad-cache
key: ${{ runner.OS }}-breakpad-${{ env.CACHE_KEY }}
- name: Breakpad clone.
run: |
cd $LibrariesPath
git clone https://chromium.googlesource.com/breakpad/breakpad
cd breakpad
git checkout bc8fb886
git clone https://chromium.googlesource.com/linux-syscall-support src/third_party/lss
cd src/third_party/lss
git checkout a91633d1
- name: Breakpad build.
if: steps.cache-breakpad.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
BreakpadCache=$LibrariesPath/breakpad-cache
git clone https://chromium.googlesource.com/external/gyp
cd gyp
git checkout 9f2a7bb1
git apply ../patches/gyp.diff
cd ..
cd breakpad
./configure --prefix=$BreakpadCache
make -j$(nproc)
sudo make install
cd src
rm -r testing
git clone $GIT/google/googletest testing
cd tools
sed -i 's/minidump_upload.m/minidump_upload.cc/' linux/tools_linux.gypi
../../../gyp/gyp --depth=. --generator-output=.. -Goutput_dir=../out tools.gyp --format=cmake
cd ../../out/Default
cmake .
make -j$(nproc) dump_syms
mv dump_syms $BreakpadCache/
- name: Breakpad install.
run: |
cd $LibrariesPath
sudo cp -R breakpad-cache/. /usr/local/
mkdir -p breakpad/out/Default/
cp breakpad-cache/dump_syms breakpad/out/Default/dump_syms
- name: Telegram Desktop build.
if: env.ONLY_CACHE == 'false'
run: |
cd $REPO_NAME/Telegram
DEFINE=""
if [ -n "${{ matrix.defines }}" ]; then
DEFINE="-D ${{ matrix.defines }}=ON"
echo Define from matrix: $DEFINE
fi
./configure.sh -D TDESKTOP_API_TEST=ON -D DESKTOP_APP_USE_PACKAGED=OFF $DEFINE
cd ../out/Debug
make -j$(nproc)
strip -s bin/Telegram
- name: Check.
if: env.ONLY_CACHE == 'false'
run: |
filePath="$REPO_NAME/out/Debug/bin/Telegram"
if test -f "$filePath"; then
echo "Build successfully done! :)"
size=$(stat -c %s "$filePath")
echo "File size of ${filePath}: ${size} Bytes."
else
echo "Build error, output file does not exist."
exit 1
fi
- name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true'
run: |
cd $REPO_NAME/out/Debug/bin
mkdir artifact
mv Telegram artifact/
- uses: actions/upload-artifact@master
if: env.UPLOAD_ARTIFACT == 'true'
name: Upload artifact.
with:
name: Telegram
path: ${{ env.REPO_NAME }}/out/Debug/bin/artifact/

456
.github/workflows/mac.yml vendored Normal file
View File

@@ -0,0 +1,456 @@
name: MacOS.
on:
push:
paths-ignore:
- 'docs/**'
- '*.md'
pull_request:
paths-ignore:
- 'docs/**'
- '*.md'
jobs:
macos:
name: MacOS
runs-on: macos-latest
strategy:
matrix:
defines:
- ""
env:
MIN_MAC: "-mmacosx-version-min=10.12"
UNGUARDED: "-Werror=unguarded-availability-new"
GIT: "https://github.com"
PREFIX: "/usr/local/macos"
MACOSX_DEPLOYMENT_TARGET: "10.12"
XZ: "xz-5.0.5"
QT: "5_12_5"
OPENSSL_VER: "1_1_1"
QT_PREFIX: "/usr/local/desktop-app/Qt-5.12.5"
LIBICONV_VER: "libiconv-1.15"
UPLOAD_ARTIFACT: "false"
ONLY_CACHE: "false"
MANUAL_CACHING: "2"
DOC_PATH: "docs/building-xcode.md"
steps:
- name: Get repository name.
run: echo ::set-env name=REPO_NAME::${GITHUB_REPOSITORY##*/}
- name: Clone.
uses: actions/checkout@v1
with:
submodules: recursive
- name: First set up.
run: |
cd ..
mv $REPO_NAME temp
mkdir $REPO_NAME
mv temp $REPO_NAME/$REPO_NAME
cd $REPO_NAME
brew install automake fdk-aac lame libass libtool libvorbis libvpx \
ninja opus sdl shtool texi2html theora x264 xvid yasm pkg-config
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
xcodebuild -version > CACHE_KEY.txt
echo $MIN_MAC >> CACHE_KEY.txt
echo $PREFIX >> CACHE_KEY.txt
echo $MANUAL_CACHING >> CACHE_KEY.txt
echo ::set-env name=CACHE_KEY::`md5 -q CACHE_KEY.txt`
echo ::add-path::$PWD/Libraries/depot_tools
mkdir -p Libraries/macos
cd Libraries/macos
echo ::set-env name=LibrariesPath::`pwd`
- name: Range-v3.
run: |
echo "Find necessary branch from doc."
cloneRange=$(grep -A 1 "range-v3" $REPO_NAME/$DOC_PATH | sed -n 1p)
cd $LibrariesPath
echo $cloneRange
eval $cloneRange
- name: Patches.
run: |
echo "Find necessary commit from doc."
checkoutCommit=$(grep -A 1 "cd patches" $REPO_NAME/$DOC_PATH | sed -n 2p)
cd $LibrariesPath
git clone $GIT/desktop-app/patches.git
cd Patches
eval $checkoutCommit
- name: XZ.
run: |
cd $LibrariesPath
wget https://tukaani.org/xz/$XZ.tar.gz
tar -xvzf $XZ.tar.gz
cd $XZ
CFLAGS="$MIN_MAC" LDFLAGS="$MIN_MAC" ./configure --prefix=$PREFIX
make -j$(nproc)
sudo make install
- name: Zlib.
run: |
cd $LibrariesPath
git clone $GIT/desktop-app/zlib.git
cd zlib
CFLAGS="$MIN_MAC $UNGUARDED" LDFLAGS="$MIN_MAC" ./configure --prefix=$PREFIX
make -j$(nproc)
sudo make install
- name: OpenSSL cache.
id: cache-openssl
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/openssl_${{ env.OPENSSL_VER }}
key: ${{ runner.OS }}-${{ env.OPENSSL_VER }}-${{ env.CACHE_KEY }}
- name: OpenSSL.
if: steps.cache-openssl.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git clone $GIT/openssl/openssl openssl
cd openssl
git checkout OpenSSL_"$OPENSSL_VER"-stable
./Configure \
--prefix=$PREFIX \
darwin64-x86_64-cc \
-static \
$MIN_MAC
make build_libs -j$(nproc)
SSL_DIR=$LibrariesPath/openssl_${{ env.OPENSSL_VER }}
mkdir -p $SSL_DIR/include
copyLib() {
cp $1.a $SSL_DIR/$1.a
}
copyLib libssl
copyLib libcrypto
sudo cp -R include/. $SSL_DIR/include/
- name: Opus cache.
id: cache-opus
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/opus
key: ${{ runner.OS }}-opus-${{ env.CACHE_KEY }}
- name: Opus.
if: steps.cache-opus.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git clone $GIT/xiph/opus
cd opus
git checkout v1.3
./autogen.sh
CFLAGS="$MIN_MAC $UNGUARDED" CPPFLAGS="$MIN_MAC $UNGUARDED" LDFLAGS="$MIN_MAC" ./configure --prefix=$PREFIX
make -j$(nproc)
- name: Opus install.
run: |
cd $LibrariesPath/opus
sudo make install
- name: Libiconv cache.
id: cache-libiconv
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/${{ env.LIBICONV_VER }}
key: ${{ runner.OS }}-${{ env.LIBICONV_VER }}-${{ env.CACHE_KEY }}
- name: Libiconv.
if: steps.cache-libiconv.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
wget https://ftp.gnu.org/pub/gnu/libiconv/"$LIBICONV_VER".tar.gz
tar -xvzf "$LIBICONV_VER".tar.gz
cd $LIBICONV_VER
CFLAGS="$MIN_MAC $UNGUARDED" CPPFLAGS="$MIN_MAC $UNGUARDED" LDFLAGS="$MIN_MAC" ./configure --enable-static --prefix=$PREFIX
make -j$(nproc)
- name: Libiconv install.
run: |
cd $LibrariesPath/$LIBICONV_VER
sudo make install
- name: FFmpeg cache.
id: cache-ffmpeg
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/ffmpeg-cache
key: ${{ runner.OS }}-ffmpeg-${{ env.CACHE_KEY }}
- name: FFmpeg.
if: steps.cache-ffmpeg.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git clone $GIT/FFmpeg/FFmpeg.git ffmpeg
cd ffmpeg
git checkout release/3.4
CFLAGS=`freetype-config --cflags`
LDFLAGS=`freetype-config --libs`
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/X11/lib/pkgconfig
./configure --prefix=$LibrariesPath/ffmpeg-cache \
--extra-cflags="$MIN_MAC $UNGUARDED" \
--extra-cxxflags="$MIN_MAC $UNGUARDED" \
--extra-ldflags="$MIN_MAC" \
--enable-protocol=file --enable-libopus \
--disable-programs \
--disable-doc \
--disable-network \
--disable-everything \
--enable-hwaccel=h264_videotoolbox \
--enable-hwaccel=hevc_videotoolbox \
--enable-hwaccel=mpeg1_videotoolbox \
--enable-hwaccel=mpeg2_videotoolbox \
--enable-hwaccel=mpeg4_videotoolbox \
--enable-decoder=aac \
--enable-decoder=aac_at \
--enable-decoder=aac_fixed \
--enable-decoder=aac_latm \
--enable-decoder=aasc \
--enable-decoder=alac \
--enable-decoder=alac_at \
--enable-decoder=flac \
--enable-decoder=gif \
--enable-decoder=h264 \
--enable-decoder=hevc \
--enable-decoder=mp1 \
--enable-decoder=mp1float \
--enable-decoder=mp2 \
--enable-decoder=mp2float \
--enable-decoder=mp3 \
--enable-decoder=mp3adu \
--enable-decoder=mp3adufloat \
--enable-decoder=mp3float \
--enable-decoder=mp3on4 \
--enable-decoder=mp3on4float \
--enable-decoder=mpeg4 \
--enable-decoder=msmpeg4v2 \
--enable-decoder=msmpeg4v3 \
--enable-decoder=opus \
--enable-decoder=pcm_alaw \
--enable-decoder=pcm_alaw_at \
--enable-decoder=pcm_f32be \
--enable-decoder=pcm_f32le \
--enable-decoder=pcm_f64be \
--enable-decoder=pcm_f64le \
--enable-decoder=pcm_lxf \
--enable-decoder=pcm_mulaw \
--enable-decoder=pcm_mulaw_at \
--enable-decoder=pcm_s16be \
--enable-decoder=pcm_s16be_planar \
--enable-decoder=pcm_s16le \
--enable-decoder=pcm_s16le_planar \
--enable-decoder=pcm_s24be \
--enable-decoder=pcm_s24daud \
--enable-decoder=pcm_s24le \
--enable-decoder=pcm_s24le_planar \
--enable-decoder=pcm_s32be \
--enable-decoder=pcm_s32le \
--enable-decoder=pcm_s32le_planar \
--enable-decoder=pcm_s64be \
--enable-decoder=pcm_s64le \
--enable-decoder=pcm_s8 \
--enable-decoder=pcm_s8_planar \
--enable-decoder=pcm_u16be \
--enable-decoder=pcm_u16le \
--enable-decoder=pcm_u24be \
--enable-decoder=pcm_u24le \
--enable-decoder=pcm_u32be \
--enable-decoder=pcm_u32le \
--enable-decoder=pcm_u8 \
--enable-decoder=pcm_zork \
--enable-decoder=vorbis \
--enable-decoder=wavpack \
--enable-decoder=wmalossless \
--enable-decoder=wmapro \
--enable-decoder=wmav1 \
--enable-decoder=wmav2 \
--enable-decoder=wmavoice \
--enable-encoder=libopus \
--enable-parser=aac \
--enable-parser=aac_latm \
--enable-parser=flac \
--enable-parser=h264 \
--enable-parser=hevc \
--enable-parser=mpeg4video \
--enable-parser=mpegaudio \
--enable-parser=opus \
--enable-parser=vorbis \
--enable-demuxer=aac \
--enable-demuxer=flac \
--enable-demuxer=gif \
--enable-demuxer=h264 \
--enable-demuxer=hevc \
--enable-demuxer=m4v \
--enable-demuxer=mov \
--enable-demuxer=mp3 \
--enable-demuxer=ogg \
--enable-demuxer=wav \
--enable-muxer=ogg \
--enable-muxer=opus
make -j$(nproc)
sudo make install
- name: FFmpeg install.
run: |
cd $LibrariesPath
#List of files from cmake/external/ffmpeg/CMakeLists.txt.
copyLib() {
mkdir -p ffmpeg/$1
\cp -fR ffmpeg-cache/lib/$1.a ffmpeg/$1/$1.a
}
copyLib libavformat
copyLib libavcodec
copyLib libswresample
copyLib libswscale
copyLib libavutil
sudo cp -R ffmpeg-cache/. /usr/local/
sudo cp -R ffmpeg-cache/include/. ffmpeg/
- name: OpenAL Soft.
run: |
cd $LibrariesPath
git clone $GIT/kcat/openal-soft.git
cd openal-soft
git checkout openal-soft-1.19.1
cd build
CFLAGS="$UNGUARDED" CPPFLAGS="$UNGUARDED" cmake \
-D CMAKE_INSTALL_PREFIX:PATH=$PREFIX \
-D ALSOFT_EXAMPLES=OFF \
-D LIBTYPE:STRING=STATIC \
-D CMAKE_OSX_DEPLOYMENT_TARGET:STRING=$MACOSX_DEPLOYMENT_TARGET ..
make -j$(nproc)
sudo make install
- name: Crashpad cache.
id: cache-crashpad
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/crashpad
key: ${{ runner.OS }}-crashpad-${{ env.CACHE_KEY }}-${{ hashFiles('**/crashpad.diff') }}-${{ hashFiles('**/mini_chromium.diff') }}
- name: Crashpad.
if: steps.cache-crashpad.outputs.cache-hit != 'true'
run: |
cd Libraries
echo Install GYP for Crashpad.
git clone https://chromium.googlesource.com/external/gyp
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
cd gyp
git checkout 9f2a7bb1
git apply $LibrariesPath/patches/gyp.diff
./setup.py build
sudo ./setup.py install
cd $LibrariesPath
git clone https://chromium.googlesource.com/crashpad/crashpad.git
cd crashpad
git checkout feb3aa3923
git apply ../patches/crashpad.diff
cd third_party/mini_chromium
git clone https://chromium.googlesource.com/chromium/mini_chromium
cd mini_chromium
git checkout 7c5b0c1ab4
git apply ../../../../patches/mini_chromium.diff
cd ../../gtest
git clone https://chromium.googlesource.com/external/github.com/google/googletest gtest
cd gtest
git checkout d62d6c6556
cd ../../..
build/gyp_crashpad.py -Dmac_deployment_target=10.10
ninja -C out/Debug
- name: Qt 5.12.5 cache.
id: cache-qt
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/qt-cache
key: ${{ runner.OS }}-qt-${{ env.CACHE_KEY }}-${{ hashFiles('**/qtbase_5_12_5.diff') }}
- name: Use cached Qt 5.12.5.
if: steps.cache-qt.outputs.cache-hit == 'true'
run: |
cd $LibrariesPath
mv qt-cache Qt-5.12.5
sudo mkdir -p $QT_PREFIX
sudo mv -f Qt-5.12.5 "$(dirname "$QT_PREFIX")"/
- name: Qt 5.12.5 build.
if: steps.cache-qt.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git clone git://code.qt.io/qt/qt5.git qt$QT
cd qt$QT
perl init-repository --module-subset=qtbase,qtimageformats
git checkout v5.12.5
git submodule update qtbase
git submodule update qtimageformats
cd qtbase
git apply ../../patches/qtbase_$QT.diff
cd ..
./configure \
-prefix "$QT_PREFIX" \
-debug \
-force-debug-info \
-opensource \
-confirm-license \
-static \
-opengl desktop \
-no-openssl \
-securetransport \
-nomake examples \
-nomake tests \
-platform macx-clang
make -j$(nproc)
sudo make install
make clean
cp -r $QT_PREFIX $LibrariesPath/qt-cache
- name: Telegram Desktop build.
if: env.ONLY_CACHE == 'false'
run: |
cd $REPO_NAME/Telegram
DEFINE=""
if [ -n "${{ matrix.defines }}" ]; then
DEFINE="-D ${{ matrix.defines }}=ON"
echo Define from matrix: $DEFINE
fi
./configure.sh -D TDESKTOP_API_TEST=ON -D DESKTOP_APP_USE_PACKAGED=OFF $DEFINE
cd ../out
xcoderun='xcodebuild build -project Telegram.xcodeproj -scheme Telegram -destination "platform=macOS,arch=x86_64" -configuration Debug'
bash -c "$xcoderun" || bash -c "$xcoderun" || bash -c "$xcoderun"
- name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true'
run: |
cd $REPO_NAME/out/Debug
mkdir artifact
mv Telegram.app artifact/
mv Updater artifact/
- uses: actions/upload-artifact@master
if: env.UPLOAD_ARTIFACT == 'true'
name: Upload artifact.
with:
name: Telegram
path: ${{ env.REPO_NAME }}/out/Debug/artifact/

99
.github/workflows/snap.yml vendored Normal file
View File

@@ -0,0 +1,99 @@
name: Snap.
on:
push:
paths-ignore:
- 'docs/**'
- '*.md'
pull_request:
paths-ignore:
- 'docs/**'
- '*.md'
jobs:
linux:
name: Ubuntu 18.04
runs-on: ubuntu-18.04
env:
UPLOAD_ARTIFACT: "false"
ONLY_CACHE: "false"
MANUAL_CACHING: "3"
steps:
- name: Clone.
uses: actions/checkout@v1
with:
submodules: recursive
- name: First set up.
run: |
sudo apt-get update
sudo apt-get install gcc-8 g++-8 -y
sudo snap install --classic snapcraft
# Workaround for snapcraft
# See https://forum.snapcraft.io/t/permissions-problem-using-snapcraft-in-azure-pipelines/13258
sudo chown root:root /
snapcraft --version > CACHE_KEY.txt
gcc-8 --version >> CACHE_KEY.txt
echo $MANUAL_CACHING >> CACHE_KEY.txt
md5cache=$(md5sum CACHE_KEY.txt | cut -c -32)
echo ::set-env name=CACHE_KEY::$md5cache
awk -v RS="" -v ORS="\n\n" '/^ cmake:/' snap/snapcraft.yaml > CMAKE_CACHE_KEY.txt
md5cache=$(md5sum CMAKE_CACHE_KEY.txt | cut -c -32)
echo ::set-env name=CMAKE_CACHE_KEY::$md5cache
awk -v RS="" -v ORS="\n\n" '/^ enchant:/' snap/snapcraft.yaml > ENCHANT_CACHE_KEY.txt
md5cache=$(md5sum ENCHANT_CACHE_KEY.txt | cut -c -32)
echo ::set-env name=ENCHANT_CACHE_KEY::$md5cache
- name: CMake cache.
id: cache-cmake
uses: actions/cache@v1
with:
path: parts/cmake
key: ${{ runner.OS }}-cmake-${{ env.CACHE_KEY }}-${{ env.CMAKE_CACHE_KEY }}
- name: CMake build.
if: steps.cache-cmake.outputs.cache-hit != 'true'
run: snapcraft build --destructive-mode cmake
- name: Enchant cache.
id: cache-enchant
uses: actions/cache@v1
with:
path: parts/enchant
key: ${{ runner.OS }}-enchant-${{ env.CACHE_KEY }}-${{ env.ENCHANT_CACHE_KEY }}
- name: Enchant build.
if: steps.cache-enchant.outputs.cache-hit != 'true'
run: snapcraft build --destructive-mode enchant
- name: Telegram Desktop snap build.
if: env.ONLY_CACHE == 'false'
run: snapcraft --destructive-mode
- name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true'
run: |
artifact_name=$(echo telegram-desktop_*.snap)
echo ::set-env name=ARTIFACT_NAME::$artifact_name
mkdir artifact
mv $artifact_name artifact
- uses: actions/upload-artifact@master
if: env.UPLOAD_ARTIFACT == 'true'
name: Upload artifact.
with:
name: ${{ env.ARTIFACT_NAME }}
path: artifact
- name: Remove unneeded directories for cache.
run: |
rm -rf parts/{cmake,enchant}/{build,src,ubuntu}
rm -rf parts/{cmake,enchant}/state/{stage,prime}

357
.github/workflows/win.yml vendored Normal file
View File

@@ -0,0 +1,357 @@
name: Windows.
on:
push:
paths-ignore:
- 'docs/**'
- '*.md'
pull_request:
paths-ignore:
- 'docs/**'
- '*.md'
jobs:
windows:
name: Windows
runs-on: windows-latest
strategy:
matrix:
defines:
- ""
env:
SDK: "10.0.18362.0"
VC: "call vcvars32.bat && cd Libraries"
GIT: "https://github.com"
QT: "5_12_5"
OPENSSL_VER: "1_1_1"
UPLOAD_ARTIFACT: "false"
ONLY_CACHE: "false"
MANUAL_CACHING: "2"
DOC_PATH: "docs/building-msvc.md"
steps:
- name: Get repository name.
shell: bash
run: echo ::set-env name=REPO_NAME::${GITHUB_REPOSITORY##*/}
- name: Clone.
uses: actions/checkout@v1
with:
submodules: recursive
- name: Set up environment variables.
shell: cmd
run: |
cd ..
move %REPO_NAME% temp
mkdir %REPO_NAME%
move temp %REPO_NAME%/%REPO_NAME%
cd %REPO_NAME%
echo ::add-path::C:\Strawberry\perl\bin\
echo ::add-path::"%programfiles%\NASM"
C:
cd "%programfiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\"
echo ::add-path::%cd%
call vcvars32.bat
D:
cd %GITHUB_WORKSPACE%
msbuild -version > CACHE_KEY.txt
echo %MANUAL_CACHING% >> CACHE_KEY.txt
mkdir Libraries
cd Libraries
echo ::set-env name=LibrariesPath::%cd%
- name: Generate cache key.
shell: bash
run: |
echo ::set-env name=CACHE_KEY::`md5sum CACHE_KEY.txt | awk '{ print $1 }'`
- name: Choco installs.
run: |
choco install --no-progress -y nasm yasm jom ninja
- name: Range-v3.
shell: bash
run: |
echo "Find necessary branch from doc."
cloneRange=$(grep -A 1 "range-v3" $REPO_NAME/$DOC_PATH | sed -n 1p)
cd $LibrariesPath
echo $cloneRange
eval $cloneRange
- name: Patches.
shell: bash
run: |
echo "Find necessary commit from doc."
checkoutCommit=$(grep -A 1 "cd patches" $REPO_NAME/$DOC_PATH | sed -n 2p)
cd $LibrariesPath
git clone $GIT/desktop-app/patches.git
cd Patches
eval $checkoutCommit
- name: LZMA.
shell: cmd
run: |
%VC%
git clone %GIT%/telegramdesktop/lzma.git
cd lzma
cd C\Util\LzmaLib
msbuild -m LzmaLib.sln /property:Configuration=Debug
- name: OpenSSL cache.
id: cache-openssl
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/openssl_${{ env.OPENSSL_VER }}
key: ${{ runner.OS }}-${{ env.CACHE_KEY }}-${{ env.OPENSSL_VER }}
- name: OpenSSL.
if: steps.cache-openssl.outputs.cache-hit != 'true'
shell: cmd
run: |
%VC%
git clone %GIT%/openssl/openssl.git openssl_%OPENSSL_VER%
cd openssl_%OPENSSL_VER%
git checkout OpenSSL_%OPENSSL_VER%-stable
perl Configure no-shared debug-VC-WIN32
nmake
mkdir out32.dbg
move libcrypto.lib out32.dbg
move libssl.lib out32.dbg
move ossl_static.pdb out32.dbg\ossl_static
nmake clean
move out32.dbg\ossl_static out32.dbg\ossl_static.pdb
perl Configure no-shared VC-WIN32
nmake
mkdir out32
move libcrypto.lib out32
move libssl.lib out32
move ossl_static.pdb out32
rmdir /S /Q test
rmdir /S /Q .git
- name: Zlib.
shell: cmd
run: |
%VC%
git clone %GIT%/telegramdesktop/zlib.git
cd zlib
git checkout tdesktop
cd contrib\vstudio\vc14
msbuild -m zlibstat.vcxproj /property:Configuration=Debug
- name: OpenAL Soft cache.
id: cache-openal
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/openal-soft
key: ${{ runner.OS }}-openal-soft-${{ env.CACHE_KEY }}
- name: OpenAL Soft.
shell: cmd
if: steps.cache-openal.outputs.cache-hit != 'true'
run: |
%VC%
git clone %GIT%/telegramdesktop/openal-soft.git
cd openal-soft
git checkout fix_capture
cd build
cmake ^
-G "Visual Studio 16 2019" ^
-A Win32 ^
-D LIBTYPE:STRING=STATIC ^
-D FORCE_STATIC_VCRT:STRING=ON ..
msbuild -m OpenAL.vcxproj /property:Configuration=Debug
- name: Breakpad cache.
id: cache-breakpad
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/breakpad
key: ${{ runner.OS }}-breakpad-${{ env.CACHE_KEY }}-${{ hashFiles('**/breakpad.diff') }}
- name: Breakpad.
env:
GYP_MSVS_OVERRIDE_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\'
GYP_MSVS_VERSION: 2019
shell: cmd
if: steps.cache-breakpad.outputs.cache-hit != 'true'
run: |
cd %LibrariesPath%
echo Find any version of Python 2.
for /D %%a in (C:\hostedtoolcache\windows\Python\2.*) do (
SET PY2=%%a\x64
)
IF [%PY2%] == [] (
echo Python 2 is not found.
exit 1
)
echo Found %PY2%.
git clone %GIT%/telegramdesktop/gyp.git
cd gyp
SET PATH=%PY2%;%cd%;%PATH%
git checkout tdesktop
cd %LibrariesPath%
git clone %GIT%/google/breakpad
cd breakpad
git checkout a1dbcdcb43
git apply ../patches/breakpad.diff
cd src
git clone %GIT%/google/googletest testing
cd client\windows
call gyp --no-circular-check breakpad_client.gyp --format=ninja
cd ..\..
ninja -C out/Debug common crash_generation_client exception_handler
ninja -C out/Release common crash_generation_client exception_handler
cd tools\windows\dump_syms
call gyp dump_syms.gyp
call vcvars32.bat
msbuild -m dump_syms.vcxproj /property:Configuration=Release
- name: Opus cache.
id: cache-opus
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/opus
key: ${{ runner.OS }}-opus-${{ env.CACHE_KEY }}
- name: Opus.
if: steps.cache-opus.outputs.cache-hit != 'true'
shell: cmd
run: |
%VC%
git clone %GIT%/telegramdesktop/opus.git
cd opus
git checkout tdesktop
cd win32\VS2015
msbuild -m opus.sln /property:Configuration=Debug /property:Platform="Win32"
msbuild -m opus.sln /property:Configuration=Release /property:Platform="Win32"
- name: FFmpeg cache.
id: cache-ffmpeg
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/ffmpeg
key: ${{ runner.OS }}-ffmpeg-${{ env.CACHE_KEY }}-2-${{ hashFiles('**/build_ffmpeg_win.sh') }}
- name: FFmpeg.
if: steps.cache-ffmpeg.outputs.cache-hit != 'true'
shell: cmd
run: |
%VC%
choco install --no-progress -y msys2
git clone %GIT%/FFmpeg/FFmpeg.git ffmpeg
cd ffmpeg
git checkout release/3.4
set CHERE_INVOKING=enabled_from_arguments
set MSYS2_PATH_TYPE=inherit
call c:\tools\msys64\usr\bin\bash --login ../../%REPO_NAME%/Telegram/Patches/build_ffmpeg_win.sh
rmdir /S /Q .git
- name: Qt 5.12.5 cache.
id: cache-qt
uses: actions/cache@v1
with:
path: ${{ env.LibrariesPath }}/Qt-5.12.5
key: ${{ runner.OS }}-qt-${{ env.CACHE_KEY }}-${{ hashFiles('**/qtbase_5_12_5.diff') }}
- name: Configure Qt 5.12.5.
if: steps.cache-qt.outputs.cache-hit != 'true'
shell: cmd
run: |
%VC%
git clone git://code.qt.io/qt/qt5.git qt_%QT%
cd qt_%QT%
perl init-repository --module-subset=qtbase,qtimageformats
git checkout v5.12.5
git submodule update qtbase
git submodule update qtimageformats
cd qtbase
git apply ../../patches/qtbase_%QT%.diff
cd ..
SET SSL=%LibrariesPath%\openssl_1_1_1
SET LIBS=libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib
configure ^
-prefix "%LibrariesPath%\Qt-5.12.5" ^
-debug ^
-force-debug-info ^
-opensource ^
-confirm-license ^
-static ^
-static-runtime -I "%SSL%\include" ^
-no-opengl ^
-openssl-linked ^
OPENSSL_LIBS_DEBUG="%SSL%\out32.dbg\libssl.lib %SSL%\out32.dbg\%LIBS%" ^
OPENSSL_LIBS_RELEASE="%SSL%\out32\libssl.lib %SSL%\out32\%LIBS%" ^
-mp ^
-nomake examples ^
-nomake tests ^
-platform win32-msvc
- name: Qt 5.12.5 build.
if: steps.cache-qt.outputs.cache-hit != 'true'
shell: cmd
run: |
%VC%
cd qt_%QT%
jom -j%NUMBER_OF_PROCESSORS%
jom -j%NUMBER_OF_PROCESSORS% install
cd ..
rmdir /S /Q qt_%QT%
- name: Read defines.
shell: bash
run: |
DEFINE=""
if [ -n "${{ matrix.defines }}" ]; then
DEFINE="-D ${{ matrix.defines }}=ON"
echo Define from matrix: $DEFINE
fi
echo "::set-env name=TDESKTOP_BUILD_DEFINE::$DEFINE"
- name: Telegram Desktop build.
if: env.ONLY_CACHE == 'false'
shell: cmd
run: |
cd %REPO_NAME%\Telegram
call configure.bat ^
-D TDESKTOP_API_TEST=ON ^
-D DESKTOP_APP_USE_PACKAGED=OFF ^
%TDESKTOP_BUILD_DEFINE% ^
-DCMAKE_SYSTEM_VERSION=%SDK%
call vcvars32.bat
cd ..\out
msbuild -m Telegram.sln /nologo /p:Configuration=Debug,Platform=Win32
- name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true'
run: |
cd %REPO_NAME%\out\Debug
mkdir artifact
move Telegram.exe artifact/
move Updater.exe artifact/
- uses: actions/upload-artifact@master
name: Upload artifact.
if: env.UPLOAD_ARTIFACT == 'true'
with:
name: Telegram
path: ${{ env.REPO_NAME }}\out\Debug\artifact\

22
.gitignore vendored
View File

@@ -1,24 +1,8 @@
/out/
/Debug/
/Release/
/Deploy/
Debug/
Release/
/ThirdParty/
/Telegram/build/target
/Telegram/GeneratedFiles/
/Telegram/SourceFiles/art/grid.png
/Telegram/SourceFiles/art/grid_125x.png
/Telegram/SourceFiles/art/grid_150x.png
/Telegram/SourceFiles/art/grid_200x.png
/Telegram/SourceFiles/art/sprite_125x.png
/Telegram/SourceFiles/art/sprite_150x.png
/Telegram/Resources/art/grid.png
/Telegram/Resources/art/grid_125x.png
/Telegram/Resources/art/grid_150x.png
/Telegram/Resources/art/grid_200x.png
/Telegram/Resources/art/sprite_125x.png
/Telegram/Resources/art/sprite_150x.png
/Telegram/Debug/
/Telegram/Release/
/Telegram/tests/
/Telegram/gyp/tests/*.test
/Telegram/out/
@@ -32,7 +16,6 @@
*.VC.db
*.aps
*.xcodeproj
/Win32/
ipch/
.vs/
@@ -60,6 +43,7 @@ stage
/snap/plugins/__pycache__
/Telegram/*.user.*
*.txt.user
*.pro.user
/Linux/
/Telegram/Makefile

60
.gitmodules vendored
View File

@@ -10,15 +10,57 @@
[submodule "Telegram/ThirdParty/Catch"]
path = Telegram/ThirdParty/Catch
url = https://github.com/philsquared/Catch
[submodule "Telegram/ThirdParty/crl"]
path = Telegram/ThirdParty/crl
url = https://github.com/telegramdesktop/crl.git
[submodule "Telegram/ThirdParty/xxHash"]
path = Telegram/ThirdParty/xxHash
url = https://github.com/Cyan4973/xxHash.git
[submodule "Telegram/ThirdParty/qtlottie"]
path = Telegram/ThirdParty/qtlottie
url = https://github.com/telegramdesktop/qtlottie.git
[submodule "Telegram/ThirdParty/rapidjson"]
path = Telegram/ThirdParty/rapidjson
url = https://github.com/Tencent/rapidjson.git
[submodule "Telegram/ThirdParty/rlottie"]
path = Telegram/ThirdParty/rlottie
url = https://github.com/desktop-app/rlottie.git
[submodule "Telegram/ThirdParty/lz4"]
path = Telegram/ThirdParty/lz4
url = https://github.com/lz4/lz4.git
[submodule "Telegram/lib_crl"]
path = Telegram/lib_crl
url = https://github.com/desktop-app/lib_crl.git
[submodule "Telegram/lib_rpl"]
path = Telegram/lib_rpl
url = https://github.com/desktop-app/lib_rpl.git
[submodule "Telegram/lib_base"]
path = Telegram/lib_base
url = https://github.com/desktop-app/lib_base.git
[submodule "Telegram/codegen"]
path = Telegram/codegen
url = https://github.com/desktop-app/codegen.git
[submodule "Telegram/lib_ui"]
path = Telegram/lib_ui
url = https://github.com/desktop-app/lib_ui.git
[submodule "Telegram/lib_rlottie"]
path = Telegram/lib_rlottie
url = https://github.com/desktop-app/lib_rlottie.git
[submodule "Telegram/lib_lottie"]
path = Telegram/lib_lottie
url = https://github.com/desktop-app/lib_lottie.git
[submodule "Telegram/lib_tl"]
path = Telegram/lib_tl
url = https://github.com/desktop-app/lib_tl.git
[submodule "Telegram/lib_spellcheck"]
path = Telegram/lib_spellcheck
url = https://github.com/desktop-app/lib_spellcheck
[submodule "Telegram/lib_storage"]
path = Telegram/lib_storage
url = https://github.com/desktop-app/lib_storage.git
[submodule "cmake"]
path = cmake
url = https://github.com/desktop-app/cmake_helpers.git
[submodule "Telegram/ThirdParty/expected"]
path = Telegram/ThirdParty/expected
url = https://github.com/TartanLlama/expected
[submodule "Telegram/ThirdParty/QR"]
path = Telegram/ThirdParty/QR
url = https://github.com/nayuki/QR-Code-generator
[submodule "Telegram/lib_qr"]
path = Telegram/lib_qr
url = https://github.com/desktop-app/lib_qr.git
[submodule "Telegram/ThirdParty/libdbusmenu-qt"]
path = Telegram/ThirdParty/libdbusmenu-qt
url = https://github.com/desktop-app/libdbusmenu-qt.git

View File

@@ -1,65 +0,0 @@
sudo: required
dist: trusty
language: cpp
cache:
directories:
- $HOME/travisCacheDir
env:
matrix:
- BUILD_VERSION=""
- BUILD_VERSION="disable_register_custom_scheme"
- BUILD_VERSION="disable_crash_reports"
- BUILD_VERSION="disable_network_proxy"
- BUILD_VERSION="disable_desktop_file_generation"
- BUILD_VERSION="disable_gtk_integration"
matrix:
fast_finish: true
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- bison
- build-essential
- cmake
- devscripts
- dpatch
- equivs
- fakeroot
- g++-8
- gcc-8
- git
- gnome-common
- gobject-introspection
- gtk-doc-tools
- libappindicator-dev
- libasound2-dev
- libdbusmenu-glib-dev
- liblzma-dev
- libopus-dev
- libpulse-dev
- libssl-dev
- libdee-dev
- libva-dev
- libvdpau-dev
- libxcb-xkb-dev
- libxkbcommon-dev
- lintian
- quilt
- valac
- xutils-dev
- yasm
before_install:
- export CXX="g++-8" CC="gcc-8"
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-8
- sudo update-alternatives --config gcc
- g++ --version
script:
- .travis/build.sh

View File

@@ -1,717 +0,0 @@
#!/bin/bash
set -e
REPO="$PWD"
BUILD="$REPO/build"
UPSTREAM="$REPO/upstream"
EXTERNAL="$REPO/external"
CACHE="$HOME/travisCacheDir"
QT_WAS_BUILT="0"
QT_VERSION=5.6.2
XKB_PATH="$BUILD/libxkbcommon"
XKB_CACHE_VERSION="3"
QT_PATH="$BUILD/qt"
QT_CACHE_VERSION="4"
QT_PATCH="$UPSTREAM/Telegram/Patches/qtbase_${QT_VERSION//\./_}.diff"
BREAKPAD_PATH="$BUILD/breakpad"
BREAKPAD_CACHE_VERSION="3"
GYP_PATH="$BUILD/gyp"
GYP_CACHE_VERSION="3"
GYP_PATCH="$UPSTREAM/Telegram/Patches/gyp.diff"
RANGE_PATH="$BUILD/range-v3"
RANGE_CACHE_VERSION="3"
VA_PATH="$BUILD/libva"
VA_CACHE_VERSION="3"
VDPAU_PATH="$BUILD/libvdpau"
VDPAU_CACHE_VERSION="3"
FFMPEG_PATH="$BUILD/ffmpeg"
FFMPEG_CACHE_VERSION="3"
OPENAL_PATH="$BUILD/openal-soft"
OPENAL_CACHE_VERSION="4"
GYP_DEFINES=""
[[ ! $MAKE_ARGS ]] && MAKE_ARGS="--silent -j4"
run() {
# Move files to subdir
cd ..
mv tdesktop tdesktop2
mkdir tdesktop
mv tdesktop2 "$UPSTREAM"
mkdir "$BUILD"
build
check
}
build() {
mkdir -p "$EXTERNAL"
BUILD_VERSION_DATA=$(echo $BUILD_VERSION | cut -d'-' -f 1)
# libxkbcommon
getXkbCommon
# libva
getVa
# libvdpau
getVdpau
# ffmpeg
getFFmpeg
# openal_soft
getOpenAL
# Patched Qt
getCustomQt
# Breakpad
getBreakpad
# Patched GYP (supports cmake precompiled headers)
getGYP
# Range v3
getRange
# Guideline Support Library
getGSL
if [ "$QT_WAS_BUILT" == "1" ]; then
error_msg "Qt was built, please restart the job :("
exit 1
fi
# Configure the build
if [[ $BUILD_VERSION == *"disable_register_custom_scheme"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
fi
if [[ $BUILD_VERSION == *"disable_crash_reports"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_CRASH_REPORTS"
fi
if [[ $BUILD_VERSION == *"disable_network_proxy"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_NETWORK_PROXY"
fi
if [[ $BUILD_VERSION == *"disable_desktop_file_generation"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION"
fi
if [[ $BUILD_VERSION == *"disable_gtk_integration"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_GTK_INTEGRATION"
fi
info_msg "Build defines: ${GYP_DEFINES}"
buildTelegram
travisEndFold
}
getXkbCommon() {
travisStartFold "Getting xkbcommon"
local XKB_CACHE="$CACHE/libxkbcommon"
local XKB_CACHE_FILE="$XKB_CACHE/.cache.txt"
local XKB_CACHE_KEY="${XKB_CACHE_VERSION}"
local XKB_CACHE_OUTDATED="1"
if [ ! -d "$XKB_CACHE" ]; then
mkdir -p "$XKB_CACHE"
fi
ln -sf "$XKB_CACHE" "$XKB_PATH"
if [ -f "$XKB_CACHE_FILE" ]; then
local XKB_CACHE_KEY_FOUND=`tail -n 1 $XKB_CACHE_FILE`
if [ "$XKB_CACHE_KEY" == "$XKB_CACHE_KEY_FOUND" ]; then
XKB_CACHE_OUTDATED="0"
else
info_msg "Cache key '$XKB_CACHE_KEY_FOUND' does not match '$XKB_CACHE_KEY', rebuilding libxkbcommon"
fi
fi
if [ "$XKB_CACHE_OUTDATED" == "1" ]; then
buildXkbCommon
sudo echo $XKB_CACHE_KEY > "$XKB_CACHE_FILE"
else
info_msg "Using cached libxkbcommon"
fi
}
buildXkbCommon() {
info_msg "Downloading and building libxkbcommon"
if [ -d "$EXTERNAL/libxkbcommon" ]; then
rm -rf "$EXTERNAL/libxkbcommon"
fi
cd $XKB_PATH
rm -rf *
cd "$EXTERNAL"
git clone https://github.com/xkbcommon/libxkbcommon.git
cd "$EXTERNAL/libxkbcommon"
./autogen.sh --prefix=$XKB_PATH
make $MAKE_ARGS
sudo make install
sudo ldconfig
}
getRange() {
travisStartFold "Getting range-v3"
local RANGE_CACHE="$CACHE/range-v3"
local RANGE_CACHE_FILE="$RANGE_CACHE/.cache.txt"
local RANGE_CACHE_KEY="${RANGE_CACHE_VERSION}"
local RANGE_CACHE_OUTDATED="1"
if [ ! -d "$RANGE_CACHE" ]; then
mkdir -p "$RANGE_CACHE"
fi
ln -sf "$RANGE_CACHE" "$RANGE_PATH"
if [ -f "$RANGE_CACHE_FILE" ]; then
local RANGE_CACHE_KEY_FOUND=`tail -n 1 $RANGE_CACHE_FILE`
if [ "$RANGE_CACHE_KEY" == "$RANGE_CACHE_KEY_FOUND" ]; then
RANGE_CACHE_OUTDATED="0"
else
info_msg "Cache key '$RANGE_CACHE_KEY_FOUND' does not match '$RANGE_CACHE_KEY', getting range-v3"
fi
fi
if [ "$RANGE_CACHE_OUTDATED" == "1" ]; then
buildRange
sudo echo $RANGE_CACHE_KEY > "$RANGE_CACHE_FILE"
else
info_msg "Using cached range-v3"
fi
}
buildRange() {
info_msg "Downloading range-v3"
if [ -d "$EXTERNAL/range-v3" ]; then
rm -rf "$EXTERNAL/range-v3"
fi
cd $RANGE_PATH
rm -rf *
cd "$EXTERNAL"
git clone --depth=1 https://github.com/ericniebler/range-v3
cd "$EXTERNAL/range-v3"
cp -r * "$RANGE_PATH/"
}
getVa() {
travisStartFold "Getting libva"
local VA_CACHE="$CACHE/libva"
local VA_CACHE_FILE="$VA_CACHE/.cache.txt"
local VA_CACHE_KEY="${VA_CACHE_VERSION}"
local VA_CACHE_OUTDATED="1"
if [ ! -d "$VA_CACHE" ]; then
mkdir -p "$VA_CACHE"
fi
ln -sf "$VA_CACHE" "$VA_PATH"
if [ -f "$VA_CACHE_FILE" ]; then
local VA_CACHE_KEY_FOUND=`tail -n 1 $VA_CACHE_FILE`
if [ "$VA_CACHE_KEY" == "$VA_CACHE_KEY_FOUND" ]; then
VA_CACHE_OUTDATED="0"
else
info_msg "Cache key '$VA_CACHE_KEY_FOUND' does not match '$VA_CACHE_KEY', rebuilding libva"
fi
fi
if [ "$VA_CACHE_OUTDATED" == "1" ]; then
buildVa
sudo echo $VA_CACHE_KEY > "$VA_CACHE_FILE"
else
info_msg "Using cached libva"
fi
}
buildVa() {
info_msg "Downloading and building libva"
if [ -d "$EXTERNAL/libva" ]; then
rm -rf "$EXTERNAL/libva"
fi
cd $VA_PATH
rm -rf *
cd "$EXTERNAL"
git clone https://github.com/01org/libva
cd "$EXTERNAL/libva"
./autogen.sh --prefix=$VA_PATH --enable-static
make $MAKE_ARGS
sudo make install
sudo ldconfig
}
getVdpau() {
travisStartFold "Getting libvdpau"
local VDPAU_CACHE="$CACHE/libvdpau"
local VDPAU_CACHE_FILE="$VDPAU_CACHE/.cache.txt"
local VDPAU_CACHE_KEY="${VDPAU_CACHE_VERSION}"
local VDPAU_CACHE_OUTDATED="1"
if [ ! -d "$VDPAU_CACHE" ]; then
mkdir -p "$VDPAU_CACHE"
fi
ln -sf "$VDPAU_CACHE" "$VDPAU_PATH"
if [ -f "$VDPAU_CACHE_FILE" ]; then
local VDPAU_CACHE_KEY_FOUND=`tail -n 1 $VDPAU_CACHE_FILE`
if [ "$VDPAU_CACHE_KEY" == "$VDPAU_CACHE_KEY_FOUND" ]; then
VDPAU_CACHE_OUTDATED="0"
else
info_msg "Cache key '$VDPAU_CACHE_KEY_FOUND' does not match '$VDPAU_CACHE_KEY', rebuilding libvdpau"
fi
fi
if [ "$VDPAU_CACHE_OUTDATED" == "1" ]; then
buildVdpau
sudo echo $VDPAU_CACHE_KEY > "$VDPAU_CACHE_FILE"
else
info_msg "Using cached libvdpau"
fi
}
buildVdpau() {
info_msg "Downloading and building libvdpau"
if [ -d "$EXTERNAL/libvdpau" ]; then
rm -rf "$EXTERNAL/libvdpau"
fi
cd $VDPAU_PATH
rm -rf *
cd "$EXTERNAL"
git clone git://anongit.freedesktop.org/vdpau/libvdpau
cd "$EXTERNAL/libvdpau"
git checkout libvdpau-1.2
./autogen.sh --prefix=$VDPAU_PATH --enable-static
make $MAKE_ARGS
sudo make install
sudo ldconfig
}
getFFmpeg() {
travisStartFold "Getting ffmpeg"
local FFMPEG_CACHE="$CACHE/ffmpeg"
local FFMPEG_CACHE_FILE="$FFMPEG_CACHE/.cache.txt"
local FFMPEG_CACHE_KEY="${FFMPEG_CACHE_VERSION}"
local FFMPEG_CACHE_OUTDATED="1"
if [ ! -d "$FFMPEG_CACHE" ]; then
mkdir -p "$FFMPEG_CACHE"
fi
ln -sf "$FFMPEG_CACHE" "$FFMPEG_PATH"
if [ -f "$FFMPEG_CACHE_FILE" ]; then
local FFMPEG_CACHE_KEY_FOUND=`tail -n 1 $FFMPEG_CACHE_FILE`
if [ "$FFMPEG_CACHE_KEY" == "$FFMPEG_CACHE_KEY_FOUND" ]; then
FFMPEG_CACHE_OUTDATED="0"
else
info_msg "Cache key '$FFMPEG_CACHE_KEY_FOUND' does not match '$FFMPEG_CACHE_KEY', rebuilding ffmpeg"
fi
fi
if [ "$FFMPEG_CACHE_OUTDATED" == "1" ]; then
buildFFmpeg
sudo echo $FFMPEG_CACHE_KEY > "$FFMPEG_CACHE_FILE"
else
info_msg "Using cached ffmpeg"
fi
}
buildFFmpeg() {
info_msg "Downloading and building ffmpeg"
if [ -d "$EXTERNAL/ffmpeg" ]; then
rm -rf "$EXTERNAL/ffmpeg"
fi
cd $FFMPEG_PATH
rm -rf *
cd "$EXTERNAL"
git clone https://git.ffmpeg.org/ffmpeg.git
cd "$EXTERNAL/ffmpeg"
git checkout release/3.4
./configure \
--prefix=$FFMPEG_PATH \
--disable-debug \
--disable-programs \
--disable-doc \
--disable-everything \
--enable-gpl \
--enable-version3 \
--enable-libopus \
--enable-decoder=aac \
--enable-decoder=aac_latm \
--enable-decoder=aasc \
--enable-decoder=flac \
--enable-decoder=gif \
--enable-decoder=h264 \
--enable-decoder=h264_vdpau \
--enable-decoder=mp1 \
--enable-decoder=mp1float \
--enable-decoder=mp2 \
--enable-decoder=mp2float \
--enable-decoder=mp3 \
--enable-decoder=mp3adu \
--enable-decoder=mp3adufloat \
--enable-decoder=mp3float \
--enable-decoder=mp3on4 \
--enable-decoder=mp3on4float \
--enable-decoder=mpeg4 \
--enable-decoder=mpeg4_vdpau \
--enable-decoder=msmpeg4v2 \
--enable-decoder=msmpeg4v3 \
--enable-decoder=opus \
--enable-decoder=vorbis \
--enable-decoder=wavpack \
--enable-decoder=wmalossless \
--enable-decoder=wmapro \
--enable-decoder=wmav1 \
--enable-decoder=wmav2 \
--enable-decoder=wmavoice \
--enable-encoder=libopus \
--enable-hwaccel=h264_vaapi \
--enable-hwaccel=h264_vdpau \
--enable-hwaccel=mpeg4_vaapi \
--enable-hwaccel=mpeg4_vdpau \
--enable-parser=aac \
--enable-parser=aac_latm \
--enable-parser=flac \
--enable-parser=h264 \
--enable-parser=mpeg4video \
--enable-parser=mpegaudio \
--enable-parser=opus \
--enable-parser=vorbis \
--enable-demuxer=aac \
--enable-demuxer=flac \
--enable-demuxer=gif \
--enable-demuxer=h264 \
--enable-demuxer=mov \
--enable-demuxer=mp3 \
--enable-demuxer=ogg \
--enable-demuxer=wav \
--enable-muxer=ogg \
--enable-muxer=opus
make $MAKE_ARGS
sudo make install
sudo ldconfig
}
getOpenAL() {
travisStartFold "Getting openal-soft"
local OPENAL_CACHE="$CACHE/openal-soft"
local OPENAL_CACHE_FILE="$OPENAL_CACHE/.cache.txt"
local OPENAL_CACHE_KEY="${OPENAL_CACHE_VERSION}"
local OPENAL_CACHE_OUTDATED="1"
if [ ! -d "$OPENAL_CACHE" ]; then
mkdir -p "$OPENAL_CACHE"
fi
ln -sf "$OPENAL_CACHE" "$OPENAL_PATH"
if [ -f "$OPENAL_CACHE_FILE" ]; then
local OPENAL_CACHE_KEY_FOUND=`tail -n 1 $OPENAL_CACHE_FILE`
if [ "$OPENAL_CACHE_KEY" == "$OPENAL_CACHE_KEY_FOUND" ]; then
OPENAL_CACHE_OUTDATED="0"
else
info_msg "Cache key '$OPENAL_CACHE_KEY_FOUND' does not match '$OPENAL_CACHE_KEY', rebuilding openal-soft"
fi
fi
if [ "$OPENAL_CACHE_OUTDATED" == "1" ]; then
buildOpenAL
sudo echo $OPENAL_CACHE_KEY > "$OPENAL_CACHE_FILE"
else
info_msg "Using cached openal-soft"
fi
}
buildOpenAL() {
info_msg "Downloading and building openal-soft"
if [ -d "$EXTERNAL/openal-soft" ]; then
rm -rf "$EXTERNAL/openal-soft"
fi
cd $OPENAL_PATH
sudo rm -rf *
cd "$EXTERNAL"
git clone https://github.com/kcat/openal-soft.git
cd openal-soft
git checkout openal-soft-1.19.1
cd "$EXTERNAL/openal-soft/build"
cmake \
-D CMAKE_INSTALL_PREFIX=$OPENAL_PATH \
-D CMAKE_BUILD_TYPE=Release \
-D LIBTYPE=STATIC \
-D ALSOFT_EXAMPLES=OFF \
-D ALSOFT_TESTS=OFF \
-D ALSOFT_UTILS=OFF \
..
make $MAKE_ARGS
sudo make install
sudo ldconfig
}
getBreakpad() {
travisStartFold "Getting breakpad"
local BREAKPAD_CACHE="$CACHE/breakpad"
local BREAKPAD_CACHE_FILE="$BREAKPAD_CACHE/.cache.txt"
local BREAKPAD_CACHE_KEY="${BREAKPAD_CACHE_VERSION}"
local BREAKPAD_CACHE_OUTDATED="1"
if [ ! -d "$BREAKPAD_CACHE" ]; then
mkdir -p "$BREAKPAD_CACHE"
fi
ln -sf "$BREAKPAD_CACHE" "$BREAKPAD_PATH"
if [ -f "$BREAKPAD_CACHE_FILE" ]; then
local BREAKPAD_CACHE_KEY_FOUND=`tail -n 1 $BREAKPAD_CACHE_FILE`
if [ "$BREAKPAD_CACHE_KEY" == "$BREAKPAD_CACHE_KEY_FOUND" ]; then
BREAKPAD_CACHE_OUTDATED="0"
else
info_msg "Cache key '$BREAKPAD_CACHE_KEY_FOUND' does not match '$BREAKPAD_CACHE_KEY', rebuilding breakpad"
fi
fi
if [ "$BREAKPAD_CACHE_OUTDATED" == "1" ]; then
buildBreakpad
sudo echo $BREAKPAD_CACHE_KEY > "$BREAKPAD_CACHE_FILE"
else
info_msg "Using cached breakpad"
fi
}
buildBreakpad() {
info_msg "Downloading and building breakpad"
if [ -d "$EXTERNAL/breakpad" ]; then
rm -rf "$EXTERNAL/breakpad"
fi
cd $BREAKPAD_PATH
rm -rf *
cd "$EXTERNAL"
git clone https://chromium.googlesource.com/breakpad/breakpad
cd "$EXTERNAL/breakpad/src/third_party"
git clone https://chromium.googlesource.com/linux-syscall-support lss
cd "$EXTERNAL/breakpad"
./configure --prefix=$BREAKPAD_PATH
make $MAKE_ARGS
sudo make install
sudo ldconfig
}
getCustomQt() {
travisStartFold "Getting patched Qt"
local QT_CACHE="$CACHE/qtPatched"
local QT_CACHE_FILE="$QT_CACHE/.cache.txt"
local QT_PATCH_CHECKSUM=`sha1sum $QT_PATCH`
local QT_CACHE_KEY="${QT_VERSION}_${QT_CACHE_VERSION}_${QT_PATCH_CHECKSUM:0:32}"
local QT_CACHE_OUTDATED="1"
if [ ! -d "$QT_CACHE" ]; then
mkdir -p "$QT_CACHE"
fi
ln -sf "$QT_CACHE" "$QT_PATH"
if [ -f "$QT_CACHE_FILE" ]; then
local QT_CACHE_KEY_FOUND=`tail -n 1 $QT_CACHE_FILE`
if [ "$QT_CACHE_KEY" == "$QT_CACHE_KEY_FOUND" ]; then
QT_CACHE_OUTDATED="0"
else
info_msg "Cache key '$QT_CACHE_KEY_FOUND' does not match '$QT_CACHE_KEY', rebuilding patched Qt"
fi
fi
if [ "$QT_CACHE_OUTDATED" == "1" ]; then
buildCustomQt
sudo echo $QT_CACHE_KEY > "$QT_CACHE_FILE"
else
info_msg "Using cached patched Qt"
fi
export PATH="$QT_PATH/bin:$PATH"
}
buildCustomQt() {
QT_WAS_BUILT="1"
info_msg "Downloading and building patched qt"
if [ -d "$EXTERNAL/qt${QT_VERSION}" ]; then
sudo rm -rf "$EXTERNAL/qt${QT_VERSION}"
fi
cd $QT_PATH
sudo rm -rf *
cd "$EXTERNAL"
git clone git://code.qt.io/qt/qt5.git qt${QT_VERSION}
cd "$EXTERNAL/qt${QT_VERSION}"
perl init-repository --branch --module-subset=qtbase,qtimageformats
git checkout v${QT_VERSION}
cd qtbase && git checkout v${QT_VERSION} && cd ..
cd qtimageformats && git checkout v${QT_VERSION} && cd ..
cd "$EXTERNAL/qt${QT_VERSION}/qtbase"
git apply "$QT_PATCH"
cd ..
cd "$EXTERNAL/qt${QT_VERSION}/qtbase/src/plugins/platforminputcontexts"
git clone https://github.com/telegramdesktop/fcitx.git
git clone https://github.com/telegramdesktop/hime.git
git clone https://github.com/telegramdesktop/nimf.git
cd ../../../..
./configure -prefix $QT_PATH -release -opensource -confirm-license -qt-zlib \
-qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -qt-pcre -qt-xcb \
-qt-xkbcommon-x11 -no-opengl -no-gtkstyle -static \
-nomake examples -nomake tests -no-mirclient \
-dbus-runtime -no-gstreamer -no-mtdev # <- Not sure about these
make $MAKE_ARGS
sudo make install
}
getGSL() {
cd "$UPSTREAM"
git submodule init
git submodule update
}
getGYP() {
travisStartFold "Getting patched GYP"
local GYP_CACHE="$CACHE/gyp"
local GYP_CACHE_FILE="$GYP_CACHE/.cache.txt"
local GYP_PATCH_CHECKSUM=`sha1sum $GYP_PATCH`
local GYP_CACHE_KEY="${GYP_CACHE_VERSION}_${GYP_PATCH_CHECKSUM:0:32}"
local GYP_CACHE_OUTDATED="1"
if [ ! -d "$GYP_CACHE" ]; then
mkdir -p "$GYP_CACHE"
fi
ln -sf "$GYP_CACHE" "$GYP_PATH"
if [ -f "$GYP_CACHE_FILE" ]; then
local GYP_CACHE_KEY_FOUND=`tail -n 1 $GYP_CACHE_FILE`
if [ "$GYP_CACHE_KEY" == "$GYP_CACHE_KEY_FOUND" ]; then
GYP_CACHE_OUTDATED="0"
else
info_msg "Cache key '$GYP_CACHE_KEY_FOUND' does not match '$GYP_CACHE_KEY', rebuilding patched GYP"
fi
fi
if [ "$GYP_CACHE_OUTDATED" == "1" ]; then
buildGYP
sudo echo $GYP_CACHE_KEY > "$GYP_CACHE_FILE"
else
info_msg "Using cached patched GYP"
fi
}
buildGYP() {
info_msg "Downloading and building patched GYP"
if [ -d "$EXTERNAL/gyp" ]; then
rm -rf "$EXTERNAL/gyp"
fi
cd $GYP_PATH
rm -rf *
cd "$EXTERNAL"
git clone https://chromium.googlesource.com/external/gyp
cd "$EXTERNAL/gyp"
git checkout 702ac58e47
git apply "$GYP_PATCH"
cp -r * "$GYP_PATH/"
}
buildTelegram() {
travisStartFold "Build tdesktop"
cd "$UPSTREAM/Telegram/gyp"
"$GYP_PATH/gyp" \
-Dapi_id=17349 \
-Dapi_hash=344583e45741c457fe1862106095a5eb \
-Dbuild_defines=${GYP_DEFINES:1} \
-Dlinux_path_xkbcommon=$XKB_PATH \
-Dlinux_path_va=$VA_PATH \
-Dlinux_path_vdpau=$VDPAU_PATH \
-Dlinux_path_ffmpeg=$FFMPEG_PATH \
-Dlinux_path_openal=$OPENAL_PATH \
-Dlinux_path_range=$RANGE_PATH \
-Dlinux_path_qt=$QT_PATH \
-Dlinux_path_breakpad=$BREAKPAD_PATH \
-Dlinux_path_libexif_lib=/usr/local/lib \
-Dlinux_path_opus_include=/usr/include/opus \
-Dlinux_lib_ssl=-lssl \
-Dlinux_lib_crypto=-lcrypto \
-Dlinux_lib_icu=-licuuc\ -licutu\ -licui18n \
--depth=. --generator-output=.. --format=cmake -Goutput_dir=../out \
Telegram.gyp
cd "$UPSTREAM/out/Debug"
export ASM="gcc"
cmake .
make $MAKE_ARGS
}
check() {
local filePath="$UPSTREAM/out/Debug/Telegram"
if test -f "$filePath"; then
success_msg "Build successfully done! :)"
local size;
size=$(stat -c %s "$filePath")
success_msg "File size of ${filePath}: ${size} Bytes"
else
error_msg "Build error, output file does not exist"
exit 1
fi
}
source ./.travis/common.sh
run

View File

@@ -1,64 +0,0 @@
#!/usr/bin/env bash
# set colors
RCol='\e[0m' # Text Reset
# Regular Bold Underline High Intensity BoldHigh Intens Background High Intensity Backgrounds
Bla='\e[0;30m'; BBla='\e[1;30m'; UBla='\e[4;30m'; IBla='\e[0;90m'; BIBla='\e[1;90m'; On_Bla='\e[40m'; On_IBla='\e[0;100m';
Red='\e[0;31m'; BRed='\e[1;31m'; URed='\e[4;31m'; IRed='\e[0;91m'; BIRed='\e[1;91m'; On_Red='\e[41m'; On_IRed='\e[0;101m';
Gre='\e[0;32m'; BGre='\e[1;32m'; UGre='\e[4;32m'; IGre='\e[0;92m'; BIGre='\e[1;92m'; On_Gre='\e[42m'; On_IGre='\e[0;102m';
Yel='\e[0;33m'; BYel='\e[1;33m'; UYel='\e[4;33m'; IYel='\e[0;93m'; BIYel='\e[1;93m'; On_Yel='\e[43m'; On_IYel='\e[0;103m';
Blu='\e[0;34m'; BBlu='\e[1;34m'; UBlu='\e[4;34m'; IBlu='\e[0;94m'; BIBlu='\e[1;94m'; On_Blu='\e[44m'; On_IBlu='\e[0;104m';
Pur='\e[0;35m'; BPur='\e[1;35m'; UPur='\e[4;35m'; IPur='\e[0;95m'; BIPur='\e[1;95m'; On_Pur='\e[45m'; On_IPur='\e[0;105m';
Cya='\e[0;36m'; BCya='\e[1;36m'; UCya='\e[4;36m'; ICya='\e[0;96m'; BICya='\e[1;96m'; On_Cya='\e[46m'; On_ICya='\e[0;106m';
Whi='\e[0;37m'; BWhi='\e[1;37m'; UWhi='\e[4;37m'; IWhi='\e[0;97m'; BIWhi='\e[1;97m'; On_Whi='\e[47m'; On_IWhi='\e[0;107m';
start_msg() {
echo -e "\n${Gre}$*${RCol}"
}
info_msg() {
sameLineInfoMessage "\n$1"
}
error_msg() {
echo -e "\n${BRed}$*${RCol}"
}
success_msg() {
echo -e "\n${BGre}$*${RCol}"
}
sameLineInfoMessage() {
echo -e "${Cya}$*${RCol}"
}
TRAVIS_LAST_FOLD=""
travisStartFold() {
local TITLE="$1"
local NAME=$(sanitizeName "$TITLE")
if [ "$TRAVIS_LAST_FOLD" != "" ]; then
travisEndFold
fi
echo "travis_fold:start:$NAME"
sameLineInfoMessage "$TITLE"
TRAVIS_LAST_FOLD="$NAME"
}
travisEndFold() {
if [ "$TRAVIS_LAST_FOLD" == "" ]; then
return
fi
echo "travis_fold:end:$TRAVIS_LAST_FOLD"
TRAVIS_LAST_FOLD=""
}
sanitizeName() {
local NAME="${1// /_}"
local NAME="${NAME,,}"
echo "$NAME"
}

37
CMakeLists.txt Normal file
View File

@@ -0,0 +1,37 @@
# This file is part of Telegram Desktop,
# the official desktop application for the Telegram messaging service.
#
# For license and copyright information please follow this link:
# https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
cmake_minimum_required(VERSION 3.16)
cmake_policy(SET CMP0076 NEW)
cmake_policy(SET CMP0091 NEW)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
include(cmake/validate_special_target.cmake)
include(cmake/version.cmake)
desktop_app_parse_version(Telegram/build/version)
project(Telegram
LANGUAGES C CXX
VERSION ${desktop_app_version_cmake}
DESCRIPTION "Official Telegram Desktop messenger"
HOMEPAGE_URL "https://desktop.telegram.org"
)
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT Telegram)
include(cmake/variables.cmake)
include(cmake/nice_target_sources.cmake)
include(cmake/target_link_static_libraries.cmake)
include(cmake/target_link_frameworks.cmake)
include(cmake/init_target.cmake)
include(cmake/generate_target.cmake)
include(cmake/options.cmake)
include(cmake/external/qt/package.cmake)
add_subdirectory(cmake)
add_subdirectory(Telegram)

2
LEGAL
View File

@@ -1,7 +1,7 @@
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
Copyright (c) 2014-2019 John Preston, https://desktop.telegram.org
Copyright (c) 2014-2020 The Telegram Desktop Authors.
Telegram Desktop is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -3,8 +3,9 @@
This is the complete source code and the build instructions for the alpha version of the official desktop client for the [Telegram][telegram] messenger, based on the [Telegram API][telegram_api] and the [MTProto][telegram_proto] secure protocol.
[![Version](https://badge.fury.io/gh/telegramdesktop%2Ftdesktop.svg)](https://github.com/telegramdesktop/tdesktop/releases)
[![Build Status](https://travis-ci.org/telegramdesktop/tdesktop.svg?branch=dev)](https://travis-ci.org/telegramdesktop/tdesktop)
[![Build status](https://ci.appveyor.com/api/projects/status/uiw2y768iy4i5bu8/branch/dev?svg=true)](https://ci.appveyor.com/project/telegramdesktop/tdesktop)
[![Build Status](https://github.com/telegramdesktop/tdesktop/workflows/Windows./badge.svg)](https://github.com/telegramdesktop/tdesktop/actions)
[![Build Status](https://github.com/telegramdesktop/tdesktop/workflows/MacOS./badge.svg)](https://github.com/telegramdesktop/tdesktop/actions)
[![Build Status](https://github.com/telegramdesktop/tdesktop/workflows/Linux./badge.svg)](https://github.com/telegramdesktop/tdesktop/actions)
[![Preview of Telegram Desktop][preview_image]][preview_image_url]
@@ -13,19 +14,18 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
## Supported systems
* Windows XP - Windows 10 (**not** RT)
* Mac OS X 10.8 - Mac OS X 10.11
* Mac OS X 10.8 - Mac OS X 10.15
* Mac OS X 10.6 - Mac OS X 10.7 (separate build)
* Ubuntu 12.04 - Ubuntu 19.04
* Fedora 22 - Fedora 30
* Ubuntu 12.04 - Ubuntu 19.10
* Fedora 22 - Fedora 31
* [Snappy](https://snapcraft.io/telegram-desktop)
* [Flathub](https://flathub.org/apps/details/org.telegram.desktop)
## Third-party
* Qt 5.3.2 and 5.6.2, slightly patched ([LGPL](http://doc.qt.io/qt-5/lgpl.html))
* OpenSSL 1.0.1g ([OpenSSL License](https://www.openssl.org/source/license.html))
* zlib 1.2.8 ([zlib License](http://www.zlib.net/zlib_license.html))
* libexif 0.6.20 ([LGPL](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html))
* Qt 5.12.5 and 5.6.2, slightly patched ([LGPL](http://doc.qt.io/qt-5/lgpl.html))
* OpenSSL 1.1.1 ([OpenSSL License](https://www.openssl.org/source/license.html))
* zlib 1.2.11 ([zlib License](http://www.zlib.net/zlib_license.html))
* LZMA SDK 9.20 ([public domain](http://www.7-zip.org/sdk.html))
* liblzma ([public domain](http://tukaani.org/xz/))
* Google Breakpad ([License](https://chromium.googlesource.com/breakpad/breakpad/+/master/LICENSE))
@@ -42,6 +42,8 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
* Emoji alpha codes ([MIT License](https://github.com/emojione/emojione/blob/master/extras/alpha-codes/LICENSE.md))
* Catch test framework ([Boost License](https://github.com/philsquared/Catch/blob/master/LICENSE.txt))
* xxHash ([BSD License](https://github.com/Cyan4973/xxHash/blob/dev/LICENSE))
* QR Code generator ([MIT License](https://github.com/nayuki/QR-Code-generator#license))
* CMake ([New BSD License](https://github.com/Kitware/CMake/blob/master/Copyright.txt))
## Build instructions

1214
Telegram/CMakeLists.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -92,6 +92,67 @@ index bcd29b6fe1..bcb0672f69 100644
if (QPlatformCursor *platformCursor = q->screen()->handle()->cursor()) {
QCursor *c = QGuiApplication::overrideCursor();
if (!c && hasCursor)
diff --git a/src/gui/painting/qbezier.cpp b/src/gui/painting/qbezier.cpp
index 8e0e76f787..a61bd62834 100644
--- a/src/gui/painting/qbezier.cpp
+++ b/src/gui/painting/qbezier.cpp
@@ -45,6 +45,34 @@ QT_BEGIN_NAMESPACE
//#define QDEBUG_BEZIER
+// Patch: Workaround VS2019 compiler bug, see QTBUG-75280.
+#ifdef Q_OS_WIN
+Q_NEVER_INLINE void QBezier::split(QBezier *firstHalf, QBezier *secondHalf) const
+{
+ Q_ASSERT(firstHalf);
+ Q_ASSERT(secondHalf);
+
+ qreal c = (x2 + x3)*.5;
+ firstHalf->x2 = (x1 + x2)*.5;
+ secondHalf->x3 = (x3 + x4)*.5;
+ firstHalf->x1 = x1;
+ secondHalf->x4 = x4;
+ firstHalf->x3 = (firstHalf->x2 + c)*.5;
+ secondHalf->x2 = (secondHalf->x3 + c)*.5;
+ firstHalf->x4 = secondHalf->x1 = (firstHalf->x3 + secondHalf->x2)*.5;
+
+ c = (y2 + y3)/2;
+ firstHalf->y2 = (y1 + y2)*.5;
+ secondHalf->y3 = (y3 + y4)*.5;
+ firstHalf->y1 = y1;
+ secondHalf->y4 = y4;
+ firstHalf->y3 = (firstHalf->y2 + c)*.5;
+ secondHalf->y2 = (secondHalf->y3 + c)*.5;
+ firstHalf->y4 = secondHalf->y1 = (firstHalf->y3 + secondHalf->y2)*.5;
+}
+// Patch: Workaround VS2019 compiler bug, see QTBUG-75280.
+#endif // Q_OS_WIN
+
/*!
\internal
*/
diff --git a/src/gui/painting/qbezier_p.h b/src/gui/painting/qbezier_p.h
index dd1cd94acf..aedc8b6a4b 100644
--- a/src/gui/painting/qbezier_p.h
+++ b/src/gui/painting/qbezier_p.h
@@ -215,6 +215,8 @@ inline QPointF QBezier::secondDerivedAt(qreal t) const
a * y1 + b * y2 + c * y3 + d * y4);
}
+// Patch: Workaround VS2019 compiler bug, see QTBUG-75280.
+#ifndef Q_OS_WIN
inline void QBezier::split(QBezier *firstHalf, QBezier *secondHalf) const
{
Q_ASSERT(firstHalf);
@@ -238,6 +240,8 @@ inline void QBezier::split(QBezier *firstHalf, QBezier *secondHalf) const
secondHalf->y2 = (secondHalf->y3 + c)*.5;
firstHalf->y4 = secondHalf->y1 = (firstHalf->y3 + secondHalf->y2)*.5;
}
+// Patch: Workaround VS2019 compiler bug, see QTBUG-75280.
+#endif // Q_OS_WIN
inline void QBezier::parameterSplitLeft(qreal t, QBezier *left)
{
diff --git a/src/gui/painting/qpaintengine_p.h b/src/gui/painting/qpaintengine_p.h
index 918c98997b..4158259743 100644
--- a/src/gui/painting/qpaintengine_p.h
@@ -234,6 +295,40 @@ index c4cb8e65c0..45793e364f 100644
channels[i].socket->close();
delete channels[i].socket;
}
diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp
index 94235a48dd..9abd2cc0a1 100644
--- a/src/network/access/qnetworkreplyhttpimpl.cpp
+++ b/src/network/access/qnetworkreplyhttpimpl.cpp
@@ -2045,6 +2045,9 @@ void QNetworkReplyHttpImplPrivate::finished()
{
Q_Q(QNetworkReplyHttpImpl);
+ // Patch: Fix crash in Linux (by crashreports).
+ QPointer<QNetworkReplyHttpImpl> guard = q;
+
if (state == Finished || state == Aborted || state == WaitingForSession)
return;
@@ -2075,6 +2078,9 @@ void QNetworkReplyHttpImplPrivate::finished()
#endif
}
+ // Patch: Fix crash in Linux (by crashreports).
+ if (!guard) return;
+
// if we don't know the total size of or we received everything save the cache
if (totalSize.isNull() || totalSize == -1 || bytesDownloaded == totalSize)
completeCacheSave();
@@ -2084,6 +2090,9 @@ void QNetworkReplyHttpImplPrivate::finished()
if (isHttpRedirectResponse() && errorCode == QNetworkReply::NoError)
return;
+ // Patch: Fix crash in Linux (by crashreports).
+ if (!guard) return;
+
state = Finished;
q->setFinished(true);
diff --git a/src/network/socket/qnativesocketengine_win.cpp b/src/network/socket/qnativesocketengine_win.cpp
index 41834b21ae..8cdf4ab145 100644
--- a/src/network/socket/qnativesocketengine_win.cpp
@@ -253,7 +348,7 @@ index 41834b21ae..8cdf4ab145 100644
setError(QAbstractSocket::NetworkError, AddressNotAvailableErrorString);
socketState = QAbstractSocket::UnconnectedState;
diff --git a/src/platformsupport/cglconvenience/cglconvenience.mm b/src/platformsupport/cglconvenience/cglconvenience.mm
index fb609ae485..7cca45ded4 100644
index fb609ae485..ef1c638d91 100644
--- a/src/platformsupport/cglconvenience/cglconvenience.mm
+++ b/src/platformsupport/cglconvenience/cglconvenience.mm
@@ -128,7 +128,12 @@ void *qcgl_createNSOpenGLPixelFormat(const QSurfaceFormat &format)
@@ -264,7 +359,7 @@ index fb609ae485..7cca45ded4 100644
+ // Patch: Fix macOS regression. On 10.14.4, it crashes on GPU switches.
+ // See https://bugreports.qt.io/browse/QTCREATORBUG-22215
+ static const QAppleOperatingSystemVersion version = qt_apple_os_version();
+ if (!(version.major == 10 && version.minor == 14 && version.patch == 4))
+ if (!(version.major == 10 && version.minor == 14 && version.patch == 4)) {
+ attrs << NSOpenGLPFAAllowOfflineRenderers;
+ }

View File

@@ -1,300 +0,0 @@
/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
using "colors.palette";
TextPalette {
linkFg: color;
monoFg: color;
selectBg: color;
selectFg: color;
selectLinkFg: color;
selectMonoFg: color;
selectOverlay: color;
}
TextStyle {
font: font;
linkFont: font;
linkFontOver: font;
lineHeight: pixels;
}
semibold: "Open Sans Semibold";
fsize: 13px;
normalFont: font(fsize);
semiboldFont: font(fsize semibold);
boxFontSize: 14px;
boxTextFont: font(boxFontSize);
emojiImgSize: 18px; // exceptional value for retina
emojiSize: 18px;
emojiPadding: 1px;
lineWidth: 1px;
defaultTextPalette: TextPalette {
linkFg: windowActiveTextFg;
monoFg: msgInMonoFg;
selectBg: msgInBgSelected;
selectFg: transparent; // use painter current pen instead
selectLinkFg: historyLinkInFgSelected;
selectMonoFg: msgInMonoFgSelected;
selectOverlay: msgSelectOverlay;
}
defaultTextStyle: TextStyle {
font: normalFont;
linkFont: normalFont;
linkFontOver: font(fsize underline);
lineHeight: 0px;
}
semiboldTextStyle: TextStyle(defaultTextStyle) {
font: semiboldFont;
linkFont: semiboldFont;
linkFontOver: font(fsize semibold underline);
}
shadowToggleDuration: 200;
slideDuration: 240;
slideShift: 100px;
slideShadow: icon {{ "slide_shadow", slideFadeOutShadowFg }};
slideWrapDuration: 150;
fadeWrapDuration: 200;
linkCropLimit: 360px;
linkFont: normalFont;
linkOverFont: font(fsize underline);
dateRadius: 6px;
buttonRadius: 3px;
setLittleSkip: 9px;
noContactsHeight: 100px;
noContactsFont: font(fsize);
noContactsColor: windowSubTextFg;
activeFadeInDuration: 500;
activeFadeOutDuration: 3000;
msgMaxWidth: 430px;
msgFont: font(fsize);
msgNameFont: semiboldFont;
msgNameStyle: semiboldTextStyle;
msgServiceFont: semiboldFont;
msgServiceNameFont: semiboldFont;
msgServicePhotoWidth: 100px;
msgDateFont: font(13px);
msgMinWidth: 160px;
msgPhotoSize: 33px;
msgPhotoSkip: 40px;
msgPadding: margins(13px, 7px, 13px, 8px);
msgMargin: margins(16px, 6px, 56px, 2px);
msgMarginTopAttached: 1px;
msgLnkPadding: 2px; // for media open / save links
msgShadow: 2px;
msgReplyPadding: margins(6px, 6px, 11px, 6px);
msgReplyBarPos: point(1px, 0px);
msgReplyBarSize: size(2px, 36px);
msgReplyBarSkip: 10px;
msgServicePadding: margins(12px, 3px, 12px, 4px);
msgServiceMargin: margins(10px, 10px, 10px, 2px);
msgDateSpace: 12px;
msgDateDelta: point(2px, 5px);
msgDateImgDelta: 4px;
msgDateImgPadding: point(8px, 2px);
msgDateImgCheckSpace: 4px;
messageTextStyle: defaultTextStyle;
msgDateTextStyle: defaultTextStyle;
serviceTextPalette: TextPalette(defaultTextPalette) {
linkFg: msgServiceFg;
monoFg: msgServiceFg;
selectBg: msgServiceBgSelected;
selectFg: msgServiceFg;
selectLinkFg: msgServiceFg;
selectMonoFg: msgServiceFg;
selectOverlay: msgServiceBgSelected;
}
serviceTextStyle: TextStyle(defaultTextStyle) {
font: msgServiceFont;
linkFont: msgServiceFont;
linkFontOver: font(fsize semibold underline);
}
inTextPalette: TextPalette(defaultTextPalette) {
linkFg: historyLinkInFg;
monoFg: msgInMonoFg;
selectBg: msgInBgSelected;
selectFg: historyTextInFgSelected;
selectLinkFg: historyLinkInFgSelected;
selectMonoFg: msgInMonoFgSelected;
selectOverlay: msgSelectOverlay;
}
inTextPaletteSelected: TextPalette(inTextPalette) {
linkFg: historyLinkInFgSelected;
monoFg: msgInMonoFgSelected;
}
outTextPalette: TextPalette(defaultTextPalette) {
linkFg: historyLinkOutFg;
monoFg: msgOutMonoFg;
selectBg: msgOutBgSelected;
selectFg: historyTextOutFgSelected;
selectLinkFg: historyLinkOutFgSelected;
selectMonoFg: msgOutMonoFgSelected;
selectOverlay: msgSelectOverlay;
}
outTextPaletteSelected: TextPalette(outTextPalette) {
linkFg: historyLinkOutFgSelected;
monoFg: msgOutMonoFgSelected;
}
fwdTextStyle: TextStyle(semiboldTextStyle) {
linkFontOver: semiboldFont;
}
inFwdTextPalette: TextPalette(defaultTextPalette) {
linkFg: msgInServiceFg;
}
outFwdTextPalette: TextPalette(defaultTextPalette) {
linkFg: msgOutServiceFg;
}
inFwdTextPaletteSelected: TextPalette(defaultTextPalette) {
linkFg: msgInServiceFgSelected;
}
outFwdTextPaletteSelected: TextPalette(defaultTextPalette) {
linkFg: msgOutServiceFgSelected;
}
inReplyTextPalette: TextPalette(inTextPalette) {
linkFg: msgInDateFg;
}
inReplyTextPaletteSelected: TextPalette(inTextPaletteSelected) {
linkFg: msgInDateFgSelected;
}
outReplyTextPalette: TextPalette(outTextPalette) {
linkFg: msgOutDateFg;
}
outReplyTextPaletteSelected: TextPalette(outTextPaletteSelected) {
linkFg: msgOutDateFgSelected;
}
imgReplyTextPalette: TextPalette(defaultTextPalette) {
linkFg: msgImgReplyBarColor;
}
inSemiboldPalette: TextPalette(inTextPalette) {
linkFg: msgInServiceFg;
selectFg: msgInServiceFgSelected;
selectLinkFg: msgInServiceFgSelected;
}
outSemiboldPalette: TextPalette(outTextPalette) {
linkFg: msgOutServiceFg;
selectFg: msgOutServiceFgSelected;
selectLinkFg: msgOutServiceFgSelected;
}
historyComposeAreaPalette: TextPalette(defaultTextPalette) {
linkFg: historyComposeAreaFgService;
}
mediaCaptionSkip: 5px;
mediaInBubbleSkip: 5px;
mediaThumbSize: 48px;
mediaNameTop: 3px;
mediaDetailsShift: 3px;
mediaUnreadSize: 7px;
mediaUnreadSkip: 5px;
mediaUnreadTop: 6px;
mediaInPalette: TextPalette(defaultTextPalette) {
linkFg: mediaInFg;
}
mediaInPaletteSelected: TextPalette(defaultTextPalette) {
linkFg: mediaInFgSelected;
}
textRectMargins: margins(-2px, -1px, -2px, -1px);
searchedBarHeight: 32px;
searchedBarFont: normalFont;
searchedBarPosition: point(17px, 7px);
smallCloseIcon: icon {{ "simple_close", smallCloseIconFg }};
smallCloseIconOver: icon {{ "simple_close", smallCloseIconFgOver }};
dialogsForwardCancelIcon: icon {{ "simple_close", dialogsForwardFg }};
emojiTextFont: font(15px);
emojiReplaceWidth: 52px;
emojiReplaceHeight: 56px;
emojiReplaceInnerHeight: 42px;
emojiReplacePadding: 14px;
dragFont: font(28px semibold);
dragSubfont: font(20px semibold);
dragColor: windowSubTextFg;
dragDropColor: windowActiveTextFg;
dragMargin: margins(0px, 10px, 0px, 10px);
dragPadding: margins(20px, 10px, 20px, 10px);
dragHeight: 72px;
radialSize: size(50px, 50px);
radialLine: 3px;
radialDuration: 350;
radialPeriod: 3000;
youtubeIcon: icon {
{ "media_youtube_play_bg", youtubePlayIconBg },
{ "media_youtube_play", youtubePlayIconFg, point(24px, 12px) },
};
videoIcon: icon {
{ "media_video_play_bg", videoPlayIconBg },
{ "media_video_play", videoPlayIconFg, point(12px, 12px) },
};
locationSize: size(320px, 240px);
mediaPlayerSuppressDuration: 150;
botDescSkip: 8px;
inlineResultsLeft: 11px;
inlineResultsSkip: 3px;
inlineMediaHeight: 96px;
inlineThumbSize: 64px;
inlineThumbSkip: 10px;
inlineTitleFg: windowFg;
inlineDescriptionFg: windowSubTextFg;
inlineRowMargin: 6px;
inlineRowBorder: 1px;
inlineRowBorderFg: shadowFg;
inlineRowFileNameTop: 2px;
inlineRowFileDescriptionTop: 23px;
inlineResultsMinWidth: 48px;
inlineDurationMargin: 3px;
toastTextStyle: defaultTextStyle;
toastMaxWidth: 480px;
toastMinMargin: 13px;
toastPadding: margins(19px, 13px, 19px, 12px);
toastFadeInDuration: 200;
toastFadeOutDuration: 1000;
historyReplyCancelIcon: icon {{ "box_button_close", historyReplyCancelFg }};
historyReplyCancelIconOver: icon {{ "box_button_close", historyReplyCancelFgOver }};
boxTitleCloseIcon: icon {{ "box_button_close", boxTitleCloseFg }};
boxTitleCloseIconOver: icon {{ "box_button_close", boxTitleCloseFgOver }};
notifyFadeRight: icon {{ "fade_horizontal", notificationBg }};
stickerIconLeft: icon {{ "fade_horizontal-flip_horizontal", emojiPanCategories }};
stickerIconRight: icon {{ "fade_horizontal", emojiPanCategories }};
emojiSuggestionsFadeLeft: icon {{ "fade_horizontal-flip_horizontal", boxBg }};
emojiSuggestionsFadeRight: icon {{ "fade_horizontal", boxBg }};
transparentPlaceholderSize: 4px;

View File

@@ -1,555 +0,0 @@
/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
// basic
windowBg: #ffffff; // white: fallback for background
windowFg: #000000; // black: fallback for text
windowBgOver: #f1f1f1; // light gray: fallback for background with mouse over
windowBgRipple: #e5e5e5; // darker gray: fallback for ripple effect
windowFgOver: windowFg; // black: fallback for text with mouse over
windowSubTextFg: #999999; // gray: fallback for additional text
windowSubTextFgOver: #919191; // darker gray: fallback for additional text with mouse over
windowBoldFg: #222222; // dark gray: fallback for bold text
windowBoldFgOver: #222222; // dark gray: fallback for bold text with mouse over
windowBgActive: #40a7e3; // bright blue: fallback for blue filled active areas
windowFgActive: #ffffff; // white: fallback for text on active areas
windowActiveTextFg: #168acd; // online blue: fallback for active text like online status
windowShadowFg: #000000; // black: fallback for shadow
windowShadowFgFallback: #f1f1f1; // gray: fallback for shadow without opacity
shadowFg: #00000018; // most shadows (including opacity)
slideFadeOutBg: #0000003c; // slide animation (chat to profile) fade out filling
slideFadeOutShadowFg: windowShadowFg; // slide animation (chat to profile) fade out right section shadow
imageBg: #000000; // image background fallback (when photo size is less than minimum allowed)
imageBgTransparent: #ffffff; // image background when displaying an image with opacity where no opacity is needed
// widgets
activeButtonBg: windowBgActive; // default active button background
activeButtonBgOver: #39a5db; // default active button background with mouse over
activeButtonBgRipple: #2095d0; // default active button ripple effect
activeButtonFg: windowFgActive; // default active button text
activeButtonFgOver: activeButtonFg; // default active button text with mouse over
activeButtonSecondaryFg: #cceeff; // default active button additional text (selected messages counter in forward / delete buttons)
activeButtonSecondaryFgOver: activeButtonSecondaryFg; // default active button additional text with mouse over
activeLineFg: #37a1de; // default active line (like code input field bottom border when you log in and field is focused)
activeLineFgError: #e48383; // default active line for error state (like code input field bottom border when you log in and you've entered incorrect code)
lightButtonBg: windowBg; // default light button background (like buttons in boxes)
lightButtonBgOver: #e3f1fa; // default light button background with mouse over
lightButtonBgRipple: #c9e4f6; // default light button ripple effect
lightButtonFg: windowActiveTextFg; // default light button text
lightButtonFgOver: lightButtonFg; // default light button text with mouse over
attentionButtonFg: #d14e4e; // default attention button text (like confirm button on log out)
attentionButtonFgOver: #d14e4e; // default attention button text with mouse over
attentionButtonBgOver: #fcdfde; // default attention button background with mouse over
attentionButtonBgRipple: #f4c3c2; // default attention button ripple effect
outlineButtonBg: windowBg; // default left outlined button background (like shared media links in profiles)
outlineButtonBgOver: lightButtonBgOver; // default left outlined button background with mouse over
outlineButtonOutlineFg: windowBgActive; // default left outlined button left outline border
outlineButtonBgRipple: lightButtonBgRipple; // default left outlined button ripple effect
menuBg: windowBg; // default popup menu background
menuBgOver: windowBgOver; // default popup menu item background with mouse over
menuBgRipple: windowBgRipple; // default popup menu item ripple effect
menuIconFg: #a8a8a8; // default popup menu item icon (like main menu)
menuIconFgOver: #999999; // default popup menu item icon with mouse over
menuSubmenuArrowFg: #373737; // default popup menu submenu arrow icon (like in message field context menu in case of RTL system language)
menuFgDisabled: #cccccc; // default popup menu item disabled text (like unavailable items in message field context menu)
menuSeparatorFg: #f1f1f1; // default popup menu separator (like in message field context menu)
scrollBarBg: #00000053; // default scroll bar current rectangle, the bar itself (like in chats list)
scrollBarBgOver: #0000007a; // default scroll bar current rectangle with mouse over it
scrollBg: #0000001a; // default scroll bar background
scrollBgOver: #0000002c; // default scroll bar background with mouse over the scroll bar
smallCloseIconFg: #c7c7c7; // small X icon (like in Show all sessions box to the right for sessions termination)
smallCloseIconFgOver: #a3a3a3; // small X icon with mouse over
radialFg: windowFgActive; // default radial loader line (like in Media Viewer when loading a photo)
radialBg: #00000056; // default radial loader background (like in Media Viewer when loading a photo)
placeholderFg: windowSubTextFg; // default input field placeholder when field is not focused (like in phone input field when you log in)
placeholderFgActive: #aaaaaa; // default input field placeholder when field is focused
inputBorderFg: #e0e0e0; // default input field bottom border (like in code input field when you log in and field is not focused)
filterInputBorderFg: #54c3f3; // default rounded input field border (like in chats list search field when field is focused)
filterInputActiveBg: windowBg; // default rounded input field active background (like in chats list search field when field is focused)
filterInputInactiveBg: windowBgOver; // default rounded input field inactive background (like in chats list search field when field is inactive)
checkboxFg: #b3b3b3; // default unchecked checkbox rounded rectangle
botKbBg: menuBgOver; // bot keyboard button background
botKbDownBg: menuBgRipple; // bot keyboard button ripple effect
botKbColor: windowBoldFgOver; // bot keyboard button text
sliderBgInactive: #e1eaef; // default slider not active bar (like in Settings when you choose interface scale or custom notifications count)
sliderBgActive: windowBgActive; // default slider active bar (like in Settings when you choose interface scale or custom notifications count)
tooltipBg: #eef2f5; // tooltip background (like when you put mouse over the message timestamp and wait)
tooltipFg: #5d6c80; // tooltip text
tooltipBorderFg: #c9d1db; // tooltip border
// custom title bar for Windows and macOS
titleShadow: #00000003; // one pixel line shadow at the bottom of custom window title
titleBg: windowBgOver; // custom window title background when window is inactive
titleBgActive: titleBg; // custom window title background when window is active
titleButtonBg: titleBg; // custom window title minimize/maximize/restore button background when window is inactive (Windows only)
titleButtonFg: #ababab; // custom window title minimize/maximize/restore button icon when window is inactive (Windows only)
titleButtonBgOver: #e5e5e5; // custom window title minimize/maximize/restore button background with mouse over when window is inactive (Windows only)
titleButtonFgOver: #9a9a9a; // custom window title minimize/maximize/restore button icon with mouse over when window is inactive (Windows only)
titleButtonBgActive: titleButtonBg; // custom window title minimize/maximize/restore button background when window is active (Windows only)
titleButtonFgActive: titleButtonFg; // custom window title minimize/maximize/restore button icon when window is active (Windows only)
titleButtonBgActiveOver: titleButtonBgOver; // custom window title minimize/maximize/restore button background with mouse over when window is active (Windows only)
titleButtonFgActiveOver: titleButtonFgOver; // custom window title minimize/maximize/restore button icon with mouse over when window is active (Windows only)
titleButtonCloseBg: titleButtonBg; // custom window title close button background when window is inactive (Windows only)
titleButtonCloseFg: titleButtonFg; // custom window title close button icon when window is inactive (Windows only)
titleButtonCloseBgOver: #e81123; // custom window title close button background with mouse over when window is inactive (Windows only)
titleButtonCloseFgOver: windowFgActive; // custom window title close button icon with mouse over when window is inactive (Windows only)
titleButtonCloseBgActive: titleButtonCloseBg; // custom window title close button background when window is active (Windows only)
titleButtonCloseFgActive: titleButtonCloseFg; // custom window title close button icon when window is active (Windows only)
titleButtonCloseBgActiveOver: titleButtonCloseBgOver; // custom window title close button background with mouse over when window is active (Windows only)
titleButtonCloseFgActiveOver: titleButtonCloseFgOver; // custom window title close button icon with mouse over when window is active (Windows only)
titleFg: #acacac; // custom window title text when window is inactive (macOS only)
titleFgActive: #3e3c3e; // custom window title text when window is active (macOS only)
// tray icon
trayCounterBg: #f23c34; // tray icon counter background
trayCounterBgMute: #888888; // tray icon counter background if all unread messages are muted
trayCounterFg: #ffffff; // tray icon counter text
trayCounterBgMacInvert: #ffffff; // tray icon counter background when tray icon is pressed or when dark theme of macOS is used (macOS only)
trayCounterFgMacInvert: #ffffff01; // tray icon counter text when tray icon is pressed or when dark theme of macOS is used (macOS only)
// layers
layerBg: #0000007f; // box and main menu background layer fade
cancelIconFg: menuIconFg; // default for settings close icon and box search cancel icon
cancelIconFgOver: menuIconFgOver; // default for settings close icon and box search cancel icon with mouse over
// boxes
boxBg: windowBg; // box background
boxTextFg: windowFg; // box text
boxTextFgGood: #4ab44a; // accepted box text (like when choosing username that is not occupied)
boxTextFgError: #d84d4d; // rejecting box text (like when choosing username that is occupied)
boxTitleFg: #404040; // box title text
boxSearchBg: boxBg; // box search field background (like in contacts box)
boxTitleAdditionalFg: #808080; // box title additional text (like in create group box when you see chosen members count)
boxTitleCloseFg: cancelIconFg; // settings close icon and box search cancel icon (like in contacts box)
boxTitleCloseFgOver: cancelIconFgOver; // settings close icon and box search cancel icon (like in contacts box) with mouse over
//boxSearchCancelIconFg: cancelIconFg; // search cancel X button icon (like in contacts box) (not implemented yet)
//boxSearchCancelIconFgOver: cancelIconFgOver; // search cancel X button icon with mouse over (not implemented yet)
membersAboutLimitFg: windowSubTextFgOver; // text in channel members box about the limit (max 200 last members are shown)
contactsBg: windowBg; // contacts (and some other) box row background
contactsBgOver: windowBgOver; // contacts (and some other) box row background with mouse over
contactsNameFg: boxTextFg; // contacts (and some other) box row name text
contactsStatusFg: windowSubTextFg; // contacts (and some other) box row additional text (like last seen stamp)
contactsStatusFgOver: windowSubTextFgOver; // contacts (and some other) box row additional text (like last seen stamp) with mouse over
contactsStatusFgOnline: windowActiveTextFg; // contacts (and some other) box row active additional text (like online status)
photoCropFadeBg: layerBg; // avatar crop box fade background (when choosing a new photo in Settings or for a group)
photoCropPointFg: #ffffff7f; // avatar crop box corner rectangles (when choosing a new photo in Settings or for a group)
callArrowFg: #2ab32a | boxTextFgGood; // received phone call arrow (in calls list box)
callArrowMissedFg: #dd5b4a | boxTextFgError; // missed phone call arrow (in calls list box)
// intro
introBg: windowBg; // login background
introTitleFg: windowBoldFg; // login title text
introDescriptionFg: windowSubTextFg; // login description text
introErrorFg: windowSubTextFg; // login error text (like when providing a wrong log in code)
introCoverTopBg: #0f89d0; // intro gradient top (from)
introCoverBottomBg: #39b0f0; // intro gradient bottom (to)
introCoverIconsFg: #5ec6ff; // intro cloud graphics
introCoverPlaneTrace: #5ec6ff69; // intro plane traces
introCoverPlaneInner: #c6d8e8; // intro plane part
introCoverPlaneOuter: #a1bed4; // intro plane part
introCoverPlaneTop: #ffffff; // intro plane part
// dialogs
dialogsMenuIconFg: menuIconFg; // main menu and lock telegram icon
dialogsMenuIconFgOver: menuIconFgOver; // main menu and lock telegram icon with mouse over
dialogsBg: windowBg; // chat list background
dialogsNameFg: windowBoldFg; // chat list name text
dialogsChatIconFg: dialogsNameFg; // chat list group or channel icon
dialogsDateFg: windowSubTextFg; // chat list date text
dialogsTextFg: windowSubTextFg; // chat list message text
dialogsTextFgService: windowActiveTextFg; // chat list group sender name text (or media message type text)
dialogsDraftFg: #dd4b39; // chat list draft label
dialogsVerifiedIconBg: windowBgActive; // chat list verified icon background
dialogsVerifiedIconFg: windowFgActive; // chat list verified icon check
dialogsSendingIconFg: #c1c1c1; // chat list sending message icon (clock)
dialogsSentIconFg: #5dc452; // chat list sent message tick / double tick icon
dialogsUnreadBg: windowBgActive; // chat list unread badge background for not muted chat
dialogsUnreadBgMuted: #bbbbbb; // chat list unread badge background for muted chat
dialogsUnreadFg: windowFgActive; // chat list unread badge text
dialogsArchiveFg: #525252 | dialogsNameFg; // chat list archive name text
dialogsBgOver: windowBgOver; // chat list background with mouse over
dialogsNameFgOver: windowBoldFgOver; // chat list name text with mouse over
dialogsChatIconFgOver: dialogsNameFgOver; // chat list group or channel icon with mouse over
dialogsDateFgOver: windowSubTextFgOver; // chat list date text with mouse over
dialogsTextFgOver: windowSubTextFgOver; // chat list message text with mouse over
dialogsTextFgServiceOver: dialogsTextFgService; // chat list group sender name text with mouse over
dialogsDraftFgOver: dialogsDraftFg; // chat list draft label with mouse over
dialogsVerifiedIconBgOver: dialogsVerifiedIconBg; // chat list verified icon background with mouse over
dialogsVerifiedIconFgOver: dialogsVerifiedIconFg; // chat list verified icon check with mouse over
dialogsSendingIconFgOver: dialogsSendingIconFg; // chat list sending message icon (clock) with mouse over
dialogsSentIconFgOver: dialogsSentIconFg; // chat list sent message tick / double tick icon with mouse over
dialogsUnreadBgOver: dialogsUnreadBg; // chat list unread badge background for not muted chat with mouse over
dialogsUnreadBgMutedOver: dialogsUnreadBgMuted; // chat list unread badge background for muted chat with mouse over
dialogsUnreadFgOver: dialogsUnreadFg; // chat list unread badge text with mouse over
dialogsArchiveFgOver: #525252 | dialogsNameFgOver; // chat list archive name text
dialogsBgActive: #419fd9; // chat list background for current (active) chat
dialogsNameFgActive: windowFgActive; // chat list name text for current (active) chat
dialogsChatIconFgActive: dialogsNameFgActive; // chat list group or channel icon for current (active) chat
dialogsDateFgActive: windowFgActive; // chat list date text for current (active) chat
dialogsTextFgActive: windowFgActive; // chat list message text for current (active) chat
dialogsTextFgServiceActive: dialogsTextFgActive; // chat list group sender name text for current (active) chat
dialogsDraftFgActive: #c6e1f7; // chat list draft label for current (active) chat
dialogsVerifiedIconBgActive: dialogsTextFgActive; // chat list verified icon background for current (active) chat
dialogsVerifiedIconFgActive: dialogsBgActive; // chat list verified icon check for current (active) chat
dialogsSendingIconFgActive: #ffffff99; // chat list sending message icon (clock) for current (active) chat
dialogsSentIconFgActive: dialogsTextFgActive; // chat list sent message tick / double tick icon for current (active) chat
dialogsUnreadBgActive: dialogsTextFgActive; // chat list unread badge background for not muted chat for current (active) chat
dialogsUnreadBgMutedActive: dialogsDraftFgActive; // chat list unread badge background for muted chat for current (active) chat
dialogsUnreadFgActive: dialogsBgActive; // chat list unread badge text for current (active) chat
dialogsRippleBg: windowBgRipple; // chat list background ripple effect
dialogsRippleBgActive: activeButtonBgRipple; // chat list background ripple effect for current (active) chat
dialogsForwardBg: dialogsBgActive; // forwarding panel background (when forwarding messages in the smallest window size)
dialogsForwardFg: dialogsNameFgActive; // forwarding panel text (when forwarding messages in the smallest window size)
searchedBarBg: windowBgOver; // search results bar background (in chats list, contacts box..)
searchedBarFg: windowSubTextFgOver; // search results bar text (in chats list, contacts box..)
// history
topBarBg: windowBg; // top bar background (in chat view, media overview..)
emojiPanBg: windowBg; // emoji panel background
emojiPanCategories: #f7f7f7 | windowBg; // emoji panel categories background
emojiPanHeaderFg: windowSubTextFg; // emoji panel section header text
emojiPanHeaderBg: #fffffff2 | emojiPanBg; // emoji panel section header background
emojiIconFg: checkboxFg; // emoji category icon
emojiIconFgActive: windowBgActive; // active emoji category icon
stickerPanDeleteBg: #000000ff; // delete X button background for custom sent stickers in stickers panel (legacy)
stickerPanDeleteFg: windowFgActive; // delete X button icon for custom sent stickers in stickers panel (legacy)
stickerPreviewBg: #ffffffb0; // sticker and GIF preview background (when you press and hold on a sticker)
historyTextInFg: windowFg; // inbox message text
historyTextInFgSelected: historyTextInFg; // inbox message selected text or text in a selected message
historyTextOutFg: windowFg; // outbox message text
historyTextOutFgSelected: historyTextOutFg; // outbox message selected text or text in a selected message
historyLinkInFg: windowActiveTextFg; // inbox message link
historyLinkInFgSelected: historyLinkInFg; // inbox message link in a selected text or message
historyLinkOutFg: windowActiveTextFg; // outbox message link
historyLinkOutFgSelected: historyLinkOutFg; // outbox message link in a selected text or message
historyFileNameInFg: historyTextInFg; // inbox media filename text
historyFileNameInFgSelected: historyFileNameInFg; // inbox media filename text in a selected message
historyFileNameOutFg: historyTextOutFg; // outbox media filename text
historyFileNameOutFgSelected: historyFileNameOutFg; // outbox media filename text in a selected message
historyOutIconFg: dialogsSentIconFg; // outbox message tick / double tick icon
historyOutIconFgSelected: #4da79f; // outbox message tick / double tick icon in a selected message
historyIconFgInverted: windowFgActive; // media message tick / double tick icon (like in sent photo)
historySendingOutIconFg: #98d292; // outbox sending message icon (clock)
historySendingInIconFg: #a0adb5; // inbox sending message icon (clock) (like in sent messages to yourself or in sent messages to a channel)
historySendingInvertedIconFg: #ffffffc8; // media sending message icon (clock) (like in sent photo)
historyCallArrowInFg: callArrowFg; // received phone call arrow
historyCallArrowInFgSelected: callArrowFg; // received phone call arrow in a selected message
historyCallArrowMissedInFg: callArrowMissedFg; // missed phone call arrow
historyCallArrowMissedInFgSelected: callArrowMissedFg; // missed phone call arrow in a selected message
historyCallArrowOutFg: historyCallArrowInFg; // outgoing phone call arrow
historyCallArrowOutFgSelected: historyCallArrowInFgSelected; // outgoing phone call arrow
historyUnreadBarBg: #fcfbfa; // new unread messages bar background
historyUnreadBarBorder: shadowFg; // new unread messages bar shadow
historyUnreadBarFg: #538bb4; // new unread messages bar text
historyForwardChooseBg: #0000004c; // forwarding messages in a large window size "choose recipient" background
historyForwardChooseFg: windowFgActive; // forwarding messages in a large window size "choose recipient" text
historyPeer1NameFg: #c03d33; // red group member name
historyPeer1NameFgSelected: historyPeer1NameFg; // red group member name in a selected message
historyPeer1UserpicBg: #e17076; // red userpic background
historyPeer2NameFg: #4fad2d; // green group member name
historyPeer2NameFgSelected: historyPeer2NameFg; // green group member name in a selected message
historyPeer2UserpicBg: #7bc862; // green userpic background
historyPeer3NameFg: #d09306; // yellow group member name
historyPeer3NameFgSelected: historyPeer3NameFg; // yellow group member name in a selected message
historyPeer3UserpicBg: #e5ca77; // yellow userpic background
historyPeer4NameFg: windowActiveTextFg; // blue group member name
historyPeer4NameFgSelected: historyPeer4NameFg; // blue group member name in a selected message
historyPeer4UserpicBg: #65aadd; // blue userpic background
historyPeer5NameFg: #8544d6; // purple group member name
historyPeer5NameFgSelected: historyPeer5NameFg; // purple group member name in a selected message
historyPeer5UserpicBg: #a695e7; // purple userpic background
historyPeer6NameFg: #cd4073; // pink group member name
historyPeer6NameFgSelected: historyPeer6NameFg; // pink group member name in a selected message
historyPeer6UserpicBg: #ee7aae; // pink userpic background
historyPeer7NameFg: #2996ad; // sea group member name
historyPeer7NameFgSelected: historyPeer7NameFg; // sea group member name in a selected message
historyPeer7UserpicBg: #6ec9cb; // sea userpic background
historyPeer8NameFg: #ce671b; // orange group member name
historyPeer8NameFgSelected: historyPeer8NameFg; // orange group member name in a selected message
historyPeer8UserpicBg: #faa774; // orange userpic background
historyPeerUserpicFg: windowFgActive; // default userpic initials
historyPeerSavedMessagesBg: historyPeer4UserpicBg; // saved messages userpic background
historyPeerArchiveUserpicBg: dialogsUnreadBgMuted; // archive folder userpic background
// Some values are marked as (adjusted), it means they're adjusted by
// hue and saturation of the average background color if user chooses
// some other (not bundled to this color theme) background. If the
// bundled background is used those colors are not adjusted in any way.
historyScrollBarBg: #517c417a; // scroll bar current rectangle, the bar itself in the chat view (adjusted)
historyScrollBarBgOver: #517c41bc; // scroll bar current rectangle with mouse over it in the chat view (adjusted)
historyScrollBg: #517c414c; // scroll bar background (adjusted)
historyScrollBgOver: #517c416b; // scroll bar background with mouse over the scroll bar (adjusted)
msgInBg: windowBg; // inbox message background
msgInBgSelected: #c2dcf2; // inbox selected message background (and background of selected text in those messages)
msgOutBg: #effdde; // outbox message background
msgOutBgSelected: #b7dbdb; // outbox selected message background (and background of selected text in those messages)
msgSelectOverlay: #358cd44c; // overlay which is filling the media parts of selected messages (like in selected photo message)
msgStickerOverlay: #358cd47f; // overlay which is filling the selected sticker message
msgInServiceFg: windowActiveTextFg; // inbox message information text (like information about a forwarded message original sender)
msgInServiceFgSelected: windowActiveTextFg; // inbox selected message information text (like information about a forwarded message original sender)
msgOutServiceFg: #3a8e26; // outbox message information text (like information about a forwarded message original sender)
msgOutServiceFgSelected: #367570; // outbox message information text (like information about a forwarded message original sender)
msgInShadow: #748ea229; // inbox message shadow (below the bubble)
msgInShadowSelected: #548dbb29; // inbox selected message shadow (below the bubble)
msgOutShadow: #3ac34740; // outbox message shadow (below the bubble)
msgOutShadowSelected: #37a78e40; // outbox selected message shadow (below the bubble)
msgInDateFg: #a0acb6; // inbox message time text
msgInDateFgSelected: #6a9cc5; // inbox selected message time text
msgOutDateFg: #6cc264; // outbox message time text
msgOutDateFgSelected: #50a79c; // outbox selected message time text
msgServiceFg: windowFgActive; // service message text (like date dividers or service message about the group title being changed)
msgServiceBg: #517c417f; // service message background (like in a service message about group title being changed) (adjusted)
msgServiceBgSelected: #96b38ba2; // service message selected text background (like in a service message about group title being changed) (adjusted)
msgInReplyBarColor: activeLineFg; // inbox message reply outline
msgInReplyBarSelColor: activeLineFg; // inbox selected message reply outline
msgOutReplyBarColor: historyOutIconFg; // outbox message reply outline
msgOutReplyBarSelColor: historyOutIconFgSelected; // outbox selected message reply outline
msgImgReplyBarColor: msgServiceFg; // sticker message reply outline
msgInMonoFg: #4e7391; // inbox message monospace text (like a message sent with `test` text)
msgOutMonoFg: #469165; // outbox message monospace text
msgInMonoFgSelected: msgInMonoFg; // inbox message monospace text in a selected text or message
msgOutMonoFgSelected: msgOutMonoFg; // outbox message monospace text in a selected text or message
msgDateImgFg: msgServiceFg; // media message time text (like time text in a sent photo)
msgDateImgBg: #00000054; // media message time bubble background (like time bubble in a sent photo) or file with thumbnail download icon circle background
msgDateImgBgOver: #00000074; // media message download icon circle background with mouse over (like file with thumbnail download icon)
msgDateImgBgSelected: #1c4a7187; // selected media message time bubble background
msgFileThumbLinkInFg: lightButtonFg; // inbox media file message with thumbnail download / open with button text
msgFileThumbLinkInFgSelected: lightButtonFgOver; // inbox selected media file message with thumbnail download / open with button text
msgFileThumbLinkOutFg: #5eba5b; // outbox media file message with thumbnail download / open with button text
msgFileThumbLinkOutFgSelected: #31a298; // outbox selected media file message with thumbnail download / open with button text
msgFileInBg: windowBgActive; // inbox audio file download circle background
msgFileInBgOver: #4eade3; // inbox audio file download circle background with mouse over
msgFileInBgSelected: #51a3d3; // inbox selected audio file download circle background
msgFileOutBg: #78c67f; // outbox audio file download circle background
msgFileOutBgOver: #6bc272; // outbox audio file download circle background with mouse over
msgFileOutBgSelected: #5fb389; // outbox selected audio file download circle background
msgFile1Bg: #72b1df; // blue shared links / files without image square thumbnail
msgFile1BgDark: #5c9ece; // blue shared files without image download circle background
msgFile1BgOver: #5294c4; // blue shared files without image download circle background with mouse over
msgFile1BgSelected: #5099d0; // blue shared files without image download circle background if file is selected
msgFile2Bg: #61b96e; // green shared links / shared files without image square thumbnail
msgFile2BgDark: #4da859; // green shared files without image download circle background
msgFile2BgOver: #44a050; // green shared files without image download circle background with mouse over
msgFile2BgSelected: #46a07e; // green shared files without image download circle background if file is selected
msgFile3Bg: #e47272; // red shared links / shared files without image square thumbnail
msgFile3BgDark: #cd5b5e; // red shared files without image download circle background
msgFile3BgOver: #c35154; // red shared files without image download circle background with mouse over
msgFile3BgSelected: #9f6a82; // red shared files without image download circle background if file is selected
msgFile4Bg: #efc274; // yellow shared links / shared files without image square thumbnail
msgFile4BgDark: #e6a561; // yellow shared files without image download circle background
msgFile4BgOver: #dc9c5a; // yellow shared files without image download circle background with mouse over
msgFile4BgSelected: #b19d84; // yellow shared files without image download circle background if file is selected
historyFileInIconFg: msgInBg; // inbox file without thumbnail (like audio file) download arrow icon
historyFileInIconFgSelected: msgInBgSelected; // inbox selected file without thumbnail (like audio file) download arrow icon
historyFileInRadialFg: historyFileInIconFg; // inbox file without thumbnail (like audio file) radial download animation line
historyFileInRadialFgSelected: historyFileInIconFgSelected; // inbox selected file without thumbnail (like audio file) radial download animation line
historyFileOutIconFg: msgOutBg; // outbox file without thumbnail (like audio file) download arrow icon
historyFileOutIconFgSelected: msgOutBgSelected; // outbox selected file without thumbnail (like audio file) download arrow icon
historyFileOutRadialFg: historyFileOutIconFg; // outbox file without thumbnail (like audio file) radial download animation line
historyFileOutRadialFgSelected: historyFileOutIconFgSelected; // outbox selected file without thumbnail (like audio file) radial download animation line
historyFileThumbIconFg: msgInBg; // file with thumbnail (or photo / video) download arrow icon
historyFileThumbIconFgSelected: msgInBgSelected; // selected file with thumbnail (or photo / video) download arrow icon
historyFileThumbRadialFg: historyFileThumbIconFg; // file with thumbnail (or photo / video) radial download animation line
historyFileThumbRadialFgSelected: historyFileThumbIconFgSelected; // selected file with thumbnail (or photo / video) radial download animation line
historyVideoMessageProgressFg: historyFileThumbIconFg; // radial playback progress in round video messages
msgWaveformInActive: windowBgActive; // inbox voice message active waveform lines (like played part of currently playing voice message)
msgWaveformInActiveSelected: #51a3d3; // inbox selected voice message active waveform lines (like played part of currently playing voice message)
msgWaveformInInactive: #d4dee6; // inbox voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgWaveformInInactiveSelected: #9cc1e1; // inbox selected voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgWaveformOutActive: #78c67f; // outbox voice message active waveform lines (like played part of currently playing voice message)
msgWaveformOutActiveSelected: #6badad; // outbox selected voice message active waveform lines (like played part of currently playing voice message)
msgWaveformOutInactive: #b3e2b4; // outbox voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgWaveformOutInactiveSelected: #91c3c3; // outbox selected voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgBotKbOverBgAdd: #ffffff20; // this is painted over a bot inline keyboard button (which has msgServiceBg background) when mouse is over that button
msgBotKbIconFg: msgServiceFg; // bot inline keyboard button icon in the top-right corner (like in @vote bot when a poll is ready to be shared)
msgBotKbRippleBg: #00000020; // bot inline keyboard button ripple effect
mediaInFg: msgInDateFg; // inbox media message status text (like in file that is being downloaded)
mediaInFgSelected: msgInDateFgSelected; // inbox selected media message status text (like in file that is being downloaded)
mediaOutFg: msgOutDateFg; // outbox media message status text (like in file that is being downloaded)
mediaOutFgSelected: msgOutDateFgSelected; // outbox selected media message status text (like in file that is being downloaded)
youtubePlayIconBg: #e83131c8; // youtube play icon background (when a link to a youtube video with a webpage preview is sent)
youtubePlayIconFg: windowFgActive; // youtube play icon arrow (when a link to a youtube video with a webpage preview is sent)
videoPlayIconBg: #0000007f; // other video play icon background (like when a link to a vimeo video with a webpage preview is sent)
videoPlayIconFg: #ffffff; // other video play icon arrow (like when a link to a vimeo video with a webpage preview is sent)
toastBg: #000000b2; // toast notification background (like when you click on your t.me link when editing your username)
toastFg: windowFgActive; // toast notification text (like when you click on your t.me link when editing your username)
reportSpamBg: emojiPanHeaderBg; // report spam panel background (like a non contact user writes your for the first time)
reportSpamFg: windowFg; // report spam panel text (when you send a report from that panel)
historyToDownBg: windowBg; // arrow button background (to scroll to the end of the viewed chat)
historyToDownBgOver: windowBgOver; // arrow button background with mouse over
historyToDownBgRipple: windowBgRipple; // arrow button ripple effect
historyToDownFg: menuIconFg; // arrow button icon
historyToDownFgOver: menuIconFgOver; // arrow button icon with mouse over
historyToDownShadow: #00000040; // arrow button shadow
historyComposeAreaBg: msgInBg; // history compose area background (message write area / reply information / forwarding information)
historyComposeAreaFg: historyTextInFg; // history compose area text
historyComposeAreaFgService: msgInDateFg; // history compose area text when replying to a media message
historyComposeIconFg: menuIconFg; // history compose area icon (like emoji, attach, bot command..)
historyComposeIconFgOver: menuIconFgOver; // history compose area icon with mouse over
historySendIconFg: windowBgActive; // send message icon
historySendIconFgOver: windowBgActive; // send message icon with mouse over
historyPinnedBg: historyComposeAreaBg; // pinned message area background
historyReplyBg: historyComposeAreaBg; // reply / forward / edit message area background
historyReplyIconFg: windowBgActive; // reply / forward / edit message left icon
historyReplyCancelFg: cancelIconFg; // reply / forward / edit message cancel button
historyReplyCancelFgOver: cancelIconFgOver; // reply / forward / edit message cancel button with mouse over
historyComposeButtonBg: historyComposeAreaBg; // unblock / join channel / mute channel button background
historyComposeButtonBgOver: windowBgOver; // unblock / join channel / mute channel button background with mouse over
historyComposeButtonBgRipple: windowBgRipple; // unblock / join channel / mute channel button ripple effect
mapPointDrop: #fd4444; // geo location marker background
mapPointDot: #ffffff; // geo location marker point
// overview
overviewCheckBg: #00000040; // shared media / files / links checkbox background for not selected rows when some rows are selected
overviewCheckBgActive: windowBgActive; // shared media / files / links checkbox background for selected rows
overviewCheckBorder: windowBg; // shared media round checkbox border
overviewCheckFg: windowBg; // shared files / links checkbox icon for not selected rows when some rows are selected
overviewCheckFgActive: windowBg; // shared files / links checkbox icon for selected rows
overviewPhotoSelectOverlay: #40ace333; // shared photos / videos / links fill for selected rows
// profile
profileStatusFgOver: #7c99b2; // group members list in group profile user last seen text with mouse over
profileVerifiedCheckBg: windowBgActive; // profile verified check icon background
profileVerifiedCheckFg: windowFgActive; // profile verified check icon tick
profileAdminStartFg: windowBgActive; // group members list creator star icon
profileAdminStarFgOver: profileAdminStartFg; // group members list creator star icon with mouse over
profileOtherAdminStarFg: windowSubTextFg; // group members list admin star icon
profileOtherAdminStarFgOver: profileStatusFgOver; // group members list admin star icon with mouse over
// settings
notificationsBoxMonitorFg: windowFg; // custom notifications settings box monitor color
notificationsBoxScreenBg: dialogsBgActive; // #6389a8; // custom notifications settings box monitor screen background
notificationSampleUserpicFg: windowBgActive; // custom notifications settings box small sample userpic placeholder
notificationSampleCloseFg: #d7d7d7 | windowSubTextFg; // custom notifications settings box small sample close button placeholder
notificationSampleTextFg: #d7d7d7 | windowSubTextFg; // custom notifications settings box small sample text placeholder
notificationSampleNameFg: #939393 | windowSubTextFg; // custom notifications settings box small sample name placeholder
changePhoneSimcardFrom: notificationSampleTextFg; // change phone number box left simcard icon
changePhoneSimcardTo: notificationSampleNameFg; // change phone number box right simcard and plane icons
mainMenuBg: windowBg; // main menu background
mainMenuCoverBg: dialogsBgActive; // main menu top cover background
mainMenuCoverFg: windowFgActive; // main menu top cover text
mainMenuCloudFg: activeButtonFg;
mainMenuCloudBg: #2785bf | activeButtonBgRipple;
mediaPlayerBg: windowBg; // audio file player background
mediaPlayerActiveFg: windowBgActive; // audio file player playback progress already played part
mediaPlayerInactiveFg: sliderBgInactive; // audio file player playback progress upcoming (not played yet) part with mouse over
mediaPlayerDisabledFg: #9dd1ef; // audio file player loading progress (when you're playing an audio file and switch to the previous one which is not loaded yet)
// mediaview
mediaviewFileBg: windowBg; // file rectangle background (when you view a png file in Media Viewer and go to a previous, not loaded yet, file)
mediaviewFileNameFg: windowFg; // file name in file rectangle
mediaviewFileSizeFg: windowSubTextFg; // file size text in file rectangle
mediaviewFileRedCornerFg: #d55959; // red file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .pdf)
mediaviewFileYellowCornerFg: #e8a659; // yellow file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .zip)
mediaviewFileGreenCornerFg: #49a957; // green file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .exe)
mediaviewFileBlueCornerFg: #599dcf; // blue file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .dmg)
mediaviewFileExtFg: activeButtonFg; // file extension text in file thumbnail placeholder in file rectangle
mediaviewMenuBg: #383838; // context menu in Media Viewer background
mediaviewMenuBgOver: #505050; // context menu item background with mouse over
mediaviewMenuBgRipple: #676767; // context menu item ripple effect
mediaviewMenuFg: windowFgActive; // context menu item text
mediaviewBg: #222222eb; // Media Viewer background
mediaviewVideoBg: imageBg; // Media Viewer background when viewing a video in full screen
mediaviewControlBg: #0000003c; // controls background (like next photo / previous photo)
mediaviewControlFg: windowFgActive; // controls icon (like next photo / previous photo)
mediaviewCaptionBg: #11111180; // caption text background (when viewing photo with caption)
mediaviewCaptionFg: mediaviewControlFg; // caption text
mediaviewTextLinkFg: #91d9ff; // caption text link
mediaviewSaveMsgBg: toastBg; // save to file toast message background in Media Viewer
mediaviewSaveMsgFg: toastFg; // save to file toast message text
mediaviewPlaybackActive: #c7c7c7; // video playback progress already played part
mediaviewPlaybackInactive: #252525; // video playback progress upcoming (not played yet) part
mediaviewPlaybackActiveOver: #ffffff; // video playback progress already played part with mouse over
mediaviewPlaybackInactiveOver: #474747; // video playback progress upcoming (not played yet) part with mouse over
mediaviewPlaybackProgressFg: #ffffffc7; // video playback progress text
mediaviewPlaybackIconFg: mediaviewPlaybackActive; // video playback controls icon
mediaviewPlaybackIconFgOver: mediaviewPlaybackActiveOver; // video playback controls icon with mouse over
mediaviewTransparentBg: #ffffff; // transparent filling part (when viewing a transparent .png file in Media Viewer)
mediaviewTransparentFg: #cccccc; // another transparent filling part
// notification
notificationBg: windowBg; // custom notification window background
// calls
callBg: #26282cf2; // phone call popup background
callNameFg: #ffffff; // phone call popup name text
callFingerprintBg: #00000066; // phone call popup emoji fingerprint background
callStatusFg: #aaabac; // phone call popup status text
callIconFg: #ffffff; // phone call popup answer, hangup and mute mic icon
callAnswerBg: #64c15b; // phone call popup answer button background
callAnswerRipple: #52b149; // phone call popup answer button ripple effect
callAnswerBgOuter: #50eb4126; // phone call popup answer button outer ripple effect
callHangupBg: #d75a5a; // phone call popup hangup button background
callHangupRipple: #c04646; // phone call popup hangup button ripple effect
callCancelBg: #ffffff; // phone call popup line busy cancel button background
callCancelFg: #777777; // phone call popup line busy cancel button icon
callCancelRipple: #f1f1f1; // phone call popup line busy cancel button ripple effect
callMuteRipple: #ffffff12; // phone call popup mute mic ripple effect
callBarBg: dialogsBgActive; // active phone call bar background
callBarMuteRipple: dialogsRippleBgActive; // active phone call bar mute and hangup button ripple effect
callBarBgMuted: #8f8f8f | dialogsUnreadBgMuted; // phone call bar with muted mic background
callBarUnmuteRipple: #7f7f7f | shadowFg; // phone call bar with muted mic mute and hangup button ripple effect
callBarFg: dialogsNameFgActive; // phone call bar text and icons
importantTooltipBg: toastBg;
importantTooltipFg: toastFg;
importantTooltipFgLink: mediaviewTextLinkFg;

File diff suppressed because it is too large Load Diff

View File

@@ -1,2 +0,0 @@
[Paths]
Libraries=:/gui/art

View File

@@ -1,2 +0,0 @@
[Platforms]
WindowsArguments = nomousefromtouch

View File

@@ -1,57 +0,0 @@
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<dir>/usr/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir>~/.fonts</dir>
<dir>~/.local/share/fonts</dir>
<dir>/usr/X11R6/lib/X11/fonts</dir>
<dir prefix="xdg">fonts</dir>
<match target="pattern">
<test qual="any" name="family">
<string>mono</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>monospace</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>sans serif</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>sans-serif</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>sans</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>sans-serif</string>
</edit>
</match>
<cachedir>/var/cache/fontconfig_11</cachedir>
<cachedir prefix="xdg">fontconfig_11</cachedir>
<cachedir>~/.fontconfig_11</cachedir>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
<edit mode="assign" name="embeddedbitmap">
<bool>false</bool>
</edit>
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
<edit mode="assign" name="hintstyle">
<const>hintslight</const>
</edit>
<edit mode="assign" name="lcdfilter">
<const>lcddefault</const>
</edit>
<edit mode="assign" name="rgba">
<const>rgb</const>
</edit>
</match>
</fontconfig>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 350 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 707 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 512 B

After

Width:  |  Height:  |  Size: 833 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 B

After

Width:  |  Height:  |  Size: 513 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 B

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 417 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 912 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 731 B

After

Width:  |  Height:  |  Size: 812 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 695 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 919 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 594 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 879 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 593 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 530 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 877 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 845 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 662 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 854 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Some files were not shown because too many files have changed in this diff Show More