Compare commits

...

1447 Commits

Author SHA1 Message Date
John Preston
f3a2460a54 Version 2.4.1: Fix build for Linux. 2020-10-01 20:06:00 +03:00
John Preston
04212140cc Version 2.4.1: Fix capture error reporting. 2020-10-01 18:46:22 +03:00
John Preston
4e1904b137 Version 2.4.1.
- Move by PageUp and PageDown in channel comments.
- Several layout bugfixes.
- Several crashfixes.
2020-10-01 18:24:29 +03:00
John Preston
0299ba4873 Allow in groups to delete service messages for everyone.
Fixes #8690.
2020-10-01 18:21:39 +03:00
23rd
46ce0df832 Fixed crash in SessionsBox when list of sessions is empty. 2020-10-01 18:14:09 +03:00
John Preston
d66debd802 Fix crash on bad message in Replies section. 2020-10-01 18:08:27 +03:00
John Preston
454fe8cdf7 Fix crash in calls box. 2020-10-01 17:52:02 +03:00
John Preston
c4dfc634d0 Fix crash in main window destruction. 2020-10-01 17:45:25 +03:00
John Preston
b08fa069b4 Fix assertion violation in case of bad messages. 2020-10-01 17:38:49 +03:00
John Preston
3d20958bb4 Remove assertion about taskbar position. 2020-10-01 17:33:59 +03:00
John Preston
c693fcb2b0 Reopen third column in Replies section.
Fixes #8674, fixes #8687.
2020-10-01 17:20:08 +03:00
John Preston
ddad42d80e Add report button to comments context menu.
Fixes #8679.
2020-10-01 17:06:04 +03:00
John Preston
c6f66e83ee Fix restriction label display.
Fixes #8680.
2020-10-01 16:53:39 +03:00
John Preston
8bb3b7fada Handle some errors on comments open.
Fixes #8682.
2020-10-01 16:42:31 +03:00
Ilya Fedin
1d24d29afa Little cleanup for Linux platform code & build
CheckCXXSourceCompiles is not needed anymore

Material wayland decorations could be checked just with IsQtPluginsBundled
2020-10-01 16:34:01 +03:00
Ilya Fedin
0536a479f9 Use startSystemMove/startSystemResize instead of platform code on Wayland with Qt 5.15 2020-10-01 16:30:53 +03:00
Ilya Fedin
7fef7e6315 Don't add shadow on Wayland
It was implemented like a hack and worked like a hack... Looks like it is better to wait until Qt give a way to create shadows.
2020-10-01 16:30:53 +03:00
John Preston
c6ef2b057e Fix couple of visual glitches.
Fixes #8676.
2020-10-01 16:29:09 +03:00
John Preston
784f10678c Fix root comments post layout. 2020-10-01 15:12:57 +03:00
John Preston
92dbd7089b Fix comments layout bug for narrow photos. 2020-10-01 14:05:26 +03:00
John Preston
415990c913 Show View thread button only in discussions for now. 2020-10-01 13:38:36 +03:00
John Preston
e42af74dd2 Don't try to open comments in invite peek channel. 2020-10-01 13:15:10 +03:00
John Preston
bd1a46252d Show admin rank for anonymous posts. 2020-10-01 12:57:03 +03:00
John Preston
874e5e0a61 Fix export of discussion messages. 2020-10-01 12:42:35 +03:00
John Preston
81457693f1 Don't add comments button for inline markup messages.
Fixes #8664.
2020-10-01 11:44:08 +03:00
John Preston
3a700650be Remove comments info if no info in server data. 2020-10-01 11:34:59 +03:00
John Preston
d642c3f3b5 Hide bot about header for Replies chat. 2020-10-01 11:19:14 +03:00
John Preston
4be03ffc25 Fix PageUp/PageDown scrolling in Replies section.
Fixes #8666.
2020-10-01 11:00:29 +03:00
Ilya Fedin
dcac3146c7 Fix Linux GitHub action 2020-10-01 10:54:42 +03:00
Ilya Fedin
10012d6b31 Handle launcher basename compile-time for snap
Just like for flatpak
2020-10-01 10:54:42 +03:00
John Preston
3aa1b1e9ae Fix recent commenters userpics border. 2020-10-01 10:52:53 +03:00
John Preston
4e8a1f8d29 Fix voice messages sending. 2020-10-01 10:47:03 +03:00
John Preston
11e03a181d Version 2.4: Fix crash in typing animations. 2020-09-30 21:11:24 +03:00
John Preston
4e366dc86e Fix widget order in compose controls. 2020-09-30 21:11:24 +03:00
23rd
015277c4d3 Disabled top moving of dialogs when window has normal adaptive layout.
Fixed #8370.
2020-09-30 21:11:24 +03:00
John Preston
745bbfe268 Fix fast reply from message corner in Replies section. 2020-09-30 21:11:24 +03:00
John Preston
e8a58c4c8d Fix crash in replies list management. 2020-09-30 21:11:24 +03:00
John Preston
d4f2c96322 Version 2.4: Fix build on macOS. 2020-09-30 19:58:30 +03:00
John Preston
bd1d0417a9 Version 2.4: Fix submodules. 2020-09-30 19:20:08 +03:00
John Preston
4a78eb100a Version 2.4.
- Turn on "Remain Anonymous" in an admin's Permissions to let them post
on behalf of the group and become invisible in the list of members.
- Comment on posts in channels that have a discussion group.
- Get notified about replies to your comments via the new Replies chat
(if you are not a member of the discussion group).
2020-09-30 19:15:43 +03:00
Ilya Fedin
7fa5ca192b Fix showing autohidden taskbar with maximized window 2020-09-30 19:14:51 +03:00
John Preston
371510cfe2 Fix layout bug in box title with right button. 2020-09-30 19:01:54 +03:00
23rd
622c1a910b Moved text changes of QAction in peer menu to single place. 2020-09-30 19:00:53 +03:00
23rd
ce3279143d Connected popup menu display to archive button display in main menu. 2020-09-30 19:00:53 +03:00
23rd
3e6ba53a04 Reduced number of requests for authorizations list in SessionsBox. 2020-09-30 18:48:35 +03:00
23rd
41cb37b091 Added labels update in privacy box by timer. 2020-09-30 18:48:35 +03:00
23rd
264dd0c1d2 Refactored row painting in sessions box. 2020-09-30 18:48:34 +03:00
23rd
163e549708 Added count of active sessions as label of button in settings. 2020-09-30 18:48:34 +03:00
23rd
035a19b41e Removed authorizations check form Data::Session. 2020-09-30 18:48:34 +03:00
23rd
6ac5f32796 Moved other authorizations api request to separated file. 2020-09-30 18:48:34 +03:00
23rd
0c4c4b2fcf Added ability to move content of SessionsBox to Section. 2020-09-30 18:48:34 +03:00
23rd
a106d6e804 Moved content of SessionsBox to separate inner class. 2020-09-30 18:48:34 +03:00
23rd
6b7c33f0ee Moved same parts of code of terminating in SessionsBox to single place. 2020-09-30 18:48:34 +03:00
23rd
8d2cacac80 Replaced variable of loading in SessionsBox with rpl::variable. 2020-09-30 18:48:34 +03:00
John Preston
cc9eb7f893 Support write restrictions in Replies section. 2020-09-30 18:38:58 +03:00
John Preston
94c2969f8b Support slowmode restrictions in Replies section. 2020-09-30 16:29:32 +03:00
John Preston
719bed6e85 Move some text formatting to tg_ui:ui/text/format_values. 2020-09-30 16:29:17 +03:00
John Preston
8634c1f7f3 Move lang keys to td_lang library. 2020-09-30 12:18:52 +03:00
John Preston
def1266216 Rename td-specific libs from lib_ to td_. 2020-09-30 10:51:17 +03:00
23rd
2e02f27a5c Fixed tabbed selector display in Replies / Scheduled messages sections. 2020-09-29 23:44:03 +03:00
John Preston
04855f1697 Fix instructions for Qt build without ICU. 2020-09-29 23:43:22 +03:00
John Preston
c29730650e Closed alpha version 2.3.2.2. 2020-09-29 20:20:31 +03:00
John Preston
6257445d5e Fix build on Xcode 12. 2020-09-29 20:20:21 +03:00
John Preston
405c8125da Allow sending voice messages in Replies / Scheduled. 2020-09-29 19:03:30 +03:00
John Preston
62da24c20b Improve scroll to unread bar. 2020-09-29 19:03:30 +03:00
John Preston
e8df47c926 Show send action animations in Replies thread. 2020-09-29 19:03:30 +03:00
John Preston
433c147dd0 Show message from Replies bot inside thread. 2020-09-29 19:03:30 +03:00
John Preston
8f4fdb6d0d Fix crash in mark folder as read. 2020-09-29 19:03:30 +03:00
23rd
aecdc01e41 Added ability to mark all chats as read. 2020-09-29 19:03:29 +03:00
23rd
bdce2d5e25 Added ability to mark as read chats from folder from context menu.
Fixed #7507.
Fixed #6004.
2020-09-29 19:03:29 +03:00
23rd
5968219fe4 Added ability to mark as read selected chat with shortcut. 2020-09-29 19:03:29 +03:00
23rd
f81271d1fe Simplified confirmed callback for ConfirmBox instances. 2020-09-29 19:03:29 +03:00
23rd
9f3af7234e Added ability to pass confirm callback with close to ConfirmBox. 2020-09-29 19:03:29 +03:00
John Preston
90c0929407 Load Rstrtmgr dynamically. 2020-09-29 19:03:29 +03:00
John Preston
1e31cda78d Fix root comments post layout. 2020-09-29 19:03:29 +03:00
John Preston
f7e4f18e9b Fix a crash in failed-sent scheduled messages. 2020-09-29 19:03:29 +03:00
John Preston
0fb42ed82a Use special method for blocking from Replies. 2020-09-29 19:03:29 +03:00
John Preston
c535a7c564 Use MaskedInputField for URL input. 2020-09-29 19:03:29 +03:00
John Preston
c32f2e71e8 Update fast action icons. 2020-09-29 19:03:28 +03:00
John Preston
a38f7b357c Closed alpha version 2.3.2.1. 2020-09-29 19:03:28 +03:00
John Preston
438f69e1b2 Improve root comments message layout. 2020-09-29 19:03:28 +03:00
John Preston
891b4a91a3 Generate correct links to replies section. 2020-09-29 19:03:28 +03:00
John Preston
889139f31f Handle links to replies section. 2020-09-29 19:03:28 +03:00
John Preston
247b1f64ca Show correct outbox ticks in replies section. 2020-09-29 19:03:27 +03:00
John Preston
13ad590a51 Track inbox/outbox comments/replies read state. 2020-09-29 19:03:27 +03:00
John Preston
e021e0beb3 Resize scroll area together with pinned root message. 2020-09-29 19:03:27 +03:00
John Preston
b097bd7225 Report spam from Replies reports messages. 2020-09-29 19:03:27 +03:00
John Preston
27f85df562 Click on root pinned bar throws to replies start. 2020-09-29 19:03:27 +03:00
John Preston
e484bc78d0 Update API scheme on layer 119. 2020-09-29 19:03:27 +03:00
John Preston
d89be1d1d4 Don't read messages in channels I'm not in. 2020-09-29 19:03:27 +03:00
John Preston
ab429212e5 Respect global group read position in replies. 2020-09-29 19:03:27 +03:00
John Preston
f53f934001 Handle new typing update in channels. 2020-09-29 19:03:27 +03:00
John Preston
a287dec242 Allow sending typing/send actions for Replies section. 2020-09-29 19:03:27 +03:00
John Preston
f73b0f0b0d Update API scheme on layer 119. 2020-09-29 19:03:27 +03:00
John Preston
61d89113d4 Handle correctly comment links for public channels. 2020-09-29 19:03:26 +03:00
John Preston
7862443fcb Show comments button for unwrapped medias. 2020-09-29 19:03:26 +03:00
John Preston
1a40f2b3ef Fix userpics display for min-loaded users. 2020-09-29 19:03:26 +03:00
John Preston
4c1213ce9e Allow blocking users from Replies chat. 2020-09-29 19:03:26 +03:00
John Preston
afbc0c498f Use service message instead of unread bar. 2020-09-29 19:03:26 +03:00
John Preston
a91c078fb1 Count attachments only on visible items. 2020-09-29 19:03:26 +03:00
John Preston
6eedeb3852 Inject full album to the Replies section. 2020-09-29 19:03:26 +03:00
John Preston
8af559e711 Use first message of album as the leader. 2020-09-29 19:03:26 +03:00
John Preston
7f928a92ea Show root as pinned when not visible as message. 2020-09-29 19:03:26 +03:00
John Preston
22dc7601f5 Fix root message pinned bar shadow. 2020-09-29 19:03:26 +03:00
John Preston
9abca29f4c Show comments bar when no unread bar. 2020-09-29 19:03:25 +03:00
John Preston
cf48152853 Inject discussed message when no comments. 2020-09-29 19:03:25 +03:00
John Preston
883c3ecf65 Improve root message layout in Replies section. 2020-09-29 19:03:25 +03:00
John Preston
9a96298ef7 Disable revoke all history for bots. 2020-09-29 19:03:25 +03:00
John Preston
a1a845dbf1 Improve Replies chat design. 2020-09-29 19:03:25 +03:00
John Preston
40e925d3f9 Remove redundant read comments thread requests. 2020-09-29 19:03:25 +03:00
John Preston
808e8dcf4f Inject discussed message in Replies section. 2020-09-29 19:03:25 +03:00
John Preston
c2bb2526d3 Handle updateReadDiscussion. 2020-09-29 19:03:25 +03:00
John Preston
59abe95754 Show comments unread status. 2020-09-29 19:03:25 +03:00
John Preston
040f29abe6 Remove some options from Replies three-dot menu. 2020-09-29 19:03:25 +03:00
John Preston
e9dffe78e3 Fix minimal width of message bubble with comments. 2020-09-29 19:03:25 +03:00
John Preston
3a51303fb0 Add go to original button to Replies chat. 2020-09-29 19:03:25 +03:00
John Preston
008a301755 Paint some sort of replies icon. 2020-09-29 19:03:24 +03:00
John Preston
be14456290 Show correct reply in Replies bot. 2020-09-29 19:03:24 +03:00
John Preston
4a94a0c438 Show replies dialog correctly. 2020-09-29 19:03:24 +03:00
John Preston
608d8307d9 Scroll to bottom when sending a comment. 2020-09-29 19:03:24 +03:00
John Preston
6f9ea1cc01 Allow posting comments being not in group. 2020-09-29 19:03:24 +03:00
John Preston
47170da813 Show comments button using 'has_link' flag. 2020-09-29 19:03:24 +03:00
John Preston
01ab6e6d4d Support anonymous group admins. 2020-09-29 19:03:24 +03:00
John Preston
b8424b1d89 Add read status tracking to comments. 2020-09-29 19:03:24 +03:00
John Preston
78d83a2c69 Show local sending messages in replies section. 2020-09-29 19:03:24 +03:00
John Preston
beb623bee2 Add root message display in replies section. 2020-09-29 19:03:23 +03:00
John Preston
d42ce87c09 Move discussion group link to three-dot menu. 2020-09-29 19:03:23 +03:00
John Preston
60002555c3 Track comments count correctly. 2020-09-29 19:03:23 +03:00
John Preston
fb20be3e6c Open channel comments, not replies. 2020-09-29 19:03:23 +03:00
John Preston
31e1ed216a Add comments button to channel posts. 2020-09-29 19:03:23 +03:00
John Preston
ce91caa820 Fix build on macOS. 2020-09-29 19:03:23 +03:00
John Preston
95a579f25f Clear text box when sending media in replies. 2020-09-29 19:03:23 +03:00
John Preston
9fe82480e1 Reply in replies by double click. 2020-09-29 19:03:23 +03:00
John Preston
17549ad5ea Allow replying inside replies section. 2020-09-29 19:03:23 +03:00
John Preston
f22a804220 Add navigation through reply stack. 2020-09-29 19:03:22 +03:00
John Preston
c563df7d9d Fix navigation in a message replies section. 2020-09-29 19:03:22 +03:00
John Preston
1849f01b15 Jump to near reply inside a replies thread. 2020-09-29 19:03:22 +03:00
John Preston
f8b83dd186 Remove mapbox::variant dependency. 2020-09-29 19:03:22 +03:00
John Preston
f0e1d2fd02 'base::optional_variant<' -> 'std::variant<v::null_t,' 2020-09-29 19:03:19 +03:00
John Preston
734d834a20 Replace mapbox variant with std::variant. 2020-09-29 19:03:19 +03:00
John Preston
b3eb41b989 Fix build instructions for old OS X versions. 2020-09-29 19:03:19 +03:00
John Preston
45419205c6 Simple sending from replies section. 2020-09-29 19:03:19 +03:00
John Preston
204645a715 Stick to bottom on new messages. 2020-09-29 19:03:19 +03:00
John Preston
50a0429786 Hide root reply info in replies thread. 2020-09-29 19:03:19 +03:00
John Preston
00cdae0369 Implement replies list request. 2020-09-29 19:03:18 +03:00
John Preston
437c9320cd Implement progressive jpeg loading and sending. 2020-09-29 19:03:18 +03:00
John Preston
0888901d79 Try using progressive jpeg photo size. 2020-09-29 19:03:18 +03:00
John Preston
55edb3bdfe Update API scheme to layer 119. Count replies. 2020-09-29 19:03:18 +03:00
John Preston
fcdc4cd465 Handle bot callback buttons with password. 2020-09-29 19:03:18 +03:00
John Preston
49c230b898 Update API scheme to layer 118. 2020-09-29 19:03:18 +03:00
John Preston
883a62c0a2 Return 'testmode' code when no authed accounts. 2020-09-29 19:03:18 +03:00
23rd
58008ab7b0 Removed App::wnd from local_url_handlers. 2020-09-29 19:02:52 +03:00
23rd
94468ecf6d Added ability to copy link of not installed sticker pack. 2020-09-29 19:02:52 +03:00
23rd
91118bf087 Removed App::wnd from history_view_context_menu. 2020-09-29 19:02:52 +03:00
Ilya Fedin
6805085bbc Use unique desktop file name for static binary 2020-09-29 18:54:01 +03:00
Ilya Fedin
78d874e9a3 Disable OpenAL WASAPI backend 2020-09-29 18:28:42 +03:00
BugLight
8d5e356733 Add custom host input that replaces commas with dots 2020-09-29 18:27:36 +03:00
Ilya Fedin
4c2779bbaf Fix saving maximized state on Linux 2020-09-29 18:25:57 +03:00
Ilya Fedin
70c993774a Get rid of redudant cmake options 2020-09-29 18:24:16 +03:00
Ilya Fedin
f128665f6b Fix -debug argument
processArguments is called before ComputeDebugMode gets called, Logs::DebugEnabled gets overriden that way.
Fix that by setting gDebugMode variable and checking it in ComputeDebugMode.
2020-09-20 16:51:01 +03:00
Ilya Fedin
0cd68f866d Get icon theme from gtk if qt5ct is unconfigured 2020-09-20 16:51:01 +03:00
Ilya Fedin
242ced4022 Write icon theme names to debug log 2020-09-20 16:51:01 +03:00
Vitaly Kryukov
23aef6c365 Update mtproto_domain_resolver.cpp 2020-09-10 19:46:48 +03:00
Vitaly Kryukov
210e3f0cb6 Bump DNS User-Agent 2020-09-10 19:46:48 +03:00
Ilya Fedin
d86b4659d6 Create OpenAL context without attributes 2020-09-10 19:45:43 +03:00
Ilya Fedin
f1cf6b4896 Move snap action to ubuntu-latest since it uses lxd 2020-09-10 19:39:52 +03:00
Ilya Fedin
8fd1253266 GNOME Wayland doesn't support native decorations 2020-09-10 19:39:21 +03:00
Ilya Fedin
5991cd4350 Add missed no-tests in release openssl build for Windows 2020-09-10 19:38:23 +03:00
Ilya Fedin
309372164c Cache make install calls in macos action 2020-09-10 19:38:23 +03:00
John Preston
f1cdc7e3f9 Update qt5ct submodule. 2020-08-31 17:40:03 +04:00
Ilya Fedin
dfad68a0b8 Fix tg_owt url 2020-08-31 12:01:43 +04:00
Ilya Fedin
0f887b3432 Update submodules 2020-08-31 12:01:43 +04:00
Ilya Fedin
077f0c393e No need to rebuild ffmpeg without NEON optimizations anymore 2020-08-31 12:01:43 +04:00
Ilya Fedin
7d29f9ce17 Don't check sws_scale return value
To workaround ffmpeg bug: https://gitlab.alpinelinux.org/alpine/aports/-/issues/11722
2020-08-31 12:01:43 +04:00
Ilya Fedin
6635d03818 Check if xcb-screensaver extension present 2020-08-30 17:00:43 +04:00
Ilya Fedin
e523492de0 Add missed methods to specific_mac.h and specific_win.h 2020-08-30 17:00:43 +04:00
Ilya Fedin
c77f1bf082 Add UnsetWindowExtents method 2020-08-30 17:00:43 +04:00
Ilya Fedin
3c8c059447 Eliminate the need of Q_OBJECT in main_window_linux and main_window_win 2020-08-30 17:00:43 +04:00
Ilya Fedin
612e0d4a10 Update window shadow size on window state change 2020-08-30 17:00:43 +04:00
Ilya Fedin
78a2835bbf Extents should be updated on each event only on Wayland 2020-08-30 17:00:43 +04:00
Ilya Fedin
ea8e256a23 Revert "Revert "Add main window shadow for Linux""
This reverts commit b7f5cfe083.
2020-08-30 17:00:43 +04:00
Ilya Fedin
2f2de84b43 Fix d-bus type in MutterDBusLastUserInputTime 2020-08-30 16:57:51 +04:00
John Preston
ead6892857 Update cmake_helpers submodule. 2020-08-30 16:54:47 +04:00
Ilya Fedin
2b642d4da9 -Wno-register is defined in options_linux.cmake now 2020-08-30 16:28:50 +04:00
Ilya Fedin
a474074705 Adapt snap build for tg_owt 2020-08-30 16:28:50 +04:00
John Preston
d34eabdc11 Fix crash in poll view destruction. 2020-08-24 17:59:44 +04:00
John Preston
f9be304e54 Fix crash in logout from passcoded screen. 2020-08-24 16:57:36 +04:00
John Preston
39b0662a2c Fix article inline results with long titles. 2020-08-24 16:34:55 +04:00
John Preston
ae59de7652 Version 2.3.2.
- Revert custom window shadow on Linux.
2020-08-23 17:36:52 +04:00
John Preston
b7f5cfe083 Revert "Add main window shadow for Linux"
This reverts commit d02092f09e.

Conflicts:
	Telegram/SourceFiles/mainwindow.cpp
	Telegram/SourceFiles/platform/linux/specific_linux.cpp
	Telegram/SourceFiles/window/main_window.cpp
2020-08-23 16:38:49 +04:00
23rd
97076dbf83 Replaced origin webrtc with custom-built fork in Github CI.
Updated building docs.
2020-08-21 17:35:32 +03:00
John Preston
7b1c47ff2e Version 2.3.1.
- Fix Calls Settings for Video Calls.
2020-08-21 18:22:53 +04:00
John Preston
21c578cf2e Add some error reporting about camera problems. 2020-08-21 17:52:13 +04:00
John Preston
4d2041ae48 Share video capturer between call and settings. 2020-08-21 17:52:13 +04:00
John Preston
4672e3d068 Improve calls settings (camera / microphone). 2020-08-21 17:52:13 +04:00
John Preston
ade7745b0b Fix controls shadows on call panel. 2020-08-21 17:52:13 +04:00
John Preston
c7881ae4a3 Fix building docs for Windows. 2020-08-21 17:52:13 +04:00
John Preston
ba89242759 Preserve preferred aspect through camera change. 2020-08-21 17:52:13 +04:00
John Preston
0139390c71 Use tg_owt in OS X 10.10-10.11 build. 2020-08-21 17:52:13 +04:00
John Preston
693d3a922f Use webrtc from a custom-built fork. 2020-08-21 17:52:13 +04:00
John Preston
ebf8a20d0d Fix main window drag by title on macOS. 2020-08-21 17:52:13 +04:00
John Preston
41c98a6c49 Fix build on macOS. 2020-08-21 17:52:13 +04:00
John Preston
aa87d627c9 Allow to choose camera device in Settings. 2020-08-21 17:52:13 +04:00
John Preston
e782e065a0 Use audio device enumeration from lib_webrtc. 2020-08-21 17:52:12 +04:00
John Preston
f36240eb38 Check for at least one camera existance. 2020-08-21 17:52:12 +04:00
John Preston
72861a6409 Remove phone number pattern for Germany. 2020-08-21 17:52:12 +04:00
23rd
6e3fb253b9 Added ability to remove recent stickers. 2020-08-21 16:23:44 +03:00
23rd
8a34f29329 Moved toggling of existing media to separate file. 2020-08-19 14:47:25 +03:00
Ilya Fedin
2574389129 Fix snap build on Launchpad 2020-08-19 09:58:24 +04:00
Ilya Fedin
3a66d317ee Use lxd for snapcraft
To get the same build environment as on Launchpad
2020-08-19 09:58:24 +04:00
John Preston
ecdee8812d Update cmake submodules and patches revision. 2020-08-18 18:17:39 +04:00
23rd
0e00bbb012 Updated range-v3 to 0.11.0. 2020-08-18 18:17:31 +04:00
23rd
3d8b691ff9 Added video icon in call row in calls box. 2020-08-18 12:48:26 +03:00
John Preston
57f8b03949 Remove old gtk library linking. 2020-08-18 10:22:51 +04:00
Ilya Fedin
6dfefa3f21 g_message is a more appropriate log level for some messages 2020-08-18 08:16:17 +04:00
Ilya Fedin
eaae7b1d03 Decrease indentation in XCBLastUserInputTime 2020-08-18 08:16:17 +04:00
Ilya Fedin
d02092f09e Add main window shadow for Linux 2020-08-18 08:16:17 +04:00
Ilya Fedin
c529974da5 Add webrtc support for snap 2020-08-18 08:05:37 +04:00
John Preston
0e1f59a0ed Fix crash in editing a deleted message.
Regression was introduced in b02b690747.
2020-08-17 13:50:16 +04:00
John Preston
fe97939abf Fix possible crash in call error handling. 2020-08-17 13:50:16 +04:00
John Preston
8ce798db12 Move incoming video to a separate widget. 2020-08-17 13:49:45 +04:00
John Preston
f801cb822e Revert "Update ffmpeg to 4.3 in snap"
This reverts commit 6c52b4630c.
2020-08-17 10:29:18 +04:00
Ilya Fedin
1dcbb103a8 Move gtk clibpboard to linux_libs 2020-08-15 17:43:28 +04:00
Ilya Fedin
d97880913c Get rid of TDESKTOP_USE_PACKAGED_TGVOIP 2020-08-15 17:43:28 +04:00
Ilya Fedin
47673bba50 Move cExeName checks 2020-08-15 17:43:28 +04:00
Ilya Fedin
580e6baee6 Get rid of redudant fontconfig hack 2020-08-15 17:43:28 +04:00
Ilya Fedin
f56af090e0 Use GAppInfo instead of xdg-mime
This makes registering custom scheme distribution-compatible
2020-08-15 17:43:28 +04:00
Ilya Fedin
95c0c400c7 Use QProcess instead of system()
Use g_get_home_dir since it already uses both $HOME and passwd
2020-08-15 17:43:28 +04:00
Ilya Fedin
170ec16f39 Remove outdated snap autostart hack 2020-08-15 17:43:28 +04:00
Ilya Fedin
786bedf271 Disable Qt's integration mechanism on GTK-based DE to avoid early GTK loading
This also removes TDESKTOP_USE_GTK_FILE_DIALOG since it doesn't forces GTK dialog for anyone and there is no reason to leave it

TDESKTOP_DISABLE_GTK_INTEGRATION can be also tested via action now
2020-08-15 17:43:28 +04:00
Ilya Fedin
1de1747c38 Fix length of some lines in specific_linux and main_window_linux 2020-08-15 17:43:28 +04:00
Ilya Fedin
7bb4e5e4a9 Reorder Linux libraries 2020-08-15 17:43:28 +04:00
Ilya Fedin
5dad293335 Add warnings about some build options and environment variables 2020-08-15 17:43:28 +04:00
Ilya Fedin
e4ac70090e Use GDBus to send notifications to avoid Q_OBJECT 2020-08-15 17:43:28 +04:00
23rd
bc7925985c Added WebRTC building to Github CI. 2020-08-15 00:03:37 +04:00
John Preston
a911f2c0c3 Improve build script. 2020-08-15 00:02:43 +04:00
John Preston
887b6629f6 Version 2.3: Fix emoji fingerprint on Retina. 2020-08-15 00:02:26 +04:00
John Preston
b6a66bbf1b Version 2.3.
- Video Calls (alpha version).
2020-08-14 20:20:59 +04:00
John Preston
a0eb073728 Close call panel instead of hiding. 2020-08-14 19:59:24 +04:00
John Preston
34840766b2 Move fingerprint / signal bars to a separate widget. 2020-08-14 16:53:06 +04:00
John Preston
1aaf7df54a Add labels to call buttons. 2020-08-14 16:53:06 +04:00
John Preston
1b60829da8 Add top window controls shadow. 2020-08-14 16:53:06 +04:00
John Preston
fbe02dbb8d Add bottom shadow to the incoming video. 2020-08-14 16:53:06 +04:00
John Preston
cb18c9a9b3 Show remote audio muted tooltip. 2020-08-14 16:53:06 +04:00
John Preston
a106d80a41 Fix accept call button outer ripple. 2020-08-14 16:53:06 +04:00
John Preston
465c661c45 Show peer-s microphone mute state on userpic. 2020-08-14 16:53:06 +04:00
John Preston
8af40c22a4 Improve mute button styles. 2020-08-14 16:53:06 +04:00
John Preston
f1b6d1fdae Improve top controls design on Windows. 2020-08-14 16:53:06 +04:00
John Preston
476b9c44c1 Closed alpha version 2.2.0.2. 2020-08-13 15:42:23 +04:00
John Preston
377ff2f421 Use expanding incoming frame scale if aspect is good. 2020-08-13 15:37:00 +04:00
John Preston
cdc87086f3 Add some paddings. 2020-08-13 15:16:39 +04:00
John Preston
99f3173ae6 Use smaller emoji. 2020-08-13 14:39:55 +04:00
John Preston
7de5cabd79 Add window controls to call panel on Windows. 2020-08-13 14:32:11 +04:00
John Preston
925f6df06a Fix call panel behaviour on macOS. 2020-08-13 13:02:15 +04:00
John Preston
c93d3ae924 Toggle fullscreen by double click. 2020-08-12 20:58:24 +04:00
John Preston
537645c282 Hide window title for calls panel. 2020-08-12 20:58:05 +04:00
John Preston
38b9111bf5 Use Ui::Window for the Calls::Panel. 2020-08-12 17:35:31 +04:00
John Preston
79feb0c6d9 Show video icon in call bubble in history. 2020-08-12 12:47:19 +04:00
John Preston
97fe05c7ed Mirror outgoing video horizontally. 2020-08-12 12:47:07 +04:00
John Preston
e01bf8e1cd Closed alpha version 2.2.0.1. 2020-08-11 21:33:15 +04:00
John Preston
369ec46064 Allow building without WebRTC. 2020-08-11 21:33:15 +04:00
John Preston
13f2ceaf47 Update building docs. 2020-08-11 18:21:40 +04:00
John Preston
eda22b925f Fix build on Linux 64 bit. 2020-08-11 18:21:40 +04:00
John Preston
bd16708781 Update tgcalls library. 2020-08-11 18:21:40 +04:00
John Preston
38546c701a Round outgoing video preview. 2020-08-11 18:21:40 +04:00
John Preston
4971e281fa Improve design for all controls states. 2020-08-11 18:21:40 +04:00
John Preston
d4b8fa70a7 Extract Calls::Userpic and Calls::VideoBubble. 2020-08-11 18:21:40 +04:00
John Preston
95de762529 Support three-value VideoState. 2020-08-11 18:21:40 +04:00
John Preston
a89634b767 Start call panel redesign. 2020-08-11 18:21:40 +04:00
John Preston
4bf6550e24 Update API scheme to layer 117. 2020-08-11 18:21:40 +04:00
John Preston
83759adb5f Start video call from video call service message. 2020-08-11 18:21:40 +04:00
John Preston
6f90e57523 Support special video calls service messages. 2020-08-11 18:21:40 +04:00
John Preston
aba8f72c36 Fix camera start. 2020-08-11 18:21:40 +04:00
John Preston
35dfb9fab3 Show outgoing video stream. 2020-08-11 18:21:40 +04:00
John Preston
b692242012 Allow reference tgcalls implementation. 2020-08-11 18:21:40 +04:00
John Preston
c1f727bde9 Update tgcalls to use new protocol. 2020-08-11 18:21:40 +04:00
John Preston
f3808bdc24 Start using webrtc::VideoTrack. 2020-08-11 18:21:40 +04:00
John Preston
16177eae2b Simplify frame presentation. 2020-08-11 18:21:40 +04:00
John Preston
da3bbba497 Allow enable/disable video in a call. 2020-08-11 18:21:40 +04:00
John Preston
a4ee90e8c6 Remove webrtc test code usage on Windows. 2020-08-11 18:21:40 +04:00
John Preston
7fec49a752 Remove webrtc test code usage on macOS. 2020-08-11 18:21:40 +04:00
John Preston
78c9c1e7f8 Update tgcalls library. 2020-08-11 18:21:40 +04:00
John Preston
662424319c Fix build on Windows. 2020-08-11 18:21:40 +04:00
John Preston
5c55f31972 Use test capture from webrtc on macOS. 2020-08-11 18:21:40 +04:00
John Preston
29d42a6936 Fix runtime errors in macOS. 2020-08-11 18:21:40 +04:00
John Preston
46550381a4 Fix build on macOS. 2020-08-11 18:21:40 +04:00
John Preston
6c272e38ad Update tgcalls to support codecs negotiation. 2020-08-11 18:21:40 +04:00
John Preston
0a019411ee Use typed signaling messages. 2020-08-11 18:21:40 +04:00
John Preston
815300bffc Fix video between tdesktop instances. 2020-08-11 18:21:40 +04:00
John Preston
12e0399cf4 Add tgcalls library. 2020-08-11 18:21:40 +04:00
John Preston
b703f4e555 Fix build on Linux. 2020-08-11 18:21:40 +04:00
John Preston
71040464c5 Request camera permissions on macOS. 2020-08-11 18:21:40 +04:00
John Preston
6d36176a8d Add test implementation of webrtc calls. 2020-08-11 18:21:40 +04:00
John Preston
438a560a79 Link tdesktop with external_webrtc. 2020-08-11 18:21:40 +04:00
John Preston
145ace2fa0 Use external_webrtc in libtgvoip. 2020-08-11 18:21:40 +04:00
John Preston
4ba7de8df1 Fix build on Windows. 2020-08-11 18:21:40 +04:00
23rd
b6c70572a9 Fixed Github CI macOS build. 2020-08-11 18:20:43 +04:00
23rd
b12256f1ee Added ability to schedule polls from section of scheduled messages.
Fixed #7433.
2020-08-11 18:13:40 +04:00
23rd
14cda49db2 Moved code for send context menu to namespace. 2020-08-11 18:13:40 +04:00
23rd
af9440db38 Slightly refactored InlineBots::Layout::Widget. 2020-08-11 18:13:40 +04:00
23rd
1eea07d88a Added ability to schedule and send silently stickers from autocomplete. 2020-08-11 18:13:40 +04:00
23rd
cf56658664 Slightly refactored FieldAutocomplete. 2020-08-11 18:13:40 +04:00
23rd
2ac425f350 Moved default send callbacks to separate functions. 2020-08-11 18:13:40 +04:00
23rd
edceed28d7 Moved code for send context menu to separate file. 2020-08-11 18:13:40 +04:00
23rd
1fee7d1a41 Added ability to schedule and send silently media from inline bots. 2020-08-11 18:13:40 +04:00
23rd
d1d153e886 Added Api::SendOptions passing from TabbedSelector for inline results. 2020-08-11 18:13:40 +04:00
23rd
5b95585725 Added other items to TabbedPanel's context menu. 2020-08-11 18:13:40 +04:00
23rd
43056107fd Added ability to pass SendMenuType to TabbedSelector. 2020-08-11 18:13:40 +04:00
23rd
7db9843543 Added initial context menu to TabbedPanel.
Added ability to schedule and send silently stickers and GIFs.
2020-08-11 18:13:40 +04:00
23rd
a95a324401 Separated send menu filling to another method. 2020-08-11 18:13:40 +04:00
23rd
759e802eba Added ability to pass Api::SendOptions from TabbedSelector. 2020-08-11 18:13:40 +04:00
23rd
b71062561a Added ability to drag'n'drop videos in SendFilesBox. 2020-08-11 18:13:09 +04:00
23rd
2576312cd4 Fixed autodownloading of dictionaries at logout. 2020-08-11 18:13:09 +04:00
23rd
972bbbce6a Fixed online status stuck when switching between accounts one more time.
The first attempt to fix this bug is here: 8171ed6c12.
It caused crash so it was reverted here: 2ef47222f4.
2020-08-11 12:28:41 +03:00
Ilya Fedin
65e2bbee3e Override cursor only if no buttons pressed 2020-08-11 12:58:07 +04:00
ilya-fedin
bbe2adc44f Fix AppImage overwrite by updater 2020-08-11 10:58:17 +04:00
Ilya Fedin
449fa0ef2c Don't focus parent window after opening file dialog 2020-08-11 10:57:11 +04:00
Ilya Fedin
dc9d0aae54 Add support for showing window menu on Wayland 2020-08-11 10:56:29 +04:00
Ilya Fedin
08b67e383e Add -D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF to docs & actions 2020-08-11 10:55:50 +04:00
Ilya Fedin
4e5e30a8dd Update fcitx5-qt 2020-08-11 10:55:50 +04:00
Ilya Fedin
cbeaee24c9 Update submodules & patches commit 2020-08-11 10:55:50 +04:00
Ilya Fedin
26bedd95d7 DESKTOP_APP_USE_PACKAGED_FONTS respects DESKTOP_APP_USE_PACKAGED_LAZY now 2020-08-11 10:55:50 +04:00
Ilya Fedin
252bdd2353 TDESKTOP_DISABLE_DBUS_INTEGRATION -> DESKTOP_APP_DISABLE_DBUS_INTEGRATION 2020-08-11 10:55:50 +04:00
John Preston
361b99b0c9 Use threaded decoding in ffmpeg streaming. 2020-07-28 20:14:45 +04:00
John Preston
e293a26029 Fix crash in incorrect passcode input. 2020-07-28 20:14:45 +04:00
Magnus Groß
4f3f1e18a2 Export chats with ISO 8601 dates
Fixes #6020
2020-07-27 09:29:25 +04:00
John Preston
188b98b4d8 Update cmake_helpers submodule. 2020-07-27 09:28:12 +04:00
John Preston
fe639078a6 Version 2.2: Fix default-night mode. 2020-07-26 16:55:04 +04:00
John Preston
e5434ea491 Version 2.2.
- Quickly switch between different Telegram accounts
if you use multiple phone numbers.
- Share and store unlimited files of any type, now up to 2'000 MB each.
- Edit your scheduled messages.
- Use Auto-Night Mode to make Telegram night mode match
the system Dark Mode settings.
- Also added an option to switch to system window frame
in Windows and Linux.
2020-07-26 13:48:13 +04:00
John Preston
ce4338fae4 Closed alpha version 2.1.22.1. 2020-07-25 11:36:02 +04:00
John Preston
5a1a8af222 Suggest enabling archive and mute in settings. 2020-07-25 11:25:51 +04:00
John Preston
152b49c65c Reset notify settings on unarchive. 2020-07-25 11:25:22 +04:00
John Preston
5c5414b680 Improve video userpics in chat history. 2020-07-25 11:25:22 +04:00
John Preston
f99960e1f6 Play video userpics in photo change messages. 2020-07-25 11:25:22 +04:00
John Preston
e363b254f6 Add Unarchive button to ContactStatus bar. 2020-07-25 11:25:19 +04:00
John Preston
3aea9cb3ca Add archive and mute settings editing. 2020-07-25 11:24:37 +04:00
John Preston
060fe6a928 Play video userpics in profiles and settings. 2020-07-25 11:24:11 +04:00
John Preston
8c45b5e0f8 Show video userpics in media viewer. 2020-07-25 11:24:11 +04:00
John Preston
0126578dbd Allow to load video components of photos. 2020-07-25 11:24:11 +04:00
John Preston
1a9c241b96 Update API scheme to layer 116. 2020-07-25 11:24:11 +04:00
John Preston
638d4d63c5 Update API scheme to layer 115. 2020-07-25 11:24:11 +04:00
John Preston
9370e87c54 Beta version 2.1.22.
- Fix crash in web page preview display.
2020-07-24 20:00:08 +04:00
John Preston
59c38df5cc Fix crash in web page preview display. 2020-07-24 19:54:47 +04:00
John Preston
5655ad25b0 Beta version 2.1.21.
- Edit your scheduled messages.
- See the unread messages indicator for your additional accounts
on the main menu button.
- Use Auto-Night Mode to make Telegram night mode match
the system Dark Mode settings.
- Enjoy dark native window frame for Telegram night mode on Windows.
2020-07-24 17:07:54 +04:00
John Preston
c86ced8a1e Use dark Windows title bar for night mode. 2020-07-24 16:15:58 +04:00
John Preston
511067981d Forbid auto-night mode with theme editor. 2020-07-24 10:01:37 +04:00
John Preston
9a186cd8ce Indicate other accounts unread messages. 2020-07-24 09:41:51 +04:00
Ilya Fedin
385aa3eef7 Remove redudant library order hacks 2020-07-24 09:40:20 +04:00
John Preston
e065d32d28 Don't try building profile photos list by updates. 2020-07-23 17:47:04 +04:00
John Preston
d4feb16378 Don't mark as read when scheduling messages. 2020-07-23 17:46:52 +04:00
Ilya Fedin
79e6369e27 Move libatomic link to common_options 2020-07-23 14:29:56 +04:00
Ilya Fedin
e4bd89d33e Remove redudant hacks for missed dependencies
27f6c8ce62 and 3194d883d2 added missed pthread dependencies that allows to remove Threads::Threads dependency
2020-07-23 14:29:56 +04:00
Ilya Fedin
2b89700f66 libwayland headers are needed only with Qt < 5.13 2020-07-23 14:29:56 +04:00
Ilya Fedin
ab95751a66 Make gdk backend limit more permissive 2020-07-23 14:29:56 +04:00
Ilya Fedin
841908fe31 Read decoration layout property from gtk 2020-07-23 14:29:56 +04:00
23rd
9e0b046213 Fixed handling of language switch for connection type in intro settings. 2020-07-23 13:00:55 +03:00
23rd
d46b9d024e Fixed handling of language switch for theme names in intro settings. 2020-07-23 13:00:55 +03:00
23rd
52cd9f8cbf Fixed handling of language switch for checkboxes in intro settings. 2020-07-23 13:00:55 +03:00
John Preston
25d69434ec Support auto-night mode on macOS. 2020-07-23 12:30:20 +04:00
John Preston
8c4e8212cd Add 'respect system dark mode' checkbox. 2020-07-22 17:18:17 +04:00
Ilya Fedin
c24da4c3df Don't generate 64px tray icon since badge counter generator doesn't support it 2020-07-22 10:33:12 +04:00
Ilya Fedin
47a237c924 Implement system-based dark mode for Windows and Linux 2020-07-22 10:32:56 +04:00
23rd
fc3a9d98c0 Fixed phrase translate of option for native window frame. 2020-07-22 10:31:32 +04:00
23rd
acce671eb0 Added ability to jump to bottom in HistoryWidget with Ctrl key.
Fixed #7868.
2020-07-22 10:26:00 +04:00
John Preston
67b6023b32 Fix build on Windows. 2020-07-22 10:25:55 +04:00
23rd
5a46bb1770 Fixed stuck of FieldHeader when invalid link was provided. 2020-07-20 21:44:07 +03:00
23rd
01fd8aded1 Slightly refactored DragArea. 2020-07-20 21:44:07 +03:00
23rd
e0750f7b87 Added drag'n'drop area to SendFilesBox for images. 2020-07-20 21:44:07 +03:00
23rd
4eaba39a7c Added drag'n'drop area to EditCaptionBox. 2020-07-20 21:44:07 +03:00
23rd
6ac9ef34eb Moved ActivateWindow from HistoryWidget to single place. 2020-07-20 21:44:07 +03:00
23rd
42a2286230 Added implementation of drag'n'drop in section of scheduled messages. 2020-07-20 21:44:07 +03:00
23rd
24d02d5461 Replaced creating of drag'n'drop area in HistoryWidget with new way. 2020-07-20 21:44:07 +03:00
23rd
9bf2940375 Simplified setup of drag'n'drop area. 2020-07-20 21:44:07 +03:00
23rd
d98212e8b3 Fixed incorrect text in context menu item to cancel scheduled uploading. 2020-07-20 21:44:07 +03:00
23rd
3fe9c36d90 Added Esc shortcut to cancel edit in section of scheduled messages. 2020-07-20 21:44:07 +03:00
23rd
22f16caa89 Fixed multiple attempts to send request to edit message. 2020-07-20 21:44:07 +03:00
23rd
46cce57f6b Removed display post views for sent forwarded scheduled messages. 2020-07-20 21:44:07 +03:00
23rd
456244cdec Fixed blurred display of scheduled photos that were downloaded too fast. 2020-07-20 21:44:07 +03:00
23rd
69b2030c71 Added updating of WebPage preview image on download finish. 2020-07-20 21:44:07 +03:00
23rd
11018d76f1 Added Up arrow shortcut to edit scheduled messages. 2020-07-20 21:44:07 +03:00
23rd
e862215efb Added handling of group rights changes to scheduled WebPage preview.
Slightly refactored code.
2020-07-20 21:44:06 +03:00
23rd
129de6d87f Added ability to scroll to scheduled text message on edit header click. 2020-07-20 21:43:33 +03:00
23rd
3c3ce24675 Added ability to remove WebPage preview from scheduled messages section. 2020-07-20 21:43:33 +03:00
23rd
d98ac33425 Improved WebPage preview support in scheduled text messages. 2020-07-20 21:43:33 +03:00
23rd
76842792b8 Added initial support for WebPage cancelling of scheduled text messages. 2020-07-19 19:56:18 +03:00
23rd
4b01043b27 Added handling of deleting currently edited scheduled text messages. 2020-07-19 19:56:18 +03:00
23rd
0a4f3f310c Added initial implementation of editing of scheduled text messages. 2020-07-19 19:56:18 +03:00
23rd
8320feea10 Added saving local text before editing scheduled message. 2020-07-19 19:56:18 +03:00
23rd
58281023bc Moved drawing preview image from HistoryWidget to WebPageData. 2020-07-19 19:56:18 +03:00
23rd
0b655450bb Added text preview in edit header of scheduled messages section. 2020-07-19 19:56:18 +03:00
23rd
61292557bf Fixed top scroll of compose controls on change of height. 2020-07-19 19:56:18 +03:00
23rd
12ad1190ff Added initial edit message header to scheduled section. 2020-07-19 19:56:18 +03:00
23rd
42e0994581 Moved generating preview text from HistoryWidget to WebPageData. 2020-07-19 19:56:18 +03:00
23rd
69bc595e31 Fixed text loss when editing media content is canceled. 2020-07-17 18:22:38 +03:00
23rd
5c097887ef Added ability to edit media in scheduled messages. 2020-07-17 18:22:38 +03:00
23rd
b02b690747 Moved HistoryWidget::saveEditMsgDone/Fail to lambdas. 2020-07-17 18:22:38 +03:00
23rd
c52da743fd Fixed WebPageId removing from api_editing. 2020-07-17 18:22:38 +03:00
23rd
63dff9ff91 Moved edit text messages from HistoryWidget to api_editing. 2020-07-17 18:22:38 +03:00
23rd
1c41808042 Set Api::EditMessage as generic function. 2020-07-17 18:22:38 +03:00
23rd
2ebf44c166 Removed unused code from apiwrap. 2020-07-17 18:22:38 +03:00
23rd
c46b96f252 Moved edit captions from EditCaptionBox to api_editing. 2020-07-17 18:22:38 +03:00
23rd
6c89f60679 Added edit messages with uploaded file to api_editing. 2020-07-17 18:22:38 +03:00
23rd
bb73687fc5 Added api_editing as separate file of API code for edit messages. 2020-07-17 18:22:38 +03:00
23rd
31fa2d9355 Added ScheduledMessages::lookupItem for FullMsgId. 2020-07-17 18:22:37 +03:00
23rd
c350e33dd8 Moved preparing MTPInputMedia to separate file. 2020-07-17 18:22:37 +03:00
23rd
7dd9adb934 Added handling of updates for edited media in scheduled messages. 2020-07-17 18:22:37 +03:00
John Preston
01dc3b9382 Beta version 2.1.20.
- Fix animated emoji.
- Fix crash in bot callback sending.
2020-07-17 09:23:42 +04:00
John Preston
c62b39e287 Fix possible crash in call top bar hiding. 2020-07-17 08:32:51 +04:00
John Preston
04f95e905e Fix crash in bot callback sending. 2020-07-17 08:13:53 +04:00
John Preston
9463bbd266 Fix animated stickers with wrong dimensions. 2020-07-17 08:13:45 +04:00
John Preston
f64f1ea62e Build xz from git on macOS. 2020-07-16 12:52:05 +04:00
John Preston
55bd469b2d Beta version 2.1.19.
- File uploading in an inactive account correctly finishes.
- Stickers panel works correctly after switching between accounts.
- Large .webp files are not shown as stickers.
- MacBook TouchBar support was fully rewritten with fixes for multiple accounts.
- Custom window title bar works in all Linux versions.
- Passcode doesn't auto-lock while you're active in other apps on Linux X11.
2020-07-16 11:49:10 +04:00
Ilya Fedin
ba50393e86 Update icon theme on the fly 2020-07-16 07:07:33 +04:00
23rd
df155f6cb5 Added rotate button for doc images to touchbar for media view overlay. 2020-07-15 22:04:00 +03:00
John Preston
8aafe6ba0e Show only box(512,512) .webp as stickers. 2020-07-15 22:31:42 +04:00
23rd
9cf15da2b1 Fixed display of rotate button in media view overlay for theme previews. 2020-07-15 22:10:06 +04:00
23rd
d9c566ac44 Added touchbar to media view overlay.
Fixed #7795.
2020-07-15 22:10:06 +04:00
23rd
780b5555d7 Added missed OSX checking to touchbar's files. 2020-07-15 22:10:06 +04:00
23rd
87aa8a249f Reimplemented track position item for audio touchbar. 2020-07-15 22:10:06 +04:00
23rd
8de6d0b63b Moved creation of touchbar buttons and sliders to separate file. 2020-07-15 22:10:06 +04:00
23rd
8dceec5a9f Fixed memory leak in obtaining doNotDisturb value on macOS. 2020-07-15 22:10:06 +04:00
23rd
da690d2741 Removed source code of old touchbar. 2020-07-15 22:10:06 +04:00
23rd
b95f5071a4 Added new touchbar to MainWindow. 2020-07-15 22:10:06 +04:00
23rd
7cc55e24c0 Added touchbar manager. 2020-07-15 22:10:06 +04:00
23rd
199c746216 Added main touchbar. 2020-07-15 22:10:06 +04:00
23rd
2b9cce2f23 Moved touchbar item for text formatting to separate file. 2020-07-15 22:10:06 +04:00
23rd
ed4b90717a Added new rpl events to Media::Player::Instance for stop/start.
Removed unused playerWidgetToggled event.
2020-07-15 22:10:06 +04:00
23rd
c50df6a6bc Moved touchbar scrubber item for stickers and emoji to separate file. 2020-07-15 22:10:06 +04:00
23rd
54149fb156 Moved panel of pinned dialogs for touchbar to separate file. 2020-07-15 22:10:06 +04:00
23rd
2f964d0415 Refactored and moved to separate file audio player in touchbar. 2020-07-15 22:10:06 +04:00
23rd
0970728273 Added common touchbar utils. 2020-07-15 22:10:06 +04:00
23rd
b02dd889e0 Removed old touchbar from MainWindow. 2020-07-15 22:10:06 +04:00
23rd
f68e4d9d59 Fixed sending of PlayGame user action. 2020-07-14 19:24:36 +03:00
23rd
9445ce4b09 Moved sending of bot's CallbackData and CallbackGame to separate file. 2020-07-14 19:03:41 +04:00
John Preston
515d8e78da Show 'Open With' for files without extension. 2020-07-14 19:03:36 +04:00
John Preston
f316d951ae Fix stickers list display after account switch. 2020-07-14 19:03:27 +04:00
John Preston
52e780b065 Fix a memory leak using a recursive lambda. 2020-07-14 19:03:14 +04:00
John Preston
900f7e1304 Try recursive lambda without make_shared. 2020-07-14 19:02:45 +04:00
John Preston
2f5cb33bf2 Fix finalizing media in non-active account. 2020-07-14 19:02:27 +04:00
Ilya Fedin
000a7ae28b Choose output folder based on executable name and extension instead of generator name 2020-07-13 09:47:18 +04:00
Neurotoxin001
00460506b2 Update building-msvc.md 2020-07-13 09:46:41 +04:00
Neurotoxin001
0852e717c3 Update building-msvc.md
Add some more requirements because without them users will get errors
2020-07-13 09:46:41 +04:00
Ilya Fedin
a7f9b260de Update patches commit and cmake submodule 2020-07-13 09:46:15 +04:00
Ilya Fedin
7d81159ccf Move QTextItemInt symbols to lib_ui 2020-07-13 09:46:15 +04:00
Sean Wei
556aa28df6 Remove unused variable
The following are commits related to removed variables.

apiwrap.cpp
e050e27: kSaveDraftBeforeQuitTimeout

app.cpp
113f665: serviceImageCacheSize

boxes/auto_download_box.cpp
a0c6104: checked(Source source, Type type)

boxes/background_preview_box.cpp
b6edf45: resultBytesPerPixel
fe21b5a: ms

boxes/calendar_box.cpp
ae97704: yearIndex, monthIndex
99bb093: ms

boxes/connection_box.cpp
f794d8d: ping

boxes/dictionaries_manager.cpp
8353867: session

boxes/peer_list_box.cpp
2ce2a14: grayedWidth

boxes/peers/add_participants_box.cpp
07e010d: chat, channel

boxes/self_destruction_box.cpp
fe9f02e: count

chat_helpers/emoji_suggestions_widget.cpp
a12bc60: is(QLatin1String string)

chat_helpers/field_autocomplete.cpp
8c7a35c: atwidth, hashwidth

chat_helpers/gifs_list_widget.cpp
ff65734: inlineItems
3d846fc: newSelected
d1687ab: kSaveDraftBeforeQuitTimeout

chat_helpers/stickers_dice_pack.cpp
c83e297: kZeroDiceDocumentId

chat_helpers/stickers_emoji_pack.cpp
d298953: length

chat_helpers/stickers_list_widget.cpp
eb75859: index, x

core/crash_reports.cpp
5940ae6: LaunchedDateTimeStr, LaunchedBinaryName

data/data_changes.cpp
3c4e959:clearRealtime

data/data_cloud_file.cpp
4b354b0: fromCloud, cacheTag

data/data_document_media.cpp
7db5359: kMaxVideoFrameArea

data/data_messages.cpp
794e315: wasCount

data/data_photo_media.cpp
e27d2bc: index

data/data_wall_paper.cpp
b6edf45: resultBytesPerPixel

data/data_types.cpp
aa8f62d: kWebDocumentCacheTag, kStorageCacheMask

history/admin_log/history_admin_log_inner.cpp
794e315: canDelete, canForward

history/history_location_manager.cpp
60f45ab: kCoordPrecision
9f90d3a: kMaxHttpRedirects

history/history_message.cpp
cedf8a6: kPinnedMessageTextLimit

history/history_widget.cpp
b305924: serviceColor
efa5fc4: hasForward
5e7aa4f: kTabbedSelectorToggleTooltipTimeoutMs, kTabbedSelectorToggleTooltipCount

history/view/history_view_context_menu.cpp
fe1a90b: isVideoLink, isVoiceLink, isAudioLink

settings.cpp
e2f54eb: defaultRecent

settings/settings_folders.cpp
e8bf5bb: kRefreshSuggestedTimeout

ui/filter_icon_panel.cpp
c4a0bc1: kDelayedHideTimeoutMs

window/themes/window_theme_preview.cpp
ef927c8: mutedCounter

-----

Modified variables

boxes/stickers_box.cpp
554eb3a: _rows[pressedIndex] -> set

data/data_notify_settings.cpp
734c410: muteForSeconds -> muteUntil

history/view/history_view_list_widget.cpp
07528be: _items[index] -> view
e5f3bed: fromState, tillState

history/history.cpp
cd3c1c6: kStatusShowClientsideRecordVideo -> kStatusShowClientsideRecordVoice

storage/download_manager_mtproto.cpp
ae8fb14: _queues[dcId] -> queue

storage/localstorage.cpp
357caf8: MTP::Environment::Production -> production
2020-07-13 09:33:55 +04:00
Ilya Fedin
c61cabb075 Make qt_make_filter_list a part of file_utilities_linux.cpp 2020-07-13 06:53:45 +04:00
Ilya Fedin
a6fe5c08ad Add a method to get flatpak ID 2020-07-13 06:53:45 +04:00
Ilya Fedin
256e976167 Hide ProcessNameByPID and RealExecutablePath into a private namespace 2020-07-13 06:53:45 +04:00
Ilya Fedin
e081ed4b4a Follow device pixel ratio in TrayIconFile 2020-07-13 06:53:45 +04:00
Ilya Fedin
4623804123 Don't build OpenSSL tests
To decrease actions run time and fails
2020-07-13 06:50:55 +04:00
Ilya Fedin
93e78f1565 Make export window and PiP window movable on Wayland with Qt < 5.15 2020-07-12 23:19:05 +04:00
Ilya Fedin
b587328fed Add support for custom titlebar on Linux with Qt < 5.15 2020-07-12 23:19:05 +04:00
Ilya Fedin
2fd5771c3d Add support for org.gnome.Mutter.IdleMonitor 2020-07-12 22:19:44 +04:00
Ilya Fedin
59b521d666 Implement xcb-based LastUserInputTime method 2020-07-12 22:19:44 +04:00
John Preston
c3f5de30be Beta version 2.1.18: Update changelog. 2020-07-08 10:08:45 +04:00
John Preston
2df5972f68 Raise file size limit to 2000 MB. 2020-07-08 10:07:01 +04:00
John Preston
c9ebe28fc1 Beta version 2.1.18.
- Fix a possible crash in Picture-in-Picture video player.
- Fix copying links from message texts.
- Allow using system window frame in Windows and Linux.
2020-07-08 09:41:20 +04:00
John Preston
9997af1e8b Fix copying links in some cases. 2020-07-08 09:33:53 +04:00
John Preston
b13b4a6b5c Fix system window frame toggle on Linux. 2020-07-07 21:34:25 +04:00
John Preston
f10b2194e6 Add option for a native window frame.
Fixes #2958.
2020-07-07 21:34:25 +04:00
John Preston
d1050e6041 Use window shadow from lib_ui. 2020-07-07 21:34:25 +04:00
John Preston
326574ab7e Fix possible crash in PiP drag. 2020-07-03 07:45:08 +04:00
John Preston
3822845f86 Fix build for OS X 10.10-10.11. 2020-07-02 23:02:59 +04:00
John Preston
f887bf3b6a Beta version 2.1.17.
- Fix messages editing in a non-active account.
- Fix large animated emoji messages editing.
- Fix high definition GIF animations opening in media viewer.
- Multiple crash fixes.
2020-07-02 22:11:53 +04:00
John Preston
dfa4a9990d Show accounts in main menu when added. 2020-07-02 22:11:45 +04:00
John Preston
7f55fd2cad Use a safer way to load system libraries. 2020-07-02 21:01:25 +04:00
John Preston
822c0434e8 Fix editing animated emoji messages. 2020-07-02 14:44:12 +04:00
John Preston
76596f42c7 Open too large GIFs in fullscreen viewer. 2020-07-02 13:43:39 +04:00
John Preston
f2577265ee Refresh main message view for inactive accounts. 2020-07-02 13:35:07 +04:00
John Preston
895c65d518 Fix visual glitch on profile opening. 2020-07-02 12:15:21 +04:00
Ilya Fedin
d8cc7a9b50 Pass Qt::Edges to updateCursor and startResize 2020-07-02 11:33:58 +04:00
Sean Wei
212944d89c Fix format 2020-07-02 11:32:17 +04:00
Ilya Fedin
2b5df331bd Install Qt log handler 2020-07-02 11:31:51 +04:00
Ilya Fedin
7ebebc2bc3 Detect OpenAL effects at runtime 2020-07-02 11:30:13 +04:00
John Preston
120ce27894 Fix possible crash in global search requests. 2020-07-02 11:13:50 +04:00
John Preston
17312a1eec Fix possible crash in intro widget. 2020-07-02 10:42:09 +04:00
John Preston
f1b4a82015 Fix crash in password submit. 2020-07-02 10:25:12 +04:00
John Preston
a6c76382e3 Fix possible crash in top bar widget init. 2020-07-02 10:10:09 +04:00
John Preston
370ad0aa44 Fix critical memory leak on macOS. 2020-07-01 22:34:42 +04:00
John Preston
b1554782fb Add one more moderate hotkey. 2020-07-01 22:33:19 +04:00
John Preston
90c6ff3e41 Fix Settings layout. 2020-07-01 22:33:13 +04:00
John Preston
432ce4caa4 Fix crash in migration with corrupted settings. 2020-07-01 14:16:36 +04:00
John Preston
eb1845e33b Fix crash in session destruction.
Also use rpl::event_stream for downloaderTaskFinished.
2020-07-01 12:26:29 +04:00
John Preston
0981335ca7 Beta version 2.1.16.
- Crash fix.
2020-07-01 00:42:21 +04:00
John Preston
1a69627102 Fix crash in reading saved peers. 2020-07-01 00:41:21 +04:00
Nicholas Guriev
3c0694280f Fix -Wredundant-move 2020-07-01 00:17:05 +04:00
John Preston
e050055c1e Beta version 2.1.15.
- Receive notifications only from the active account
in Settings > Notifications.
- Fix saving chats list width between application relaunches.
- Multiple crash fixes.
2020-06-30 22:17:36 +04:00
Ilya Fedin
e7c598e533 Reset cursor on window leave 2020-06-30 22:14:15 +04:00
Ilya Fedin
dd76d54aeb Fix build with TDESKTOP_DISABLE_GTK_INTEGRATION 2020-06-30 22:13:36 +04:00
John Preston
1dc31c7f2f Allow turning off inactive accounts notifications. 2020-06-30 22:11:54 +04:00
John Preston
5cc7c2b6c6 Add account from settings three-dot menu. 2020-06-30 21:16:05 +04:00
John Preston
dd0e0a10cd Add Activate/Logout context menu in accounts list. 2020-06-30 21:15:35 +04:00
John Preston
9fb12b6093 Set correct username to crash annotations. 2020-06-30 20:41:25 +04:00
John Preston
5ea5d3c60d Fix empty web page preview removing. 2020-06-30 20:22:47 +04:00
John Preston
20ea3af2f0 Fix crash in edited and replied message destruction. 2020-06-30 20:01:17 +04:00
John Preston
41f2cc6d81 Fix crash in notifications clearing. 2020-06-30 19:33:22 +04:00
John Preston
d529c60081 Fix crash in MainMenu hiding on external logout. 2020-06-30 19:13:57 +04:00
John Preston
7d0eb3ba8e Fix crash in MainWidget setup with audio player. 2020-06-30 19:05:12 +04:00
John Preston
3c028590b1 Fix crash in StickersListWidget. 2020-06-30 19:04:52 +04:00
John Preston
47c8b852b8 Fix possible crash in Dialogs::Widget. 2020-06-30 18:34:38 +04:00
John Preston
c15019dee6 Fix crashes in MainWidget and ApiWrap. 2020-06-30 18:26:44 +04:00
John Preston
09aff23ac9 Fix crashes in HistoryWidget. 2020-06-30 18:14:05 +04:00
John Preston
b7707a8a89 Fix event loop tracking crash. 2020-06-30 17:41:58 +04:00
John Preston
10ced19841 Fix crash in redundant checkStartUrl call. 2020-06-30 17:23:21 +04:00
John Preston
2ef47222f4 Fix crash in update online on logout. 2020-06-30 17:17:07 +04:00
John Preston
a95b756111 Fix settings saving.
Regression was introduced in 5d6a494934.

Fixes #8168.
2020-06-30 13:49:22 +04:00
23rd
d2615dda63 Updated Github Actions Cache version. 2020-06-30 12:28:13 +03:00
John Preston
e6f3cd1d56 Refresh appconfig after login. 2020-06-30 13:01:59 +04:00
John Preston
5d32ba5867 Accept IPv4:port in proxy host input field. 2020-06-30 12:56:06 +04:00
John Preston
4b1e9e3b9d Fix proxies list box. 2020-06-30 12:25:06 +04:00
John Preston
06c9e55c26 Fix notification receiver name. 2020-06-30 12:03:42 +04:00
John Preston
613a2f358a Fix clearing session notifications. 2020-06-30 11:52:59 +04:00
John Preston
c3fa300b5c Create notifications manager after reading settings. 2020-06-30 11:44:32 +04:00
John Preston
0db6fc4ffb Toggle accounts by userpic in Main Menu. 2020-06-30 11:34:02 +04:00
John Preston
9211b4d421 Remove duplicate accounts toggle subscription. 2020-06-30 11:31:52 +04:00
John Preston
ab33af3f73 Save preloaded filters info. 2020-06-30 11:18:35 +04:00
John Preston
dfc1712043 Fix loading locally stored self data. 2020-06-30 11:16:47 +04:00
John Preston
87eaab15b5 Load filters before creating session on log in. 2020-06-30 11:02:44 +04:00
Ilya Fedin
90af3d295b Always fallback to gtk icon theme
To inherit icon theme even on WM-based environments
2020-06-30 10:23:07 +04:00
John Preston
107dea085c Fix build for OS X 10.10-10.11. 2020-06-30 00:05:27 +04:00
John Preston
a9eedf0024 Beta version 2.1.14: Fix nearest dc resolve. 2020-06-29 22:25:36 +04:00
John Preston
db435aa9b1 Fix language switch in not-authed window. 2020-06-29 22:25:35 +04:00
John Preston
711fcc2e11 Remove change language link for secondary account. 2020-06-29 22:25:35 +04:00
John Preston
90f7f482ee Take main DC and phone prefix from active account. 2020-06-29 22:14:24 +04:00
John Preston
eff340deaf Fix touchbar destruction with Window. 2020-06-29 22:12:40 +04:00
John Preston
a8d0b80baa Beta version 2.1.14.
- Support for multiple accounts.
2020-06-29 21:51:06 +04:00
John Preston
c777f51427 Fix new settings saving. 2020-06-29 21:49:58 +04:00
John Preston
1a07a388d0 Build window_title_qt only on Linux. 2020-06-29 21:37:56 +04:00
John Preston
cbad993bba Fix app start without data. 2020-06-29 21:37:56 +04:00
John Preston
40971d6da6 Fix quit-by-closing non-authed window. 2020-06-29 21:37:56 +04:00
John Preston
52eef22273 Fix build. 2020-06-29 21:37:55 +04:00
John Preston
44e81269a3 Fix assertion violation in event loop tracking. 2020-06-29 21:29:20 +04:00
Ilya Fedin
0ede4bba72 Unity doesn't support _NET_WM_MOVERESIZE 2020-06-29 19:17:06 +04:00
Ilya Fedin
5e8e654324 Add cross-platform TitleWidget implementation based on startSystemMove/startSystemResize 2020-06-29 17:04:05 +04:00
Ilya Fedin
916601a52c Don't request IsStatusNotifierHostRegistered when SNI become available
To avoid situations when StatusNotifierItem registers icon, but tdesktop assumes that there are still no SNI
2020-06-29 16:58:00 +04:00
Ilya Fedin
a726c6411b Don't use custom notificaions on Wayland even with TDESKTOP_DISABLE_DBUS_INTEGRATION 2020-06-29 16:53:50 +04:00
John Preston
a33c9479a5 Revert pausing in processQueuedPackets. 2020-06-29 16:44:48 +04:00
Ilya Fedin
73b0153a66 Use startSystemMove in export window 2020-06-29 16:44:02 +04:00
Ilya Fedin
bb8f9a1b7f Link to gtk3 without QLibrary if DESKTOP_APP_USE_PACKAGED is defined 2020-06-29 16:27:45 +04:00
Ilya Fedin
4922768086 Don't use QLibrary for glib 2020-06-29 16:27:45 +04:00
Ilya Fedin
806f2e0b50 Check for all needed gtk functions for gtk clipboard 2020-06-29 16:27:45 +04:00
Ilya Fedin
d319c85c57 Don't load another gtk version if gtk_init_check was called 2020-06-29 16:27:45 +04:00
Magnus Groß
f697abe9a1 Do not open non-images as image
QImageReader might report PDF as a viable image type, if Qt is
dynamically linked and QtWebEngine is installed.

Fixed by additionally checking the mime type.

Fixes #8102
2020-06-29 16:22:15 +04:00
RadRussianRus
ae31bdcd1b Fix patches revision 2020-06-29 16:20:01 +04:00
Ilya Fedin
aaf71b34b5 Find alsa and pulse for libtgvoip 2020-06-29 16:18:47 +04:00
John Preston
5f9dae1b72 Run main menu hide animation on account switch. 2020-06-29 16:11:38 +04:00
John Preston
1757dd856b Fix 125% scale active account check. 2020-06-29 15:07:42 +04:00
John Preston
5689154ec5 Clear MessageUpdate changes on item destruction. 2020-06-29 13:23:51 +04:00
John Preston
57249c6ea0 Fix a case of huge memory consumption in streaming. 2020-06-29 12:42:56 +04:00
John Preston
1bd0b03e8e Return Saved Messages button to the main menu. 2020-06-29 09:55:19 +04:00
23rd
0227b5f2fa Removed Notify::inlineKeyboardMoved as completely unused code. 2020-06-29 06:26:09 +04:00
23rd
b629e0c43a Replaced Notify::replyMarkupUpdated with Data::MessageUpdate. 2020-06-29 06:26:02 +04:00
23rd
6507007086 Added fade animation for total unread count badge in main menu. 2020-06-29 06:25:36 +04:00
John Preston
a389a1e468 Fix couple of crashes in main window. 2020-06-29 06:25:20 +04:00
John Preston
4e57ce8dbb Fix crash in filters update. 2020-06-26 21:50:36 +04:00
John Preston
b6ac4a0233 Closed alpha version 2.1.13.1: Multiaccount. 2020-06-26 17:09:39 +04:00
23rd
f8dca0ae88 Fixed couple of issues with passcode lock support in touchbar. 2020-06-26 15:57:09 +03:00
23rd
ef6fab7f2a Improved unread badges in touchbar. 2020-06-26 15:05:08 +03:00
23rd
c8c7497d75 Removed from touchbar unused code of old panel of pinned dialogs. 2020-06-26 15:05:08 +03:00
23rd
4f062788d2 Wrapped Pins in touchbar to shared_ptr. 2020-06-26 15:05:08 +03:00
23rd
25ab88d87a Added animated online dots to panel of pinned dialogs in touchbar. 2020-06-26 15:05:08 +03:00
23rd
e5732cba97 Added ability to reorder pins in new panel in touchbar. 2020-06-26 15:05:08 +03:00
23rd
0e794d53cd Reimplemented panel of pinned dialogs for touchbar. 2020-06-26 15:05:08 +03:00
23rd
68badc6682 Slightly optimized drawing stickers in touchbar. 2020-06-26 15:05:08 +03:00
23rd
27c799ce3d Fixed size ratios of stickers in touchbar. 2020-06-26 15:05:08 +03:00
John Preston
044c281cf7 Fix closing float player over Intro. 2020-06-26 16:01:37 +04:00
John Preston
3f0078cfbf Fix crash in float player over Intro. 2020-06-26 15:48:38 +04:00
John Preston
6068dc418d More auto-switching between accounts. 2020-06-26 15:48:28 +04:00
John Preston
6960e4808a Don't change dc after qr request / phone submit. 2020-06-26 15:28:06 +04:00
John Preston
793e8c102e Fix adjustable colors in default theme. 2020-06-26 14:37:07 +04:00
John Preston
31c745cb07 Destroy non-authed account on deactivate. 2020-06-26 14:36:52 +04:00
John Preston
c8efb77520 Fix local storage clearing on logout. 2020-06-26 14:36:22 +04:00
John Preston
76593b0f3d Fix migrating background image. 2020-06-26 13:23:10 +04:00
John Preston
9703f7460a Fix build on Linux. 2020-06-26 12:27:54 +04:00
John Preston
325840703e Fix launching with a passcode on macOS. 2020-06-26 11:51:05 +04:00
John Preston
70fdc4eb39 Improve quit prevent management. 2020-06-26 11:22:53 +04:00
John Preston
79a361ba43 Move call management to Core::App. 2020-06-25 21:57:36 +04:00
John Preston
8c4d3a86e7 Fix notifications on macOS. 2020-06-25 19:13:02 +04:00
John Preston
2b5d3b022d Fix player closing on logout. 2020-06-25 19:01:10 +04:00
John Preston
bf7aae5fc6 Allow float video player across accounts. 2020-06-25 18:17:37 +04:00
23rd
8171ed6c12 Fixed online status stuck when switching between accounts. 2020-06-25 16:06:02 +03:00
John Preston
5d6a494934 Move some more settings to Core::App. 2020-06-25 16:25:53 +04:00
John Preston
90a9cb4f8d Fix playing music from a different account. 2020-06-25 15:12:50 +04:00
John Preston
c60b9cfa4d Allow PiP from another account. 2020-06-25 14:28:02 +04:00
John Preston
8fec04ba7a Track session better in media viewer. 2020-06-25 13:42:30 +04:00
John Preston
c19c0afe60 Fix export bar in accounts toggle. 2020-06-25 13:02:02 +04:00
John Preston
8ad1e8aed9 Fix saving of main menu accounts state. 2020-06-25 13:01:17 +04:00
John Preston
65050bf9dd Move export management to Core::App. 2020-06-25 11:14:05 +04:00
John Preston
28cafb129e Load local stickers / gifs in Session(). 2020-06-24 16:52:06 +04:00
John Preston
0bc2bfe630 Don't allow two same accounts being logged in. 2020-06-24 13:32:07 +04:00
John Preston
d8a2b391a3 Use Main::Session::uniqueId in notifications. 2020-06-24 13:05:56 +04:00
John Preston
e38d39656d Activate account before showing a peer. 2020-06-24 12:28:46 +04:00
John Preston
99bf61ac8c Pass correct context to setMarkedText. 2020-06-24 12:22:27 +04:00
John Preston
e7b8a52278 Move terms lock from Core::App to Session. 2020-06-24 11:56:16 +04:00
John Preston
30c82bb2e0 Remove some MainWindow::sessionController() calls. 2020-06-23 21:53:44 +04:00
John Preston
4d65df6ca2 Remove legacy temp download folder. 2020-06-23 21:53:44 +04:00
John Preston
4add6234b6 Fix reading background before style init. 2020-06-23 21:53:44 +04:00
John Preston
55ec4ebf86 Allow returning from new account setup. 2020-06-23 21:53:44 +04:00
John Preston
c92c15883d Improve badges in accounts list. 2020-06-23 21:53:44 +04:00
John Preston
7b0a32b607 Add unread unmuted counter to main menu cover. 2020-06-23 21:53:44 +04:00
John Preston
34ef54e40b Display check on the active account. 2020-06-23 21:53:43 +04:00
John Preston
51c2bc7349 Create only one EmojiImageLoader to fix a crash. 2020-06-23 21:53:43 +04:00
23rd
2e7a89d9c4 Added support of switching accounts to touchbar. 2020-06-23 21:53:43 +04:00
John Preston
1248cef86b Add an arrow to the expand accounts button. 2020-06-23 21:53:43 +04:00
23rd
0696a2d5c0 Replaced mapping to rpl::empty_value with rpl::to_empty. 2020-06-23 21:53:43 +04:00
23rd
e318a7d65f Simplified ranges::find_if with ranges::any_of and ranges::none_of. 2020-06-23 21:53:43 +04:00
John Preston
5f238a71f9 Allow switching accounts from the main menu. 2020-06-23 21:53:43 +04:00
John Preston
f129b6b90d Fix invalid cache settings being read. 2020-06-23 21:53:43 +04:00
John Preston
bc3719038f Fix crash in session destruction. 2020-06-23 21:53:43 +04:00
John Preston
1705a1aa4a Fix filters in non-active accounts. 2020-06-23 21:53:43 +04:00
John Preston
a45d088ee4 Fix create group box. 2020-06-23 21:53:43 +04:00
John Preston
28570b45e3 Fix working with settings before Domain::started. 2020-06-23 21:53:43 +04:00
John Preston
4a8d297df3 Use username in notifications if available. 2020-06-23 21:53:43 +04:00
John Preston
3bb352e0e5 Fix build and working on macOS. 2020-06-23 21:53:42 +04:00
23rd
b49a8e6dc1 Fixed crash on pinning dialog from context menu.
Regression was introduced in 3a147305b7.
2020-06-23 21:53:42 +04:00
John Preston
0824d2da20 Reset some settings on full logout. 2020-06-23 21:53:42 +04:00
John Preston
2635ca33f8 Move background to global settings. 2020-06-23 21:53:42 +04:00
John Preston
5433c16244 Add target account name to notifications. 2020-06-23 21:53:42 +04:00
John Preston
997913be25 One Window::Notifications system for all sessions. 2020-06-23 21:53:42 +04:00
John Preston
83538675ce Move a lot of settings to Core::Settings. 2020-06-23 21:53:42 +04:00
John Preston
4d6cc58f0d Move session settings to main_session_settings. 2020-06-23 21:53:42 +04:00
John Preston
3a5ede534e Count all accounts in Core::App().unreadBadge. 2020-06-23 21:53:41 +04:00
John Preston
357caf8007 Keep separate MTP::Config's for separate accounts. 2020-06-23 21:53:41 +04:00
John Preston
63cdda2df7 Fix launching with autoupdates disabled. 2020-06-23 21:53:41 +04:00
23rd
3ef45f5431 Fixed starting with touchbar. 2020-06-23 21:53:41 +04:00
John Preston
c83659f0c7 Fix logouting from the passcode. 2020-06-23 21:53:41 +04:00
John Preston
ba103fdd40 Fix starting with a passcode. 2020-06-23 21:53:41 +04:00
John Preston
bc144377c0 Support logout of a secondary account. 2020-06-23 21:53:41 +04:00
John Preston
5e045ec02c Fix first main window appearance. 2020-06-23 21:53:41 +04:00
John Preston
ab5796c117 Several working accounts together. 2020-06-23 21:53:40 +04:00
John Preston
6fc5e22882 Allow several accounts in Core::App. 2020-06-23 21:53:40 +04:00
23rd
815e26eea5 Added missed handler for MTPupdates_GetState. 2020-06-23 21:53:40 +04:00
23rd
9faf15943a Fixed build for macOS. 2020-06-23 21:53:40 +04:00
John Preston
dddd355f6c Fix language and theme writing / reading. 2020-06-23 21:53:40 +04:00
John Preston
f450f81215 Remove non-UI calls to App::main. 2020-06-23 21:53:40 +04:00
John Preston
3c4e959468 Replace observer_peer with rpl interface. 2020-06-23 21:53:40 +04:00
John Preston
b0f9ad71dd Check some more App::main()s. 2020-06-23 21:53:40 +04:00
John Preston
0ad7dcaef9 Remove MTP::MainInstance() global access point. 2020-06-23 21:53:40 +04:00
John Preston
7f09da9e32 Use MTP::Sender in Intro. 2020-06-23 21:53:39 +04:00
John Preston
0b028b959b Move updates handling MainWidget -> Api::Updates. 2020-06-23 21:53:39 +04:00
John Preston
ee43027bea Remove some usages of App::main(). 2020-06-23 21:53:39 +04:00
John Preston
ea86433be5 Remove some activeAccount() calls. 2020-06-23 21:53:39 +04:00
John Preston
598fb67cdf Remove Session::Exists() global access point. 2020-06-23 21:53:39 +04:00
John Preston
5f8d22f1f2 Remove Auth() global access point. 2020-06-23 21:53:39 +04:00
John Preston
7892ba97e6 Fix clearing storage_account files on logout. 2020-06-23 21:53:39 +04:00
John Preston
ad4afe9293 Move session data localstorage -> storage_account. 2020-06-23 21:53:39 +04:00
23rd
739a3ebe97 Removed all Auth() calls from touchbar. 2020-06-23 21:53:39 +04:00
John Preston
03dec15e8e Pass Main::Session to click handler creators. 2020-06-23 21:53:38 +04:00
John Preston
fc174f742a Move stickers code to Data::Stickers class. 2020-06-23 21:53:38 +04:00
John Preston
27af83267e Move autolock checking to Core::Application. 2020-06-23 21:53:38 +04:00
John Preston
4b354b0928 Use Main::Session in download/upload. 2020-06-23 21:53:38 +04:00
John Preston
3878a1b212 Remove some more Auth() calls. 2020-06-23 21:53:38 +04:00
John Preston
bede709f6b Fix file origin in media viewer photo preloading.
It never worked correctly, but before somehow it got worked around.

Fixes #8043.
2020-06-23 21:53:38 +04:00
John Preston
f6150d4d3e Version 2.1.13.
- Fix photos loading.
- Fix Picture-in-Picture window movement on Wayland in Linux.
2020-06-23 21:52:59 +04:00
John Preston
7624e74c8b Be sure to set correct PiP maximum size. 2020-06-23 21:50:20 +04:00
Ilya Fedin
5ac628ee4d Use startSystemMove/startSystemResize in PiP window on Wayland
Since startSystemMove is the only way to move a window on Wayland

And since custom resize works bad due to the lack of moving (resize with left and top corners works just like resize with right and bottom corners)
2020-06-23 21:45:39 +04:00
23rd
beb2e7dc19 Fixed ability to open more than one calendar in schedule box. 2020-06-23 21:39:33 +04:00
23rd
50ab655af9 Added ability to change date in schedule box with wheel. 2020-06-23 21:39:33 +04:00
23rd
425423e113 Added ability to change time in schedule box with wheel. 2020-06-23 21:39:33 +04:00
Ilya Fedin
2743aee614 Disable restart on session start explicitly 2020-06-23 21:30:44 +04:00
Ilya Fedin
06a4480520 Drop unneeded GTK methods 2020-06-23 21:29:18 +04:00
Ilya Fedin
384a71930d Don't try to focus the window when clicking on tray icon on Wayland 2020-06-23 21:28:46 +04:00
Ilya Fedin
68fde210c6 Platform::IsWayland could be used on any platform now 2020-06-23 21:24:44 +04:00
Ilya Fedin
9a65481e9d Unset QT_STYLE_OVERRIDE instead of forcing Fusion
To don't break styling on KDE
2020-06-23 21:23:47 +04:00
Ilya Fedin
0b939e72c1 Fix CI 2020-06-19 06:28:01 +04:00
Ilya Fedin
1beada6e4a Hide notification position in settings on Wayland 2020-06-19 06:28:01 +04:00
Ilya Fedin
a416debc2f core20 doesn't support i386 2020-06-18 06:46:11 +04:00
Ilya Fedin
6c52b4630c Update ffmpeg to 4.3 in snap 2020-06-18 06:46:11 +04:00
John Preston
a56ecfebeb Version 2.1.12: Fix build on macOS. 2020-06-17 22:36:53 +04:00
John Preston
3681a5559e Version 2.1.12: Update submodule. 2020-06-17 21:21:02 +04:00
John Preston
f07e4a8e5e Version 2.1.12.
- Fix sticker and video results in inline bots.
- Fix clipboard issues in Linux.
- Fix several crashes.
2020-06-17 20:38:41 +04:00
Ilya Fedin
3a91003eea Use gtk clipboard when available to avoid https://bugreports.qt.io/browse/QTBUG-56595 2020-06-17 20:34:47 +04:00
Ilya Fedin
a70cc9b956 Fix patches cache on windows and macos actions 2020-06-17 20:33:46 +04:00
Ilya Fedin
fde51018ca Update libwayland 2020-06-17 20:33:46 +04:00
Ilya Fedin
70acebc1ef Windows build can be built without updater too 2020-06-17 20:33:23 +04:00
Ilya Fedin
dbad9fa73a Use Q_OS_UNIX instead of Q_OS_LINUX since linux-specific code can be used also on *BSD/Haiku 2020-06-17 20:33:23 +04:00
Ilya Fedin
56de3194ef Never use custom notifications on Wayland since there are no positioning API 2020-06-17 20:32:50 +04:00
23rd
2559a3590d Fixed wrong Z-order of drag areas that were under schedule button. 2020-06-16 20:06:37 +03:00
John Preston
099482574e Fix sending stickers from inline bots.
Fixes #8020.
2020-06-16 20:53:44 +04:00
John Preston
1024f38944 Fix inline bot video results without documents.
Fixes #8060.
2020-06-16 19:54:23 +04:00
John Preston
99704e973b Always keep current self-userpic loaded. 2020-06-16 19:40:43 +04:00
John Preston
571a15bf92 Fix sending image from clipboard as file. 2020-06-16 19:31:50 +04:00
John Preston
cdc295c1d7 Fix build with updated submodules. 2020-06-16 19:10:39 +04:00
Zhiming Deng
b412b2141e update 2020-06-14 11:07:48 +04:00
Zhiming Deng
c18edf2f30 doc 2020-06-14 11:07:48 +04:00
Ilya Fedin
e009ac026d Update snap to core20 2020-06-09 19:01:35 +04:00
John Preston
ef08b52597 Version 2.1.11 (Linux only).
- Fix launch on old Linux systems.

Degrade OpenAL back to 1.19.1 so that it will still work on old systems.

Fixes #8005.
2020-06-08 12:23:27 +04:00
John Preston
9f6fc3a4c8 Ignore observables notification after ~Application. 2020-06-08 12:20:51 +04:00
John Preston
7757cad839 Fix crash in media viewer refresh in showPhoto. 2020-06-08 12:09:07 +04:00
John Preston
bdbcd8e540 Use Main::Session in entities parsing. 2020-06-08 12:05:17 +04:00
John Preston
7a5f4e8a01 Fix crashes in EditCaptionBox and dropdown. 2020-06-08 12:02:43 +04:00
23rd
cf40f92cd5 Fixed crash in rescheduling of scheduled until online messages.
Fixed #8016.
2020-06-08 09:56:09 +03:00
Ilya Fedin
ccce5f081d Fix running snap with XEmbed trays 2020-06-08 10:33:45 +04:00
John Preston
f50fdd0236 Version 2.1.10.
- Improve memory usage.
- Add support for full group message history export.
- Allow export of a single chat message history in JSON format.
2020-06-05 20:04:22 +04:00
23rd
d4f2b8dd0e Fixed ability to edit media with sticker.
Regression was introduced in efa4deef6a.
2020-06-05 19:46:34 +04:00
23rd
f4042d5ad5 Fixed ability to see empty header in HistoryWidget.
The problem occurs by pressing the left side of the header
when there is no second layer.
2020-06-05 19:46:33 +04:00
23rd
1c77b9c16f Changed button names in SendFilesBox.
Fixed #7988.
2020-06-05 19:46:32 +04:00
John Preston
06629ad171 Fix crash in PiP with bad video files. 2020-06-05 14:26:42 +04:00
John Preston
05df4f832b Fix crash in theme editor closing. 2020-06-05 14:00:06 +04:00
John Preston
6c2a29b83f Fix possible crash in EditCaptionBox. 2020-06-05 13:17:53 +04:00
John Preston
a586b18dfb Fix pending web pages applying.
Fixes #7091.
2020-06-05 13:03:45 +04:00
John Preston
d0994019ca Beta version 2.1.9: Fix 'edited' field export.
Export 'edited' only if the message was edited.
2020-06-04 18:17:50 +04:00
John Preston
23f94c61a4 Beta version 2.1.9.
- Several crash fixes.
2020-06-04 17:32:10 +04:00
John Preston
2b9e4a8ddf Simplify playing video tracking (and fix a crash). 2020-06-04 17:26:11 +04:00
John Preston
e1d36cfd50 Fix crash in the EditCaptionBox. 2020-06-04 17:26:11 +04:00
John Preston
fbb2bae99f Fix crash in OS X 10.10 / 10.11. 2020-06-04 13:24:38 +04:00
John Preston
6bc7fa9ef4 Fix crash in saving of a document. 2020-06-04 12:22:37 +04:00
John Preston
bf06d4d545 Fix crash in stickers box. 2020-06-04 12:16:56 +04:00
John Preston
bfafdd5b38 Fix crash in streaming+loading of a document. 2020-06-04 12:16:44 +04:00
John Preston
f581a15b6e Fix crash in PiP window. 2020-06-04 11:00:59 +04:00
John Preston
c868cd6036 Update lib_ui. 2020-06-04 10:53:59 +04:00
John Preston
9d1a4cdbfe Beta version 2.1.8: Fix build on 64 bit systems. 2020-06-03 16:18:03 +04:00
John Preston
383e6dec43 Beta version 2.1.8.
- Add support for full group message history export.
- Allow export of a single chat message history in JSON format.
2020-06-03 15:51:27 +04:00
John Preston
85904e3022 Update submodules. 2020-06-03 15:51:15 +04:00
John Preston
f88b97553e Fix crash in destructor of Data::CloudFile. 2020-06-03 13:48:11 +04:00
John Preston
63c6a1db82 Allow removing users invited by me. 2020-06-03 12:57:36 +04:00
John Preston
ca97e3c375 Add more warnings for suspicious urls. 2020-06-03 12:44:46 +04:00
John Preston
ef30c776bf Fix visual glitch in filter change from archived chat. 2020-06-03 12:31:15 +04:00
Ilya Fedin
d45e74619d Use Platform::IsWayland from lib_base 2020-06-03 11:43:55 +04:00
Ilya Fedin
d92b5eebcc Restore X error handler just like qgtk3 2020-06-03 11:31:34 +04:00
Ilya Fedin
5c6b4d95b0 Suppress warning about transient parent when opening gtk file dialog 2020-06-03 11:31:34 +04:00
Ilya Fedin
0fbec5eba1 Use QVersionNumber to compare version in native notifications 2020-06-03 11:31:34 +04:00
Ilya Fedin
ab13d9bdaf Skip empty parts in QT_QPA_PLATFORMTHEME 2020-06-03 11:31:34 +04:00
Ilya Fedin
0165e31ca7 Never use custom code for portal detecting in flatpak 2020-06-03 11:31:34 +04:00
Ilya Fedin
f1e75d809a Separate patches 2020-06-03 11:31:34 +04:00
Ilya Fedin
c776f81dc7 Add support for choosing directories via xdg-desktop-portal 2020-06-03 11:31:34 +04:00
John Preston
9fd62d3892 Add more deprecated system versions. 2020-06-02 22:26:59 +04:00
John Preston
793906ca9a Fix build on Windows. 2020-06-02 12:26:58 +04:00
23rd
35e575c2d7 Fixed build for macOS. 2020-06-01 19:28:19 +03:00
23rd
f5e84220eb Fixed crash in context menu for uploading scheduled messages. 2020-06-01 17:55:22 +03:00
Ilya Fedin
1d622fb3c0 Add patches with the fix for https://github.com/telegramdesktop/tdesktop/issues/6645 2020-06-01 18:43:42 +04:00
Nicholas Guriev
d8d3dda2f3 Fix little typo in theme names generator 2020-06-01 18:26:16 +04:00
Ilya Fedin
e098922a4b Add Platform::AutostartSupported 2020-06-01 18:25:21 +04:00
Ilya Fedin
413ddf285e Fix crash in gtk file dialog on Wayland 2020-06-01 18:22:53 +04:00
Ilya Fedin
7ac78be984 Load gtk2 even on Wayland 2020-06-01 18:22:53 +04:00
Ilya Fedin
4c546156da Remove duplicate log line 2020-06-01 18:22:53 +04:00
Ilya Fedin
db528b39e1 Fix macOS cache validating
macOS action has runner version in the workdir path, it should be a part of the cache key
2020-06-01 18:21:52 +04:00
Ilya Fedin
586744c112 Apply sway fixes to the PiP and export windows too 2020-06-01 18:21:30 +04:00
Ilya Fedin
7b106761be Remove cache from snap action since it works not so good 2020-06-01 18:19:34 +04:00
Ilya Fedin
8fb7f0fc73 Use TDESKTOP_USE_GTK_FILE_DIALOG in snap 2020-06-01 18:19:34 +04:00
Ilya Fedin
10b169f9f6 Make not supported errors static 2020-06-01 18:19:34 +04:00
Ilya Fedin
c83b8d4043 Fix naming of static variables 2020-06-01 18:19:34 +04:00
Ilya Fedin
1fc2b19c94 Add Cinnamon sound settings command 2020-06-01 18:19:34 +04:00
Ilya Fedin
fb97940cac Rename SandboxAutostart to PortalAutostart 2020-06-01 18:19:34 +04:00
Ilya Fedin
16c38b54e2 Rename InSandbox to InFlatpak 2020-06-01 18:19:34 +04:00
Ilya Fedin
7f29f57c3d Use custom gtk file dialog only on gtk-based DEs 2020-06-01 18:19:34 +04:00
Ilya Fedin
1fb1d57a27 Get system icon theme on gtk-based DEs 2020-06-01 18:19:34 +04:00
Ilya Fedin
47d7bd95ae Add a method to check if gtk integration is forced 2020-06-01 18:19:34 +04:00
John Preston
368eeaf754 Improve single chat export progress display. 2020-06-01 18:09:34 +04:00
John Preston
1686eb394d Add support for JSON single-chat export. 2020-06-01 18:09:34 +04:00
John Preston
02586ebe4b Allow export of just-converted supergroup. 2020-06-01 18:09:34 +04:00
John Preston
8f80c19ae1 Merge old group with supergroup history in export. 2020-06-01 18:09:34 +04:00
John Preston
1598165e2b Closed alpha version 2.1.7.4. 2020-06-01 18:09:34 +04:00
John Preston
f4cd84c313 Fix crash in stickers. 2020-06-01 18:09:34 +04:00
John Preston
9b574e497d Closed alpha version 2.1.7.3. 2020-06-01 18:09:34 +04:00
John Preston
6660338ccc Fix crash in sticker sets without a thumbnail. 2020-06-01 18:09:34 +04:00
John Preston
423ea5b499 Fix crash on invalid image data. 2020-06-01 18:09:34 +04:00
John Preston
4695ebae6e Fix crash in sticker set parsing. 2020-06-01 18:09:34 +04:00
John Preston
aaa4db7b27 Fix a crash in custom notifications. 2020-06-01 18:09:34 +04:00
John Preston
0965b06fa3 Closed alpha version 2.1.7.2. 2020-06-01 18:09:34 +04:00
Ilya Fedin
be96bf2812 Set parent for dialogs only on Wayland 2020-06-01 18:09:34 +04:00
John Preston
b7aa60bedf Fix build for Linux. 2020-06-01 18:09:34 +04:00
John Preston
d5b3fa017b Fix build for macOS. 2020-06-01 18:09:34 +04:00
John Preston
36fbdfb380 Simplify Image, remove ImageSource. 2020-06-01 18:09:33 +04:00
John Preston
d0c78eaddd Leave only one image source type. 2020-06-01 18:09:33 +04:00
John Preston
6513422e40 Remove legacy image-related code. 2020-06-01 18:09:33 +04:00
John Preston
f066e0f05a Use Data::CloudImage for userpics. 2020-06-01 18:09:33 +04:00
John Preston
249f7813c1 Don't hold session pointer in Data::CloudImage. 2020-06-01 18:09:33 +04:00
John Preston
29a498b959 Use Data::CloudImage for location thumbnails. 2020-06-01 18:09:33 +04:00
John Preston
ae9ed820ee Fix sticker set icons display. 2020-06-01 18:09:33 +04:00
John Preston
803593cd8d Change Stickers::Set from value to object type. 2020-06-01 18:09:33 +04:00
John Preston
897e432f40 Use CloudImageView in the inline bot thumbnails. 2020-06-01 18:09:33 +04:00
John Preston
50e0c3ee4d Fix preloading in media viewer. 2020-06-01 18:09:33 +04:00
John Preston
056945d9f5 Remove legacy image creation methods. 2020-06-01 18:09:32 +04:00
John Preston
a9b70a7d63 Closed alpha 2.1.7.1: Fix build for Xcode. 2020-06-01 18:09:32 +04:00
John Preston
6dabd87df3 Closed alpha version 2.1.7.1. 2020-06-01 18:09:32 +04:00
John Preston
b35b6c4449 Fix saving cache from InMemoryLocation. 2020-06-01 18:09:32 +04:00
John Preston
74ef8104a7 Fix photo edit caption box, remove 's' size. 2020-06-01 18:09:32 +04:00
John Preston
af0eebb6f1 Remove debug inline bot results marks. 2020-06-01 18:09:32 +04:00
John Preston
dbb46ce9b0 Let [Photo|Document]Media outlive message view. 2020-06-01 18:09:32 +04:00
John Preston
700d3db4cc Correctly unload heavy parts on quit. 2020-06-01 18:09:32 +04:00
John Preston
64cf0e1a44 Fix caching of sent photos and document previews. 2020-06-01 18:09:32 +04:00
John Preston
7ad660a0e7 Allow photos not have some of the thumbnails. 2020-06-01 18:09:32 +04:00
John Preston
e27d2bc2d5 Move photo data to Data::PhotoMedia. 2020-06-01 18:09:32 +04:00
John Preston
24fed8105c Fix stickers panel on Retina screens. 2020-06-01 18:09:32 +04:00
John Preston
9ce59730ff Collect local DocumentMedia data. 2020-06-01 18:09:32 +04:00
John Preston
3f26fc9f55 Allow WebDocument video thumbnails. 2020-06-01 18:09:32 +04:00
John Preston
0834920db8 Fix sending of video-thumbed GIFs from panel. 2020-06-01 18:09:32 +04:00
John Preston
f4ed2c26ba Save video thumbnail location to local storage. 2020-06-01 18:09:32 +04:00
John Preston
c63e2c01ac Use video thumbnail in media preview. 2020-06-01 18:09:31 +04:00
John Preston
c61f3a0aba Fix sending of thumbnailed inline result GIFs. 2020-06-01 18:09:31 +04:00
John Preston
3c9ca2eb94 Load and show video thumbnails in the panel. 2020-06-01 18:09:31 +04:00
John Preston
33c1c48ad9 Update API scheme to layer 114. 2020-06-01 18:09:31 +04:00
John Preston
a27aea3887 Allow retrying of updates build preparing. 2020-06-01 18:09:31 +04:00
John Preston
ea4044e38c Use TgVoip interface instead of VoIPController. 2020-06-01 18:09:31 +04:00
John Preston
c967a72dcb Save frame in GIFs panel. 2020-06-01 18:09:31 +04:00
John Preston
7d386b164b Save a frame in stickers panel. 2020-06-01 18:09:31 +04:00
John Preston
ccbbf6f5f3 Always download GIFs in the panel.
Fixes #6981.
2020-06-01 18:09:31 +04:00
John Preston
9725d4272e Clear DocumentMedia in sticker panel. 2020-06-01 18:09:31 +04:00
John Preston
eb75859dc0 Cache last frame of stickers panel footer icons. 2020-06-01 18:09:31 +04:00
John Preston
ad5507f2c8 Clear DocumentMedia in media overview. 2020-06-01 18:09:31 +04:00
John Preston
58f82620e0 Simplify media overview layouts. 2020-06-01 18:09:31 +04:00
John Preston
053eace154 Prepare overview layouts for media clearing. 2020-06-01 18:09:31 +04:00
John Preston
d64014c995 Clear DocumentMedia in ReplyPreview. 2020-06-01 18:09:31 +04:00
John Preston
44ec55b6a8 Clear DocumentMedia in links overview. 2020-06-01 18:09:31 +04:00
John Preston
9dba723643 Better DocumentMedia management in BackgroundBox. 2020-06-01 18:09:31 +04:00
John Preston
97a82762ef Fix build with MSVC 16.6.0. 2020-06-01 18:09:31 +04:00
John Preston
1542311d89 Preload documents in media viewer. 2020-06-01 18:09:31 +04:00
John Preston
fb322b5fc5 Use empty Storage::Cache::Key as nullopt. 2020-06-01 18:09:31 +04:00
John Preston
581a21dbd9 Use Media::Streaming in EditCaptionBox. 2020-06-01 18:09:31 +04:00
John Preston
3d431a27cb Improve inline thumbnail usage in PiP player. 2020-06-01 18:09:31 +04:00
John Preston
cbb9657044 Fix download task finalizing. 2020-06-01 18:09:30 +04:00
John Preston
3797753d16 Support different location types for thumbnails. 2020-06-01 18:09:30 +04:00
John Preston
37aabc0da9 Add generic DownloadLocation and ImageLocation. 2020-06-01 18:09:30 +04:00
John Preston
956c3af0ae Start DocumentData::thumbnail move to DocumentMedia. 2020-06-01 18:09:30 +04:00
John Preston
1329870c8e Fix build on macOS. 2020-06-01 18:09:30 +04:00
John Preston
ff6365ec72 Fix crash in still downloaded ~DocumentData. 2020-06-01 18:09:30 +04:00
John Preston
1e9c79ca85 Move automaticLoad() to DocumentMedia. 2020-06-01 18:09:30 +04:00
John Preston
40f12a2584 Keep document byte data only in DocumentMedia. 2020-06-01 18:09:30 +04:00
John Preston
97bab388ea Use rpl for file download progress notifications. 2020-06-01 18:09:30 +04:00
John Preston
bf616036b3 Check loaded status through DocumentMedia if possible. 2020-06-01 18:09:30 +04:00
John Preston
669b79588e Remove FilePathResolve::SaveFromData. 2020-06-01 18:09:30 +04:00
John Preston
33f4946242 Start using document bytes from DocumentMedia. 2020-06-01 18:09:30 +04:00
John Preston
888e42df34 Remove data_document_good_thumbnail module. 2020-06-01 18:09:30 +04:00
John Preston
70c79eb6bd Move sticker image to DocumentMedia. 2020-06-01 18:09:30 +04:00
John Preston
bdd3c51ab8 Move inline thumbnail image to DocumentMedia. 2020-06-01 18:09:30 +04:00
John Preston
6ca43153bb Improve clearing of DocumentMedia. 2020-06-01 18:09:29 +04:00
John Preston
7db53599e8 Use Data::DocumentMedia to store good thumbnails. 2020-06-01 18:09:29 +04:00
John Preston
61647275e8 Optimize image destruction.
No need to call _source->unload(), it leads to saving to PNG.
2020-06-01 18:09:29 +04:00
Ilya Fedin
a37138aa52 Fix signature key errors in snap action 2020-06-01 15:24:35 +04:00
Ilya Fedin
1504136828 Don't spam logs if there are no dbus 2020-05-26 07:24:18 +04:00
Ilya Fedin
c12356a032 Disable unneeded alsa dependency in ffmpeg 2020-05-25 10:34:12 +04:00
Ilya Fedin
126ed6e6e3 Fix path to compose file 2020-05-25 10:34:12 +04:00
Ilya Fedin
fa4236e9ea Add support for DESKTOP_APP_USE_PACKAGED on macOS 2020-05-25 10:29:40 +04:00
Ilya Fedin
b19dcf0653 Add possibility to control external upater flag with a config in /etc 2020-05-25 10:27:48 +04:00
Ilya Fedin
77d1f64e0e Disable fallback session management 2020-05-25 09:31:52 +04:00
Ilya Fedin
3479a4ec59 Add parent, minimum and maximum size to notifications 2020-05-25 09:29:15 +04:00
Ilya Fedin
bdf28370f9 Fix call window size on Sway 2020-05-25 09:29:15 +04:00
Ilya Fedin
cd81fc6727 Don't lose -freetype argument on restart 2020-05-25 09:26:49 +04:00
John Preston
7351641034 Version 2.1.7.
- Fix the Fcitx input method plugin.
2020-05-24 11:59:19 +04:00
Ilya Fedin
e0669e222d Update fcitx5-qt 2020-05-24 11:09:34 +04:00
Ilya Fedin
4c1f83daca Add a check for bundled Qt plugins 2020-05-24 10:57:37 +04:00
Ilya Fedin
ced2652deb OpenAL returns device names with UTF-8 2020-05-24 10:56:29 +04:00
23rd
8d1db85a28 Fixed album items selection in section of scheduled messages.
This bug relates only to albums with captions.
2020-05-20 12:00:44 +03:00
John Preston
97305c8cb5 Fix build. 2020-05-20 12:49:41 +04:00
23rd
1ef5d81270 Added ability to change months in calendar with mouse wheel. 2020-05-20 12:42:03 +04:00
23rd
9ff427afad Fixed indefinitely bouncing of dock icon. 2020-05-20 12:41:44 +04:00
23rd
1c5eadcd79 Fixed context menu for caption of scheduled album.
Fixed #6523.
2020-05-20 12:41:44 +04:00
23rd
bc6c01de7f Added Esc shortcut to clear selection in section of scheduled messages. 2020-05-20 12:41:44 +04:00
23rd
41255cab44 Removed display views and author for sent scheduled messages.
Moved filling of post flags to a single place.
2020-05-20 12:41:44 +04:00
23rd
ccbc63cd6e Added ability to paste data in section of scheduled messages.
Fixed #6702.
Fixed #6539.
2020-05-20 12:41:44 +04:00
23rd
97446ae783 Added ability to reschedule scheduled messages. 2020-05-20 12:41:44 +04:00
23rd
5a75dd2b6f Added handling of updates for rescheduled messages. 2020-05-20 12:41:43 +04:00
Wei Cheng
6559e83e83 fix: obtain doNotDisturb value correctly 2020-05-15 11:44:06 +04:00
John Preston
d679703bbf Version 2.1.6.
- Fix automatic downloads on Windows by clean rebuild.
2020-05-14 01:16:13 +04:00
John Preston
66a3e36024 Version 2.1.5.
- Disable the taskbar icon flash or the dock icon bounce
in Settings > Notifications.
- View messages containing long monospace texts in wide bubbles.
- Bug fixes and other minor improvements.
2020-05-13 18:22:05 +04:00
John Preston
31e38e1690 Fix layout of community transfer error box. 2020-05-13 18:19:09 +04:00
John Preston
da10059f45 Update lib_lottie, hide rlottie dependency. 2020-05-13 17:07:26 +04:00
John Preston
cb5863177f Apply edition updates to search result previews. 2020-05-12 20:29:18 +04:00
John Preston
84399286c1 Update build instructions. 2020-05-12 19:43:39 +04:00
John Preston
2e92441b3a Add input method field text edit workaround. 2020-05-12 19:26:50 +04:00
John Preston
7883f97c94 Use precise sync of the server unixtime. 2020-05-12 17:33:06 +04:00
Ilya Fedin
297b5d6a76 Update submodules 2020-05-12 17:32:40 +04:00
Ilya Fedin
492dc2568c Add DESKTOP_APP_USE_PACKAGED support for Windows 2020-05-12 17:32:40 +04:00
John Preston
547c657b1a Don't reset search results on dialogs re-open. 2020-05-12 16:30:31 +04:00
John Preston
c478d96385 Add debug logs for chats reading requests. 2020-05-12 16:18:19 +04:00
John Preston
2ede53e0ee Always try to open new provided URL.
Fixes #6941.
2020-05-12 16:15:22 +04:00
John Preston
6f760d513e Add a checkbox to disable taskbar flash.
Also add ability to set urgent flag for the window on Linux.

Fixes #223, fixes #897, fixes #906.
2020-05-12 14:16:24 +04:00
John Preston
f4f6550d66 Clear fake-unread status when switching folders. 2020-05-12 12:18:52 +04:00
John Preston
c7878f9d21 Pause by-emoji stickers on sticker preview. 2020-05-12 12:18:31 +04:00
John Preston
cd75a45673 Disable create polls in support accounts. 2020-05-12 11:26:47 +04:00
John Preston
07e3671ca8 Allow monospace blocks to extend bubble width.
This partially fixes #2060 instead of additional settings from #7822.
2020-05-12 11:07:41 +04:00
23rd
295aa644bf Fixed master branch updater Github Action. 2020-05-12 09:55:36 +04:00
John Preston
b5b78c0ade Update submodules. 2020-05-12 09:44:24 +04:00
John Preston
f5c0e5d31d Remove unnecessary include. 2020-05-12 09:43:54 +04:00
root
246ed43046 Remove replyTo from switchInlineBotButton in same peer 2020-05-12 09:29:30 +04:00
Ilya Fedin
701e1d7b4d Add fcitx5 support 2020-05-12 09:26:04 +04:00
Ilya Fedin
9cbe899688 Fix call window hiding when compositing is not supported 2020-05-12 09:17:27 +04:00
Ilya Fedin
7409d615a3 Add a cheat code to enable freetype on Windows and macOS 2020-05-10 17:09:59 +04:00
John Preston
c9553c2d4c Version 2.1.4.
- Improve bold font selection.
2020-05-08 20:34:00 +04:00
John Preston
bedefaee4d Version 2.1.3.
- Added support for new emoji.
- Channels to which you can't post will no longer be suggested when forwarding.
- Improved font selection and bold font support for CJK and Farsi.
2020-05-08 16:48:56 +04:00
John Preston
5d3b8f02fc Add Vazir font as a fallback for Farsi. 2020-05-08 13:38:23 +04:00
John Preston
5120d3ef2c Skip channels without write access in forward box. 2020-05-08 13:35:16 +04:00
John Preston
82a372873f Add two local urls to open language selection box.
tg://setlanguage and tg://settings/language

Fixes #7831.
2020-05-08 13:03:49 +04:00
Ilya Fedin
d1d1f83881 Remove outdated LIBGL_ALWAYS_INDIRECT hack 2020-05-08 12:54:21 +04:00
Ilya Fedin
78c3c86fe6 Check only if at least one audio device is exist on startup
This makes https://github.com/telegramdesktop/tdesktop/issues/1548 don't affect on startup, but only when capture feature is used
2020-05-08 12:50:25 +04:00
Ilya Fedin
447d4e6c47 Remove Portaudio from building instructions
Since it loaded at runtime with dlopen anyway and headers from the system package are OK
2020-05-08 12:49:21 +04:00
John Preston
d0e3d15e8e Update supported systems information. 2020-05-08 12:27:55 +04:00
John Preston
0251f58bf2 Use Semibold in names, use Bold in messages.
Fixes #7813, fixes #7823.
2020-05-08 12:12:47 +04:00
John Preston
36997f084a Automatically load and apply old emoji set by id. 2020-05-08 11:22:22 +04:00
John Preston
942fcb9aae Add new emoji sets file ids. 2020-05-07 19:05:57 +04:00
John Preston
6232dce1a3 Update emoji in the built-in data and sprites. 2020-05-06 19:29:02 +04:00
23rd
0c0fc46b90 Added Github Action that updates code in master branch. 2020-05-06 13:29:17 +04:00
23rd
dcf737bebe Fixed Linux build instruction. 2020-05-06 00:36:48 +03:00
23rd
919834093e Added TG for macOS version check to issue closer. 2020-05-05 18:22:54 +04:00
John Preston
99ccd49e13 Version 2.1.2: Update patches revision in docs. 2020-05-05 18:14:38 +04:00
John Preston
29896b2efd Version 2.1.2: Update Mac App Store build script. 2020-05-05 17:35:42 +04:00
John Preston
1b7f3db43a Version 2.1.2.
- Fix polls and quizes results viewing.
- Fix memory leak in web page previews with autoplayed videos.
- Fix running on OS X 10.10.
- Other minor bug fixes and improvements.
2020-05-05 17:20:03 +04:00
John Preston
1fa22398a9 Fix returning of tabbed panel in third column. 2020-05-05 16:55:05 +04:00
John Preston
0e16b3fe69 Decrease sticker size 256px -> 228px. 2020-05-05 16:19:10 +04:00
John Preston
462020d54c Update submodules. 2020-05-05 16:19:00 +04:00
John Preston
9c17147f60 Show only one dice-media tooltip. Hide on SEND. 2020-05-05 15:51:55 +04:00
Ilya Fedin
0bf933b009 Remove dependencies from snap that are present in kde-frameworks-5-core18 snap 2020-05-05 14:31:18 +04:00
Ilya Fedin
27f6c8ce62 Move CMAKE_DL_LIBS to libtgvoip cmake file and add missed pthread
Remove unneeded minizip include directory from cmake

Remove unneeded compile definations

Opus is needed only by libtgvoip
2020-05-05 14:31:18 +04:00
Ilya Fedin
3135463017 Add new option to simplify creation of self-contained packages (snap/flatpak/appimage) 2020-05-05 14:31:18 +04:00
RadRussianRus
89950de93e Do not ignore changes for docs needed for build 2020-05-05 14:20:58 +04:00
Ilya Fedin
13c2d6ff72 Detect global menu at runtime 2020-05-05 09:54:35 +04:00
John Preston
5e70bf64c6 Fix adding the string. 2020-05-04 19:16:41 +04:00
John Preston
3260e9e752 Add a separate string for empty channel admin log. 2020-05-04 19:15:10 +04:00
John Preston
1f16ac59ca Try to fix a crash in pinned reordering. 2020-05-04 19:06:53 +04:00
RadRussianRus
87bf0654a2 Move "X groups in common" in shared media to bottom 2020-05-04 18:36:47 +04:00
John Preston
6adcf660f1 Guard click handlers that capture session data.
Click handlers invocation is done by posting on_main,
so in rare cases the session may be already destroyed.
2020-05-04 17:38:49 +04:00
John Preston
038d8f1781 Force non-empty text in message bubbles. 2020-05-04 17:03:47 +04:00
John Preston
a5977f5f7a Don't link unneeded frameworks in OS X version.
Fixes #7786.
2020-05-04 16:52:07 +04:00
John Preston
2143864fd5 Remove views count from admin log. 2020-05-04 16:15:09 +04:00
John Preston
73691e795b Fix broken poll results view.
Regression was introduced in dd78052f92.

Fixes #7780.

Copy-Paste is bad.
2020-05-04 14:42:06 +04:00
John Preston
c0246a9373 Fix pasting of an image with attached URL data.
Regression was introduced in db5d599052.

Fixes #7794.
2020-05-04 14:18:33 +04:00
John Preston
1af394a485 Fix video unloading in streaming in WebPage-s.
Fixes #7778.
2020-05-04 13:27:30 +04:00
Ilya Fedin
5180d31b40 Fix decoration applying and trigger repainting on update
For some reason this is needed for newer Qt in flatpak
2020-05-02 16:29:00 +04:00
John Preston
07c8aae225 Version 2.1.1: Pin to top only new bots. 2020-05-01 21:20:10 +04:00
John Preston
3c1c17ef80 Version 2.1.1: Remove font substitutions on Win. 2020-05-01 19:59:54 +04:00
Ilya Fedin
b79ecb5909 Show friendly warning if snapd didn't update snap right for some reason 2020-05-01 17:30:11 +04:00
John Preston
b98f0933af Version 2.1.1.
- Improve quiz explanation tooltip layout.
- Fix possible crash in theme editor.
- Other minor bug fixes and improvements.
2020-05-01 17:16:57 +04:00
John Preston
05dcd6fc9c Fix possible crash in rlottie.
Fixes #7767.
2020-05-01 17:16:57 +04:00
John Preston
19bcc145ad Fix crash in theme editor. 2020-05-01 16:27:55 +04:00
John Preston
4ae760dd7e Fix send files emoji panel geometry.
Fixes #7704.
2020-05-01 16:05:24 +04:00
RadRussianRus
cad4d19272 Use "subscribers" instead of "members" in channels 2020-05-01 15:48:07 +04:00
Aokromes
ae64747489 Remove whitespaces, fix spaces 2020-05-01 14:47:33 +04:00
John Preston
db5d599052 Don't resolve the actual QImage on paste check. 2020-05-01 14:43:02 +04:00
John Preston
cc463b07b1 Don't send dice / dart to channels.
Fixes #7703.
2020-05-01 14:35:20 +04:00
John Preston
d8e55081b0 Disallow revoking dice media in first 24 hours.
Fixes #7745.
2020-05-01 13:21:57 +04:00
John Preston
9c66bd553a Increment emoji cache version. 2020-05-01 12:59:23 +04:00
23rd
a6bb180e22 Fixed rendering of colored Apple emoji with gender.
Fixed #6024.
2020-05-01 12:46:31 +04:00
John Preston
38ca3ba341 Update submodules. 2020-05-01 12:32:03 +04:00
23rd
8ef00dc4ff Fixed resetting menu scroll after refresh of filter list. 2020-05-01 12:31:13 +04:00
23rd
1630ad0804 Fixed crash when user pins chat in remotely removed filter. 2020-05-01 12:31:13 +04:00
23rd
c3c482aa50 Improved peer context menu item to archive chat. 2020-05-01 12:31:13 +04:00
23rd
f4a63e1e9d Removed info display for last messages in Saved Messages. 2020-05-01 12:31:13 +04:00
Ilya Fedin
161e51757c Change color of wayland decoration according to theme 2020-05-01 12:26:10 +04:00
Ilya Fedin
46d4b03d49 Fix freeze in notifications settings when notification daemon is unavailable 2020-05-01 12:15:01 +04:00
RadRussianRus
48743a7973 Exclude files that aren't necessary for actions 2020-05-01 12:12:49 +04:00
seniorivn
6709147560 Update shortcuts.cpp 2020-05-01 12:11:14 +04:00
seniorivn
0b2d4326e7 add folder commands for custom config 2020-05-01 12:11:14 +04:00
RadRussianRus
ca49e74b6f Show bot privacy status 2020-05-01 12:10:32 +04:00
Ilya Fedin
95b4f56b86 Don't use QDesktopServices::openUrl on snap 2020-05-01 12:06:01 +04:00
Nicholas Guriev
9828262a03 Update GSL to v3.0.1 and lib_base
* Use identical types for std::min.
2020-05-01 12:03:18 +04:00
John Preston
f76e094e98 Use info toast to show proxy / psa about text. 2020-04-30 15:20:50 +04:00
John Preston
067e52f5d1 Add an icon to the psa / quiz tooltip. 2020-04-30 14:51:26 +04:00
John Preston
4efd649c27 Hide tooltip button in psa / quizes. 2020-04-30 14:11:05 +04:00
John Preston
ff25f1d5c9 Slide psa / quiz toast from the top. 2020-04-30 13:16:42 +04:00
John Preston
dd78052f92 Use new toast style structure. 2020-04-30 11:35:01 +04:00
John Preston
8a4c7e3994 Show PSA tooltip icon and tooltip. 2020-04-30 11:35:01 +04:00
John Preston
44e71dfa03 Allow hiding PSA from the chats list. 2020-04-30 11:35:01 +04:00
John Preston
b6e184d0c8 Support bots as top promoted dialog entries. 2020-04-30 11:35:01 +04:00
John Preston
042ed8f54a Support psa_message in chats list. 2020-04-30 11:35:01 +04:00
John Preston
aabc8173c3 Use similar margins in all controls. 2020-04-30 11:35:01 +04:00
John Preston
c14e20b33f Support PSA forwarded info. 2020-04-30 11:35:01 +04:00
John Preston
266c1531ce Display PSA label instead of the proxy sponsor. 2020-04-30 11:35:01 +04:00
John Preston
8d632bd2be Update API scheme to layer 103. 2020-04-30 11:35:01 +04:00
John Preston
c70a1f03de Fix applying poll updates. 2020-04-30 11:35:01 +04:00
Ilya Fedin
17de6c1ff3 Fix scaling in crash reporter 2020-04-29 15:51:24 +04:00
Stepan Skryabin
4e210e40a2 Update supported Ubuntu version 2020-04-28 19:01:05 +04:00
Ilya Fedin
e13593b095 Restore setFamily in crash report window
Since setFamily in QApplication::setFont was removed
2020-04-28 19:00:44 +04:00
Ilya Fedin
e149f10d40 Revert gtk3 dialog in snap 2020-04-26 12:28:34 +04:00
Ilya Fedin
7f890122e6 Add methods to detect appimage, static binary and forced gtk dialog 2020-04-26 12:28:34 +04:00
Ilya Fedin
422831fa79 Update snap cache 2020-04-26 12:25:01 +04:00
Ilya Fedin
7494468f1f Add cinnamon gsettings schema to snap
Fixes #7697
2020-04-26 12:25:01 +04:00
Ilya Fedin
7bc86cc9af Fix directory opening with portal and use them by default with KDE 2020-04-24 14:33:26 +04:00
John Preston
c1f3fe1961 Version 2.1.
- Access a catalog of over 20,000 stickers made by professional
artists from the updated Sticker Panel by clicking the '+' icon.
- Use sticker search to find the stickers you're looking for - or
scroll from the latest packs all the way to the classics.
- Add explanations that appear after users respond to a quiz question.
- See how much time you have left to answer a question from @QuizBot
with the new countdown animation.
- Send a single 🎯 emoji to see if you hit the bullseye.
2020-04-24 09:08:08 +04:00
John Preston
cfd733c54c Add confirmation box for suspicious urls. 2020-04-23 19:00:19 +04:00
John Preston
3fa5e004fe Allow editing messages in channels indefinitely. 2020-04-23 16:21:30 +04:00
John Preston
862e4e45ad Closed alpha version 2.0.1.3. 2020-04-21 18:55:56 +04:00
John Preston
53df4d1b10 Fix magic for initConnection. 2020-04-21 18:55:35 +04:00
John Preston
5cfd402b70 Make darker toasts for quiz solutions. 2020-04-21 18:55:35 +04:00
John Preston
57e9651a8a Fix visual glitch in poll results viewing.
We need a visible widget to mark more button height.
An invisible 'more' button doesn't receive geometry change events.
2020-04-21 18:55:35 +04:00
John Preston
53d206c12c Custom tab-order for create poll box. 2020-04-21 18:55:35 +04:00
John Preston
46f3cf3395 Load more official sets while scrolling. 2020-04-21 18:55:35 +04:00
John Preston
dfc0491524 Improve trending stickers layout and position. 2020-04-21 18:55:35 +04:00
John Preston
54f757e770 Allow sending dice from dice media tooltip. 2020-04-21 18:55:35 +04:00
John Preston
abfd3ad1b9 Use built-in zero-value dice animations. 2020-04-21 18:55:35 +04:00
John Preston
bed208d621 Send dice media based on appconfig. 2020-04-21 18:55:35 +04:00
John Preston
33c453a13c Scroll history to bottom on sending a message. 2020-04-21 18:55:35 +04:00
John Preston
e118972d5c Support generic dice media display. 2020-04-21 18:55:35 +04:00
John Preston
fb8a9a930c Closed alpha version 2.0.1.2. 2020-04-21 18:55:35 +04:00
John Preston
7a9cfcc40d Improve poll closing by timer and results reloading. 2020-04-21 18:55:35 +04:00
John Preston
e1dc15321a Work around 32-bitness of GetLastInputInfo.
Fixes #7637.
2020-04-21 18:55:35 +04:00
John Preston
2b5e575b67 Closed alpha version 2.0.1.1: Fix macOS fonts. 2020-04-21 18:55:34 +04:00
John Preston
42e216603c Closed alpha version 2.0.1.1. 2020-04-21 18:55:34 +04:00
23rd
d46e145c61 Updated Qt to 5.12.8. 2020-04-21 18:55:34 +04:00
John Preston
5dcb232b77 Force reload results on auto-closed quiz. 2020-04-21 18:55:34 +04:00
John Preston
b34d5b8306 Check solution length in CreatePollBox. 2020-04-21 18:55:34 +04:00
John Preston
76d81ff197 Improve polls solution icon color. 2020-04-21 18:55:34 +04:00
John Preston
71637d2a0e Show progress left to close by timer in polls. 2020-04-21 18:55:34 +04:00
John Preston
423daecbde Add view solution button to polls. 2020-04-21 18:55:34 +04:00
John Preston
3cb76fb80b Support poll closing by date. 2020-04-21 18:55:34 +04:00
John Preston
6882093ed1 Send init connection params. 2020-04-21 18:55:34 +04:00
John Preston
699761b42f Support poll solution display in a toast. 2020-04-21 18:55:34 +04:00
John Preston
f50c50a152 Fix path choosing for Windows Store version. 2020-04-21 18:55:34 +04:00
John Preston
13d22947df Send poll solution with entities. 2020-04-21 18:55:34 +04:00
John Preston
6c08bab550 Add explanation block to CreatePollBox. 2020-04-21 18:55:34 +04:00
John Preston
3e2f4bed50 Update scheme to layer 102.
Support different dice-like media.
2020-04-21 18:55:34 +04:00
Ilya Fedin
41d39012d2 Synchronize AppMenu availability check with Qt 2020-04-21 14:06:03 +04:00
Ilya Fedin
a7764f84f0 Proper usage of pkg-config 2020-04-21 14:05:22 +04:00
VictorienXP
85fcec2fb5 Add .opus and .oga files as song formats 2020-04-21 14:04:51 +04:00
Ilya Fedin
82e835fbc2 Fix snap action 2020-04-20 10:52:10 +04:00
Ilya Fedin
80684d9073 Remove unnecessary files from snap 2020-04-20 10:52:10 +04:00
Ilya Fedin
b04f0e0d3d Use kde-neon extension for better desktop integration 2020-04-20 10:52:10 +04:00
23rd
65cc9bcd87 Updated parser of issue closer since template was changed.
The issue template was changed in de78f4255e.
2020-04-13 17:18:59 +03:00
Ilya Fedin
bc06a3aea3 Make actions ignore .md files not only in the root of repository 2020-04-13 17:39:00 +04:00
Ilya Fedin
de78f4255e Add installation method to bug report template 2020-04-13 17:39:00 +04:00
John Preston
d67dafaccb Fix check for 4K frame size in streaming. 2020-04-13 15:32:20 +04:00
John Preston
4f8ea4c807 Allow to play in-app large videos. 2020-04-13 15:32:14 +04:00
John Preston
15b19f8565 Allow sending large images again (up to 108MP). 2020-04-13 15:32:06 +04:00
John Preston
b16696db93 Don't scroll down when read from another device. 2020-04-13 15:31:54 +04:00
John Preston
63129072ba Mark voice/video message as read on mention click.
Fixes #5623.
2020-04-13 15:30:56 +04:00
John Preston
1fdd591aa0 Change manage folders button icon. 2020-04-13 15:30:40 +04:00
John Preston
f370ca97d0 Fix folders visibility above passcode lock. 2020-04-13 15:30:23 +04:00
John Preston
f5aba5a907 Fix build with new lib_ui commits. 2020-04-13 15:26:09 +04:00
Ilya Fedin
1d613995db Disable building of dav1d tools and tests in snap 2020-04-13 15:16:33 +04:00
Ilya Fedin
5bb1c77199 Use OpenAL without direct channels 2020-04-13 15:15:29 +04:00
Ilya Fedin
5b39c7013a Better algorithm for font choosing 2020-04-13 11:48:14 +04:00
Ilya Fedin
ed91c07f99 Restore the old behavior with fallback fontconfig configuration
With current code fallback works only through time and replaces the config even if it is changed by the user.

This commit fixes that.
2020-04-13 10:49:30 +04:00
Ilya Fedin
a66b2a4056 Synchronize snap ffmpeg arguments with generic linux one 2020-04-13 10:44:29 +04:00
Ilya Fedin
a1a7399023 Don't remove SNI object when SNI is lost 2020-04-13 10:43:37 +04:00
Ilya Fedin
e71b7dd384 Don't overwrite artifacts by multiple runs 2020-04-13 10:42:32 +04:00
Ilya Fedin
664b43acd7 Fixes for linux action:
* Disable building of unneeded openal tools and tests
* Disable ffmpeg linkage with unneeded libraries
* Disable unneeded dtd validation for libwayland
* Omit Qt flags that set to default values
* Fix prefix usage
* Build dependencies in release mode to reduce build size
2020-04-12 19:21:59 +04:00
Ilya Fedin
eac867ce85 Add possibility to enable autoupdate on non-special target 2020-04-10 15:06:09 +04:00
John Preston
2ad48f18f2 Use only safe file saving in localstorage. 2020-04-02 18:31:15 +04:00
John Preston
e823fe5891 Fix support / media shortcuts. 2020-04-02 16:20:53 +04:00
John Preston
aae5024b28 Version 2.0.1.
- Switch between folders using Ctrl+1, ..., Ctrl+8.
- Fix crash when a pinned in folder chat was added to archive.
- Fix font issues in Linux version.
2020-03-31 13:06:33 +04:00
John Preston
69d3414594 Improve empty chat list layout. 2020-03-31 12:36:33 +04:00
John Preston
9ef41062d3 Ignore whitespaces in dice sending. 2020-03-30 23:53:10 +04:00
John Preston
c2ff27793a Try to use Ctrl+1..Ctrl+8 for folders. 2020-03-30 23:34:07 +04:00
John Preston
2f7563767d Fix crash in archive / pinned in folder management. 2020-03-30 21:04:49 +04:00
John Preston
f4822cf558 Version 2.0.
- Organize chats into Chat Folders if you have too many chats.
- Create custom folders with flexible settings,
or use default recommendations.
- Pin an unlimited number of chats in each folder.
- Switch between folders in the new side bar
to easily access all of your chats.
- Send :dice: to any chat to try your luck and get
a random number from the animated dice.
- Send :virus:, 🤒, 😷,
🤕, :sneeze:, :sick:, 🧼 or 🚑
to try out the new animated emoji.
2020-03-30 16:56:15 +04:00
John Preston
8c6b5caa57 Fix possible crash in inconsistent HistoryWidget state. 2020-03-30 16:43:09 +04:00
John Preston
31ba2828af Add a tooltip with information about the dice. 2020-03-30 15:21:16 +04:00
John Preston
7b44d107c9 Don't use default title if it doesn't fit. 2020-03-30 15:10:08 +04:00
John Preston
2379812890 Move add exceptions button to the top. 2020-03-30 15:00:50 +04:00
John Preston
570ab663b7 Use cache for remembered last dice frames. 2020-03-30 14:57:14 +04:00
John Preston
2feaa85ed9 Fix fontconfig fallback for snap. 2020-03-30 13:51:02 +04:00
John Preston
49111814e4 Add fallback codepath for QSaveFile::open failure. 2020-03-30 13:46:58 +04:00
John Preston
0d58f1c9fa Try system font config once in snap build. 2020-03-30 12:18:50 +04:00
Ilya Fedin
86b9927965 Log global menu usage 2020-03-29 14:17:11 +04:00
Ilya Fedin
aa4968faaa Re-use fontconfig fallback code in snap 2020-03-29 14:14:56 +04:00
Ilya Fedin
bdde198f52 Add AV1 support to snap 2020-03-29 14:14:02 +04:00
John Preston
c89c98183d Handle some updates even while not authed. 2020-03-29 14:06:10 +04:00
John Preston
c209aedb22 Fix dice animating to the last frame.
I hope this fixes #7465.
2020-03-29 13:47:07 +04:00
John Preston
90a1cea515 Fix forwarded dice size.
Fixes #7472.
2020-03-29 13:35:14 +04:00
John Preston
dba5c75ef1 Fix adding first proxy to the list.
Fixes #7458.
2020-03-29 13:05:32 +04:00
John Preston
0b13ee7f7d Scroll-by-drag in folders when reordering pinned.
Fixes #7459.
2020-03-29 12:57:59 +04:00
John Preston
484ec06b0c Don't accidentally close edit folder box. 2020-03-29 12:52:20 +04:00
John Preston
b095091d03 Fix removing pinned dialog from folder. 2020-03-29 12:42:51 +04:00
John Preston
735f7709b9 Fix sending videos larger than 720p. 2020-03-29 12:42:51 +04:00
23rd
df290605f4 Added ability to switch between folders with shortcuts. 2020-03-29 02:04:20 +03:00
23rd
7b583596ec Added ability to scroll vertical layout during reordering.
Updated lib_ui.
2020-03-28 18:53:08 +03:00
23rd
09bc3eefdb Added ability to open folders with shortcuts. 2020-03-28 18:20:13 +03:00
23rd
49e286b04c Added scroll to active and not completely visible SideBarButtons. 2020-03-28 18:20:13 +03:00
John Preston
deb76f38d7 Beta version 1.9.22: Fix GCC build. 2020-03-27 22:34:25 +04:00
John Preston
13feafad2f Beta version 1.9.22.
- Organize chats into Chat Folders if you have too many chats.
2020-03-27 20:36:07 +04:00
23rd
15db48b0cc Added application name as exception word for spell checker. 2020-03-27 20:36:07 +04:00
23rd
759fa14759 Added Hunspell license link to README.md. 2020-03-27 20:36:06 +04:00
23rd
b831adbadd Limited maximum number of suggestions to 5 for Hunspell.
Updated Hunspell submodule.
2020-03-27 20:36:06 +04:00
John Preston
30a3e7b78b Improve layout of edit filter box. 2020-03-27 20:36:06 +04:00
John Preston
eb120e2f5d Support tg://settings(/folders)? link. 2020-03-27 20:36:06 +04:00
John Preston
cdff0ea9c7 Add a counter for all chats filter. 2020-03-27 20:36:06 +04:00
John Preston
c5b8ddabac Scroll to top of the filter on second click. 2020-03-27 20:36:06 +04:00
John Preston
7ea364e611 Fix closing filter by escape. 2020-03-27 20:36:06 +04:00
John Preston
5dfbec17cd Fix via @bot information in stickers. 2020-03-27 20:36:06 +04:00
John Preston
1ed57238a7 Allow deleting images in ~DocumentData. 2020-03-27 20:36:06 +04:00
John Preston
fc5dbc6003 Use animated emoji size for the Dice. 2020-03-27 20:36:06 +04:00
John Preston
0c2d8f1b6e Allow open folders by 'folders' code. 2020-03-27 20:36:06 +04:00
John Preston
bf5356fd91 Allow mentions in service notifications. 2020-03-27 20:36:06 +04:00
John Preston
c3b807d483 Load folders exceptions after 100 chats. 2020-03-27 20:36:06 +04:00
John Preston
b054c3e7e6 Closed alpha version 1.9.21.3. 2020-03-27 20:36:06 +04:00
John Preston
fdabdc3626 Refresh filter chats count in filter settings. 2020-03-27 20:36:06 +04:00
John Preston
fe73251d8e Add edit filter link to empty dialogs list. 2020-03-27 20:36:06 +04:00
John Preston
9ba3b11c96 Fix description of channel recent actions section. 2020-03-27 20:36:06 +04:00
John Preston
12b18829f0 Add context menu to filters side bar. 2020-03-27 20:36:06 +04:00
John Preston
ae7529004d Fix choose folder for Export on macOS. 2020-03-27 20:36:06 +04:00
John Preston
f38e9763b6 Close media viewer when showing file in folder. 2020-03-27 20:36:06 +04:00
John Preston
36d3dcd6d8 Fix marking scheduled out messages as read. 2020-03-27 20:36:06 +04:00
John Preston
4c7f8a4bbb Improve filters phrases. 2020-03-27 20:36:05 +04:00
John Preston
39a8df8383 With sidebar open settings in layer. 2020-03-27 20:36:05 +04:00
John Preston
4f718aeead Add filter icons to Settings -> Folders. 2020-03-27 20:36:05 +04:00
John Preston
e8bf5bb5ce Move manage filters to a Settings section. 2020-03-27 20:36:05 +04:00
John Preston
568325f201 Show folders in settings async. 2020-03-27 20:36:05 +04:00
John Preston
a7906f14ed Update submodules. 2020-03-27 20:36:05 +04:00
John Preston
01c79f917e Add limits on video frame size.
Any video that starts streaming is limited to 4K.
Any in-chat streaming is limited to full hd.
Any GIF panel animation is limited to 720p.
2020-03-27 20:36:05 +04:00
John Preston
2c0b852dad Limit image size the app tries to read.
This will prevent some OOM crashes.
2020-03-27 20:36:05 +04:00
John Preston
d5b8fc703e Fix Ctrl+[1-5] jump to pinned in folders. 2020-03-27 20:36:05 +04:00
John Preston
6022fa790e Fix fakeUnreadWhileOpened flag reset. 2020-03-27 20:36:05 +04:00
John Preston
aa88ee6d88 Reset chosen filter on Escape. 2020-03-27 20:36:05 +04:00
John Preston
8cdf8d5edc Fix legacy group admin status in members dropdown.
Fixes #6347.
2020-03-27 20:36:05 +04:00
John Preston
bba511409f Fix layout of cloud themes in a narrow window. 2020-03-27 20:36:05 +04:00
John Preston
71fc7a1b4e Closed alpha version 1.9.21.2. 2020-03-27 20:36:05 +04:00
John Preston
a9ff9ac501 Fix one active icon. 2020-03-27 20:36:05 +04:00
John Preston
3ac33e4c1c Leave unread chats in filter until closed. 2020-03-27 20:36:05 +04:00
John Preston
1be6d968e0 Allow emoji suggestions in filter titles. 2020-03-27 20:36:05 +04:00
John Preston
0063edb14f Support saved messages in filters edit. 2020-03-27 20:36:05 +04:00
John Preston
48f67d27f1 Fix active icon states. 2020-03-27 20:36:05 +04:00
John Preston
b1606821c0 Suggest filter name by content type. 2020-03-27 20:36:04 +04:00
John Preston
2dbaee4fe1 Filter only chats from the list in exceptions. 2020-03-27 20:36:04 +04:00
John Preston
b42ba1a7a3 Fix switch-to-filter in single column mode. 2020-03-27 20:36:04 +04:00
John Preston
1de9352f3a Don't close filter by escape. 2020-03-27 20:36:04 +04:00
John Preston
ab16e8e083 Improve archive <-> filter navigation. 2020-03-27 20:36:04 +04:00
John Preston
b8684af537 Improve filters reordering. 2020-03-27 20:36:04 +04:00
John Preston
18805a5ef8 Allow reordering filters in side bar. 2020-03-27 20:36:04 +04:00
John Preston
ba6373a0ae Fix filter icon panel wrong hiding. 2020-03-27 20:36:04 +04:00
John Preston
b3f8e27661 Improve error phrase about pin limit. 2020-03-27 20:36:04 +04:00
John Preston
c4a0bc1fd5 Allow selecting custom filter icons. 2020-03-27 20:36:04 +04:00
John Preston
ce7621fbd9 Read and write special filter icon emoji. 2020-03-27 20:36:04 +04:00
John Preston
9ad5b8ff90 Add special filters icons. 2020-03-27 20:36:04 +04:00
John Preston
03da4a5680 Fix pinned chats limit. 2020-03-27 20:36:04 +04:00
John Preston
1ea42116d2 Fix adding Saved Messages exception to filters. 2020-03-27 20:36:04 +04:00
John Preston
a13042ac6a Improve edit filter phrases. 2020-03-27 20:36:04 +04:00
John Preston
4b8a42fafd Fix crash in forwarded dice media. 2020-03-27 20:36:04 +04:00
John Preston
f643b5f725 Closed alpha version 1.9.21.1. 2020-03-27 20:36:03 +04:00
John Preston
dc49f7e6dc Load all archive after the main list for filters. 2020-03-27 20:36:03 +04:00
John Preston
ad8b0387f3 Improve phrases for loading / empty filters. 2020-03-27 20:36:03 +04:00
John Preston
f0322cd107 Fix filters unread counters. 2020-03-27 20:36:03 +04:00
John Preston
36b9911995 Fix crashes in filter chats list editing. 2020-03-27 20:36:03 +04:00
John Preston
455d113955 Fix small column layout with filters side bar. 2020-03-27 20:36:03 +04:00
John Preston
4b618aeb6c Fix saving filters. 2020-03-27 20:36:03 +04:00
John Preston
ffc65f7da4 Add folders menu to Settings. 2020-03-27 20:36:03 +04:00
John Preston
4881981cf6 Enable / disable side bar based on filters. 2020-03-27 20:36:03 +04:00
John Preston
3c0ee9fa20 Fix filter chats list edit box title. 2020-03-27 20:36:03 +04:00
John Preston
e36a66b971 Fix build for macOS. 2020-03-27 20:36:03 +04:00
John Preston
55900bbd3d Save pinned chats in filters to server. 2020-03-27 20:36:03 +04:00
John Preston
e27a8fe058 Support pinned locally in filters. 2020-03-27 20:36:03 +04:00
John Preston
483d4e5a4e Support filters side bar in built-in themes. 2020-03-27 20:36:03 +04:00
John Preston
66c0d51f96 Show unread badges in filters. 2020-03-27 20:36:03 +04:00
John Preston
38a744fe5b Count unread messages in Dialogs::MainList. 2020-03-27 20:36:02 +04:00
John Preston
9636617798 Show selected chats types in search input. 2020-03-27 20:36:02 +04:00
John Preston
b88f0108ad Edit chat types in filters. 2020-03-27 20:36:02 +04:00
John Preston
13fe0b6272 Allow adding chats to filter exceptions. 2020-03-27 20:36:02 +04:00
John Preston
d5bd9fa54d View filter box, removing chats and chat types. 2020-03-27 20:36:02 +04:00
John Preston
a091e73686 Show different filter icons. 2020-03-27 20:36:02 +04:00
John Preston
2fb2fa9661 Handle last suggestion being added. 2020-03-27 20:36:02 +04:00
John Preston
b8c11f3d8c Manage filters: delete, add suggested. 2020-03-27 20:36:02 +04:00
John Preston
ca3419ef24 Make filtered lists independent from folders. 2020-03-27 20:36:02 +04:00
John Preston
c305246d21 Move sidebar mainmenu button outside the scroll. 2020-03-27 20:36:02 +04:00
John Preston
fcfb268677 Show some special filter icons. 2020-03-27 20:36:02 +04:00
John Preston
48d790de5e Move main menu button to the side bar. 2020-03-27 20:36:02 +04:00
John Preston
f8cc134bd6 Send dice emoji as Dice media. 2020-03-27 20:36:02 +04:00
John Preston
c279986493 Move filters side bar inside bodyWidget. 2020-03-27 20:36:02 +04:00
John Preston
2cefccc6eb Start with the end Dice animation in forwarded. 2020-03-27 20:36:02 +04:00
John Preston
e7ca405e8c Show forwarded info in Dice media. 2020-03-27 20:36:02 +04:00
John Preston
c83e297554 Implement dice media display. 2020-03-27 20:36:02 +04:00
John Preston
d4b9b65724 First version of the filters side bar. 2020-03-27 20:36:01 +04:00
John Preston
11d31ffc84 Parse and apply cloud filters. 2020-03-27 20:36:01 +04:00
John Preston
ed715fb810 Update API scheme to layer 111. 2020-03-27 20:36:01 +04:00
John Preston
2f1ee6f1fa Show two hardcoded filters in Ui. 2020-03-27 20:36:01 +04:00
John Preston
71f7aae948 Replace dialogs mode with filters. 2020-03-27 20:36:01 +04:00
23rd
98b947fbdf Slightly refactored snap.yml. 2020-03-24 17:04:44 +03:00
23rd
1a5ee99c8a Updated checkout Github Action to v2. 2020-03-24 17:04:44 +03:00
23rd
9a78c94d7e Updated linux.yml. 2020-03-24 17:04:44 +03:00
Ilya Fedin
13e8b60d6c Don't recreate tray icon if it is disabled 2020-03-24 17:21:00 +04:00
Aleksey Kiporskiy
6c46194009 bugfix: show chat description 2020-03-24 14:56:30 +04:00
Кипорский Алексей
ea854e5be3 bugfix: incorrect erase element 2020-03-24 11:31:38 +04:00
Ilya Fedin
d2291f5b17 Fix panel icon forcing 2020-03-19 01:02:15 +04:00
Ilya Fedin
e5ad35125c Fix artifact uploading in Windows action 2020-03-18 12:06:56 +04:00
John Preston
0bd2d951fb Version 1.9.21.
- Mark new messages as read while scrolling down through them.
- Improved spellchecking on Windows 7 and Linux.
2020-03-16 22:49:16 +04:00
John Preston
4bd55605d9 Revert "Set application display name"
This reverts commit fda8a38bfc.

Fixes #7380.
2020-03-16 17:41:47 +04:00
John Preston
7b51383b3b Force animation unload in inline results.
Fixes #7335.
2020-03-16 17:41:35 +04:00
Ilya Fedin
9823615a84 Check if icon has desired size when saving 2020-03-16 16:57:22 +04:00
Ilya Fedin
0b5eb47b37 Avoid usage of QDBusInterface in StatusNotifierItem to avoid crashes 2020-03-16 13:12:32 +04:00
Ilya Fedin
3f661cc028 Use custom fontconfig file in snap to avoid problems with host fontconfig 2020-03-16 13:10:11 +04:00
Ilya Fedin
d47e94ea4d Fallback to launcher basename if FLATPAK_ID variable is empty 2020-03-16 13:04:52 +04:00
Ilya Fedin
da926d7f10 Disable SNI tray icon name setting in snap
Otherwise there are a dummy icon when tray counter is disabled
2020-03-16 13:03:53 +04:00
Ilya Fedin
9f0d6e9fab Add DESKTOP_APP_DISABLE_DBUS_INTEGRATION to matrix of Linux GitHub action defines 2020-03-16 13:00:47 +04:00
Ilya Fedin
99a8c93ac1 Fix build with gcc 9 2020-03-16 13:00:16 +04:00
John Preston
fec6a8dd96 Beta version 1.9.20: Fix build without dbus. 2020-03-14 16:13:33 +04:00
Ilya Fedin
46445e0542 Implement global menu on Linux 2020-03-14 15:32:10 +04:00
Ilya Fedin
5f33abd391 Change tray implementation on demand 2020-03-14 15:26:13 +04:00
John Preston
6777b20453 Beta version 1.9.20: Fix build on GCC. 2020-03-14 14:11:41 +04:00
John Preston
3a3207f15a Beta version 1.9.20.
- Fix crash in shared links search.
- Fix blurred thumbnails in albums with video files.
- Fix a possible crash in animated stickers rendering.
2020-03-14 13:45:49 +04:00
John Preston
f5b103cb89 Return neon optimizations in rlottie. 2020-03-14 13:04:15 +04:00
John Preston
1492571232 Fix members dropdown and mention autocomplete.
Fixes #7345.
2020-03-13 23:14:23 +04:00
John Preston
084b9ce4de Update lib_spellcheck. 2020-03-13 22:56:50 +04:00
23rd
95d8bb01ac Guarded paletteChanged handling in touchbar's PinnedDialogButton. 2020-03-13 22:56:38 +04:00
John Preston
6bf3dd10c1 Make checked read of sticker sets order.
In case local data is corrupted previously it lead to OOM crash.
2020-03-13 22:53:59 +04:00
John Preston
07eab8555a Fix crash in lottie animation destroy-on-init. 2020-03-13 22:53:59 +04:00
John Preston
14aa455164 Fix freeze in complex file location saving.
Fixes #6986.
2020-03-13 22:53:59 +04:00
John Preston
1df1b9fb53 Fix build with external minizip. 2020-03-13 22:53:59 +04:00
John Preston
854bc9f84a Fix blurred thumbnails in albums.
Regression was introduced in dc146cb1fe.

Once again fixes #6332.
2020-03-13 22:53:59 +04:00
Ilya Fedin
cd33d855a4 Update openal to fix 2x sound speed in snap 2020-03-13 22:52:42 +04:00
Ilya Fedin
fb99b9b547 Disable neon in ffmpeg to fix videos and animated stickers on arm architectures 2020-03-13 16:56:01 +04:00
Ilya Fedin
fda8a38bfc Set application display name 2020-03-13 11:25:43 +04:00
Ilya Fedin
229d15c492 Add tag launchable into linux appdata 2020-03-13 11:01:54 +04:00
Ilya Fedin
aedb6206a5 Set a list of architectures that snap package runs on 2020-03-13 11:01:20 +04:00
Ilya Fedin
75d54adfce Add TDESKTOP_FORCE_PANEL_ICON environment variable for possibility to use system icon even if it is not detected 2020-03-13 11:00:09 +04:00
Ilya Fedin
ba5d9eda2d Minimize dbus requests 2020-03-11 11:43:14 +04:00
Ilya Fedin
afc902a5cb Don't set device explicitly when capturing
Also update openal to 1.20.1 since it has pulseaudio.allow-moves by default

Fix playback devices enumerating
2020-03-10 11:49:23 +04:00
Av
fdd841e5c4 Increase media cache memory size to solve flicker issue
When displaying large numbers of GIFs, Telegram's Media Cache runs out of size and unloads items that are still being displayed.
2020-03-10 11:47:26 +04:00
Ilya Fedin
32169fa7bd Remove separate switch for GTK integration and fix condition for GTK file dialog
Since it is used only for GTK file dialog and to get it by default on any static builds
2020-03-10 11:45:47 +04:00
Ilya Fedin
b66acdd0dc Use ffmpeg 4.x in snap 2020-03-09 15:19:21 +04:00
Ilya Fedin
5927e8272c Convert TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION to runtime environment variable 2020-03-09 11:02:45 +04:00
Ilya Fedin
1dc6d942cf Add new snap permission and layout for alsa
Add audio-playback and audio-record interfaces since pulseaudio interface is deprecated
2020-03-07 13:32:01 +04:00
Ilya Fedin
fdd431dce9 Human-readable error for single instance logging 2020-03-06 18:42:30 +04:00
Ilya Fedin
7ac4c6e479 Add mark as read feature to linux native notifications 2020-03-06 18:39:34 +04:00
Ilya Fedin
fdf16d0aea Fix notification daemon detection on KDE
Minimize usage of QDBusInterface

Log the whole notification daemon information
2020-03-06 18:39:34 +04:00
Ilya Fedin
7aadaca62e Implement SkipAudio and SkipToast on Linux 2020-03-06 18:29:57 +04:00
Ilya Fedin
3fb6bbeae4 Optimize icon regeneration 2020-03-06 18:28:56 +04:00
Ilya Fedin
7202ffca76 Remove unneeded TrayIconFileTemplate function
Use /.flatpak-info instead of deprecated /run/user/$UID/flatpak-info

Improve indentation in UseXDGDesktopPortal and IsAppIndicator

Remove unneeded NeedTrayIconFile and rename IsAppIndicator to IsIndicatorApplication

Include only needed part of QtDBus in main_window_linux.cpp

Remove usage of QDBusInterface from SandboxAutostart and IsSNIAvailable

Don't check dbus activatable services in IsIndicatorApplication

Move XEmbed menu initialization to initTrayMenuHook, tray availability check to initHook

Don't create unneeded file for tooltip icon, since indicator-application doesn't support tooltips

Passthrough counter from updateIconCounters

Suppress log errors for LastUserInputTime on GNOME

Set applcation name and icon name for pulseaudio
2020-03-06 18:28:56 +04:00
Ilya Fedin
5c89dfad85 Implement LastUserInputTime on Linux
This is a dbus implementation, ideally a X11 implementation should be added as a fallback to get it work on non-mainstream DEs (and WMs)
2020-03-03 18:39:31 +04:00
Ilya Fedin
57b76e3f00 Remove usage of QDBusInterface from non-class methods in Linux native notifications 2020-03-02 11:22:36 +04:00
23rd
4e345ac688 Returned display of message status for self and last messages. 2020-02-27 14:20:24 +03:00
23rd
a0584ea7a1 Moved all destruction calls of DictLoader to main thread. 2020-02-27 15:18:00 +04:00
Ilya Fedin
7bd0598555 Unified function to detect icon name on Linux 2020-02-27 15:17:32 +04:00
Ilya Fedin
3b300f23e1 Independent check for image in Linux native notifications 2020-02-27 12:23:56 +04:00
23rd
3a5c0976bb Updated docs.
- Removed libenchant-dev.
 - Removed installing OpenSSL shared docs for Linux.
 - Updated xz and libiconv for Xcode.
2020-02-27 12:11:27 +04:00
Ilya Fedin
8b704f9bd7 Fix escaping in linux launcher creating 2020-02-27 11:51:28 +04:00
John Preston
872e063501 Fix docs. 2020-02-26 20:17:13 +04:00
John Preston
3b327d9397 Fix launching with data in ~/.TelegramDesktop
Regression was introduced in 60612635ef.

Fixes #7289.
2020-02-26 20:13:40 +04:00
John Preston
844e9b60dd Fix crash in SearchController.
Data::Histories cancels request in Main::Session::api(), so the
request must be sent using this global api(), not custom MTP::Sender.
2020-02-25 16:13:07 +04:00
John Preston
cc95117e9b Beta version 1.9.19.
- Bug fixes and other minor improvements.
2020-02-25 14:03:08 +04:00
John Preston
b5ad3e7724 Fix unread badges for new dialogs. 2020-02-25 13:58:58 +04:00
John Preston
3e3696298f Fix possible use-after-free in test connections. 2020-02-25 13:40:09 +04:00
John Preston
b2aac8006c Fix crash on Windows 7. 2020-02-25 13:38:58 +04:00
John Preston
06689260e5 Fix crash in shared images rounding. 2020-02-25 13:18:31 +04:00
John Preston
5838e320ae Fix possible crash in sticker inline results. 2020-02-25 12:58:25 +04:00
Ilya Fedin
d27dd512c5 Update snap to hunspell 2020-02-25 11:38:47 +04:00
John Preston
0c8125476a Beta version 1.9.18.
- Bug fixes and other minor improvements.
2020-02-25 08:03:13 +04:00
John Preston
6fbd0d7deb Fix logout on second relaunch.
Fixes #7279.
2020-02-25 07:58:29 +04:00
Ilya Fedin
6f1c1fd070 Fix packaged build 2020-02-25 00:50:26 +04:00
John Preston
ddf483012b Beta version 1.9.17.
- Spell checker on Windows 7.
- Bug fixes and other minor improvements.
2020-02-25 00:44:28 +04:00
Ilya Fedin
2b0e62dafe Follow hidding reply setting in native notifications on Linux, use system icon 2020-02-24 21:00:25 +04:00
Ilya Fedin
9979c220ce Multiple sizes for linux tray icon 2020-02-24 19:57:42 +04:00
John Preston
530b212f55 Remove _USING_V110_SDK71_ on Windows. 2020-02-24 19:55:48 +04:00
23rd
9fe64deea0 Updated lib_spellcheck. 2020-02-24 18:48:33 +03:00
23rd
0ca0930066 Updated context menu for spellchecker. 2020-02-24 18:48:33 +03:00
23rd
8734ebe4c4 Added auto download of new dictionary when input locale is changed. 2020-02-24 18:48:33 +03:00
23rd
bc6e1e7a0d Added new setting for automatic dictionaries download. 2020-02-24 18:48:33 +03:00
23rd
bb8aead078 Added sequential background dictionary loader.
- Moved the Loader from the dictionaries manager to the spellchecker
 common space as a DictLoader.
2020-02-24 18:48:33 +03:00
23rd
9daf362df6 Added label with state to "Manage dictionaries" button. 2020-02-24 18:48:33 +03:00
23rd
311678af80 Added ability to filter languages in dictionaries manager. 2020-02-24 18:48:33 +03:00
23rd
a0f995b134 Added ability to remove dictionary from context menu. 2020-02-24 18:48:33 +03:00
23rd
e9e9ea2d69 Added filter for removed dictionaries when dictionary box is closed. 2020-02-24 18:48:33 +03:00
23rd
4bd34b35ae Added button to advanced settings for dictionary management box. 2020-02-24 18:48:33 +03:00
23rd
9d1b93fe50 Moved spellchecker work from message_field to Spellchecker::Start. 2020-02-24 18:48:33 +03:00
23rd
9dee4e2d25 Added ability to download more than one dictionary at same time. 2020-02-24 18:48:33 +03:00
23rd
783269e256 Removed unnecessary Sets() function. 2020-02-24 18:48:33 +03:00
23rd
f598bf0b42 Replaced fake dictionary ids with real values. 2020-02-24 18:48:33 +03:00
23rd
039ed17683 Fixed saving of not loaded dictionaries. 2020-02-24 18:48:33 +03:00
23rd
62e0ced6a6 Imporved computing state of buttons in dictionaries manager. 2020-02-24 18:48:33 +03:00
23rd
f377ac54fd Slightly refactored spellchecker_common.cpp.
- Moved LocaleFromLangId to lib_spellcheck.
2020-02-24 18:48:33 +03:00
23rd
9d98682089 Removed unnecessary includes from emoji sets and dictionaries managers. 2020-02-24 18:48:33 +03:00
23rd
efdf5f1767 Moved producer of state description to CloudBlob. 2020-02-24 18:48:33 +03:00
23rd
8ca0b614d7 Moved loader of emoji sets and dictionaries to CloudBlob. 2020-02-24 18:48:33 +03:00
23rd
704dcc8d65 Moved emoji sets and dictionaries loader states to CloudBlob.
- Moved CloudBlob to second namespace.
2020-02-24 18:48:33 +03:00
23rd
9f4d05b04c Moved emoji sets from lib_ui. Added parent struct to storage_cloud_blob. 2020-02-24 18:48:33 +03:00
23rd
08cd7450ff Added storage/storage_cloud_blob.
- This file is needed to store same code parts related
 to management of dictionaries and emoji sets.
 - Moved extracting of zip files to storage_cloud_blob.
2020-02-24 18:48:33 +03:00
23rd
4b684a4926 Added spellchecker helper for common purposes. 2020-02-24 18:48:33 +03:00
23rd
65a7f2e7d8 Added dictionary management box. 2020-02-24 18:48:33 +03:00
23rd
26a45885ff Added updating of spell highlighter when enabled languages are changed. 2020-02-24 18:48:33 +03:00
23rd
4cc46f1ffa Added vector of enabled dictionaries to Main::Settings. 2020-02-24 18:48:33 +03:00
23rd
fcb5292a4f Added external_hunspell to CMake build. 2020-02-24 18:48:33 +03:00
23rd
1ca096e7ce Added auto caching for Github CI. 2020-02-24 18:07:09 +03:00
23rd
2b2ac2e48f Decreased packages installation time for Linux workflow. 2020-02-24 18:07:09 +03:00
Ilya Fedin
da14588235 Enable native Wayland support 2020-02-24 19:03:27 +04:00
John Preston
60612635ef Use QSaveFile to write sensitive settings / data. 2020-02-24 18:54:16 +04:00
John Preston
c2f58d3ab5 Fix GIFs with alpha display. 2020-02-24 17:48:23 +04:00
John Preston
5937b24799 Request dialog entry for unknown chat. 2020-02-24 16:35:13 +04:00
John Preston
8e222d3501 Fix closing of fullscreen GIFs by click. 2020-02-24 15:31:28 +04:00
John Preston
c3463dec63 Force zero unread count if read till end. 2020-02-24 14:54:00 +04:00
John Preston
f2ef109940 Make sure we request pending dialog entries. 2020-02-24 14:54:00 +04:00
John Preston
91fb9917bc Fix search in chat results loading. 2020-02-24 13:14:29 +04:00
John Preston
6ded5b74d0 Fix load requests cancel on history change. 2020-02-24 13:13:48 +04:00
John Preston
91a6632a1b Fix state assertion in reading requets. 2020-02-24 12:57:24 +04:00
Nicholas Guriev
f1c2d4fe3d Fix CMake version for snap build
* With CMake 1.17.0-rc1, Python package is broken.
2020-02-23 18:45:53 +04:00
Nicholas Guriev
23d958e457 Save build place on Linux workflow
* This tries to avoid "No space left on device" error.
 * Remove unneeded build cache directories.
 * Whenever possible, checkout only one Git commit.
2020-02-23 18:45:53 +04:00
John Preston
b84b1e71f7 Beta version 1.9.16: Crash fix. 2020-02-23 15:13:23 +04:00
John Preston
e2f037537f Beta version 1.9.16.
- Bug fixes and other minor improvements.
2020-02-23 12:58:45 +04:00
John Preston
a84c7e0b06 Don't apply entry from dialogs if postponed. 2020-02-23 12:56:33 +04:00
John Preston
f7144a55e2 Always clear history notifications when marking as read. 2020-02-23 12:48:39 +04:00
John Preston
496faef0b3 Fix crashes in fast simultaneous readings.
Fixes #7264, fixes #7259.
2020-02-23 11:54:18 +04:00
John Preston
50bf4dad36 Add local changelog for 1.9.15. 2020-02-22 14:47:30 +04:00
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
1253 changed files with 82399 additions and 43592 deletions

View File

@@ -1,86 +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 --depth 1 --branch 0.10.0 https://github.com/ericniebler/range-v3
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://github.com/telegramdesktop/gyp.git
cd gyp
git checkout tdesktop
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 --ci-build
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%,DESKTOP_APP_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

@@ -25,6 +25,8 @@ Tell us what happens instead
**Version of Telegram Desktop:**
**Installation source (Linux Only)** - the official website / GitHub releases / flatpak / snap / distribution package:
**Used theme**:
<details><summary><b>Logs</b>:</summary>

View File

@@ -14,6 +14,22 @@ jobs:
echo $tag
echo ::set-env name=LATEST_TAG::$tag
- name: Get the latest macOS version.
shell: python
run: |
import subprocess;
from xml.dom import minidom;
url = "https://osx.telegram.org/updates/versions.xml";
subprocess.check_call("wget %s" % url, shell=True);
xmldoc = minidom.parse('versions.xml');
itemlist = xmldoc.getElementsByTagName('enclosure');
ver = itemlist[0].attributes['sparkle:shortVersionString'].value;
print(ver);
subprocess.check_call("echo ::set-env name=%s::%s" % ("LATEST_MACOS", ver), shell=True);
- name: Check a version from an issue.
uses: actions/github-script@0.4.0
with:
@@ -21,14 +37,24 @@ jobs:
script: |
let errorStr = "Version not found.";
function maxIndexOf(str, i) {
let index = str.indexOf(i);
return (index == -1) ? Number.MAX_SAFE_INTEGER : index;
}
let item1 = "Version of Telegram Desktop";
let item2 = "Used theme";
let item2 = "Installation source";
let item3 = "Used theme";
let item4 = "<details>";
let body = context.payload.issue.body;
console.log("Body of issue:\n" + body);
let index1 = body.indexOf(item1) + item1.length;
let index2 = body.indexOf(item2);
index2 = (index2 == -1) ? Number.MAX_SAFE_INTEGER : index2;
let index1 = body.indexOf(item1);
let index2 = Math.min(
Math.min(
maxIndexOf(body, item2),
maxIndexOf(body, item3)),
maxIndexOf(body, item4));
console.log("Index 1: " + index1);
console.log("Index 2: " + index2);
@@ -46,7 +72,7 @@ jobs:
return version[0].split(".")[0];
}
let issueVer = parseVersion(body.substring(index1, index2));
let issueVer = parseVersion(body.substring(index1 + item1.length, index2));
if (issueVer == undefined) {
console.log(errorStr);
@@ -65,10 +91,20 @@ jobs:
let issueNum = firstNum(issueVer);
let latestNum = firstNum(latestVer);
if (issueNum <= latestNum && issueNum < 5) {
let macos_ver = process.env.LATEST_MACOS;
console.log("Telegram for MacOS version from website: " + macos_ver);
if (issueNum <= latestNum && issueNum < macos_ver) {
console.log("Seems the version of this issue is fine!");
return;
}
if (issueNum > macos_ver) {
let message = `Seems like it's neither the Telegram Desktop\
nor the Telegram for macOS version.
`;
console.log(message);
return;
}
let message = `
Sorry, but according to the version you specify in this issue, \
@@ -77,7 +113,7 @@ jobs:
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!
**If I made a mistake and closed your issue wrongly, please reopen it. Thanks!**
`;
let params = {

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

@@ -0,0 +1,599 @@
name: Linux.
on:
push:
paths-ignore:
- 'docs/**'
- '**.md'
- '!docs/building-cmake.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
- '.github/**'
- '!.github/workflows/linux.yml'
- 'snap/**'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'
- 'Telegram/SourceFiles/platform/mac/**'
- 'Telegram/Telegram/**'
- 'Telegram/configure.bat'
- 'Telegram/Telegram.plist'
pull_request:
paths-ignore:
- 'docs/**'
- '**.md'
- '!docs/building-cmake.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
- '.github/**'
- '!.github/workflows/linux.yml'
- 'snap/**'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'
- 'Telegram/SourceFiles/platform/mac/**'
- 'Telegram/Telegram/**'
- 'Telegram/configure.bat'
- 'Telegram/Telegram.plist'
jobs:
linux:
name: Ubuntu 14.04
runs-on: ubuntu-latest
container: ubuntu:trusty
strategy:
matrix:
defines:
- ""
- "DESKTOP_APP_DISABLE_DBUS_INTEGRATION"
- "TDESKTOP_DISABLE_GTK_INTEGRATION"
env:
GIT: "https://github.com"
QT: "5_12_8"
QT_PREFIX: "/usr/local/desktop-app/Qt-5.12.8"
OPENSSL_VER: "1_1_1"
OPENSSL_PREFIX: "/usr/local/desktop-app/openssl-1.1.1"
CMAKE_VER: "3.17.0"
UPLOAD_ARTIFACT: "false"
ONLY_CACHE: "false"
MANUAL_CACHING: "6"
DOC_PATH: "docs/building-cmake.md"
AUTO_CACHING: "1"
steps:
- name: Get repository name.
run: echo ::set-env name=REPO_NAME::${GITHUB_REPOSITORY##*/}
- name: Disable man for further package installs.
run: |
cfgFile="/etc/dpkg/dpkg.cfg.d/no_man"
sudo touch $cfgFile
p() {
sudo echo "path-exclude=/usr/share/$1/*" >> $cfgFile
}
p man
p locale
p doc
- name: Apt install.
shell: bash
run: |
sudo apt-get update
sudo apt-get install software-properties-common -y && \
sudo add-apt-repository ppa:git-core/ppa -y && \
sudo apt-get update && \
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 libxml2-dev libass-dev libfreetype6-dev \
libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \
libvorbis-dev libxcb1-dev libxcb-image0-dev libxcb-shm0-dev \
libxcb-screensaver0-dev libjpeg-dev ninja-build \
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 libegl1-mesa-dev \
libx11-xcb-dev libffi-dev libncurses5-dev pkg-config texi2html bison 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
- name: Clone.
uses: actions/checkout@v2
with:
submodules: recursive
path: ${{ env.REPO_NAME }}
- name: First set up.
shell: bash
run: |
gcc --version
gcc --version > CACHE_KEY.txt
echo $MANUAL_CACHING >> CACHE_KEY.txt
if [ "$AUTO_CACHING" == "1" ]; then
thisFile=$REPO_NAME/.github/workflows/linux.yml
echo `md5sum $thisFile | cut -c -32` >> CACHE_KEY.txt
fi
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: 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
rm $file
cmake --version
- name: Opus cache.
id: cache-opus
uses: actions/cache@v2
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 -b v1.3 --depth=1 $GIT/xiph/opus
cd opus
./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
cd ..
rm -rf libva
- name: Libvdpau.
run: |
cd $LibrariesPath
git clone -b libvdpau-1.2 --depth=1 https://gitlab.freedesktop.org/vdpau/libvdpau.git
cd libvdpau
./autogen.sh --enable-static
make -j$(nproc)
sudo make install
cd ..
rm -rf libvdpau
- name: FFmpeg cache.
id: cache-ffmpeg
uses: actions/cache@v2
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 \
--disable-debug \
--disable-programs \
--disable-doc \
--disable-network \
--disable-autodetect \
--disable-everything \
--disable-alsa \
--disable-iconv \
--enable-libopus \
--enable-vaapi \
--enable-vdpau \
--enable-protocol=file \
--enable-hwaccel=h264_vaapi \
--enable-hwaccel=h264_vdpau \
--enable-hwaccel=mpeg4_vaapi \
--enable-hwaccel=mpeg4_vdpau \
--enable-decoder=aac \
--enable-decoder=aac_fixed \
--enable-decoder=aac_latm \
--enable-decoder=aasc \
--enable-decoder=alac \
--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_f32be \
--enable-decoder=pcm_f32le \
--enable-decoder=pcm_f64be \
--enable-decoder=pcm_f64le \
--enable-decoder=pcm_lxf \
--enable-decoder=pcm_mulaw \
--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 DESTDIR="$LibrariesPath/ffmpeg-cache" install
cd ..
rm -rf ffmpeg
- 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/usr/local/lib/$1.a ffmpeg/$1/$1.a
}
copyLib libavformat
copyLib libavcodec
copyLib libswresample
copyLib libswscale
copyLib libavutil
sudo cp -R ffmpeg-cache/. /
- name: OpenAL Soft.
run: |
cd $LibrariesPath
git clone -b openal-soft-1.20.1 --depth=1 $GIT/kcat/openal-soft.git
cd openal-soft/build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DLIBTYPE:STRING=STATIC \
-DALSOFT_EXAMPLES=OFF \
-DALSOFT_TESTS=OFF \
-DALSOFT_UTILS=OFF \
-DALSOFT_CONFIG=OFF
make -j$(nproc)
sudo make install
cd -
rm -rf openal-soft
- name: OpenSSL cache.
id: cache-openssl
uses: actions/cache@v2
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
opensslDir=openssl_${OPENSSL_VER}
git clone -b OpenSSL_${OPENSSL_VER}-stable --depth=1 \
$GIT/openssl/openssl $opensslDir
cd $opensslDir
./config --prefix="$OPENSSL_PREFIX" no-tests
make -j$(nproc)
sudo make DESTDIR="$LibrariesPath/openssl-cache" install_sw
cd ..
# rm -rf $opensslDir # Keep this folder for WebRTC.
- name: OpenSSL install.
run: |
cd $LibrariesPath
sudo cp -R openssl-cache/. /
- name: Libwayland.
run: |
cd $LibrariesPath
git clone -b 1.18.0 https://gitlab.freedesktop.org/wayland/wayland
cd wayland
./autogen.sh \
--enable-static \
--disable-documentation \
--disable-dtd-validation
make -j$(nproc)
sudo make install
cd ..
rm -rf wayland
- name: Libxkbcommon.
run: |
cd $LibrariesPath
git clone -b xkbcommon-0.8.4 --depth=1 $GIT/xkbcommon/libxkbcommon.git
cd libxkbcommon
./autogen.sh \
--disable-docs \
--disable-wayland \
--with-xkb-config-root=/usr/share/X11/xkb \
--with-x-locale-root=/usr/share/X11/locale
make -j$(nproc)
sudo make install
cd ..
rm -rf libxkbcommon
- name: Qt 5.12.8 cache.
id: cache-qt
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/qt-cache
key: ${{ runner.OS }}-qt-${{ env.CACHE_KEY }}-${{ hashFiles('**/qt*_5_12_8/*') }}
- name: Qt 5.12.8 build.
if: steps.cache-qt.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git clone -b v5.12.8 --depth=1 git://code.qt.io/qt/qt5.git qt_${QT}
cd qt_${QT}
perl init-repository --module-subset=qtbase,qtwayland,qtimageformats,qtsvg
git submodule update qtbase qtwayland qtimageformats qtsvg
cd qtbase
find ../../patches/qtbase_${QT} -type f -print0 | sort -z | xargs -r0 git apply
cd ..
cd qtwayland
find ../../patches/qtwayland_${QT} -type f -print0 | sort -z | xargs -r0 git apply
cd ..
./configure -prefix "$QT_PREFIX" \
-release \
-opensource \
-confirm-license \
-qt-zlib \
-qt-libpng \
-qt-libjpeg \
-qt-harfbuzz \
-qt-pcre \
-qt-xcb \
-no-icu \
-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_ROOT="$LibrariesPath/qt-cache" install
cd ..
rm -rf qt_${QT}
- name: Qt 5.12.8 install.
run: |
cd $LibrariesPath
sudo cp -R qt-cache/. /
- name: Breakpad cache.
id: cache-breakpad
uses: actions/cache@v2
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
make -j$(nproc)
sudo make DESTDIR="$BreakpadCache" 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/
cd ..
rm -rf gyp breakpad
- name: Breakpad install.
run: |
cd $LibrariesPath
sudo cp -R breakpad-cache/. /
mkdir -p breakpad/out/Default/
cp breakpad-cache/dump_syms breakpad/out/Default/dump_syms
- name: WebRTC cache.
id: cache-webrtc
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/tg_owt
key: ${{ runner.OS }}-webrtc-${{ env.CACHE_KEY }}
- name: WebRTC.
if: steps.cache-webrtc.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git clone $GIT/desktop-app/tg_owt.git
mkdir -p tg_owt/out/Debug
cd tg_owt/out/Debug
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DTG_OWT_SPECIAL_TARGET=linux \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=`pwd`/../../../qt_$QT/qtbase/src/3rdparty/libjpeg \
-DTG_OWT_OPENSSL_INCLUDE_PATH=$OPENSSL_PREFIX/include \
-DTG_OWT_OPUS_INCLUDE_PATH=/usr/local/include/opus \
-DTG_OWT_FFMPEG_INCLUDE_PATH=/usr/local/include \
../..
ninja
# Cleanup.
cd $LibrariesPath/tg_owt
mv out/Debug/libtg_owt.a libtg_owt.a
rm -rf out
mkdir -p out/Debug
mv libtg_owt.a out/Debug/libtg_owt.a
rm -rf $LibrariesPath/openssl_${OPENSSL_VER}
- 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
echo ::set-env name=ARTIFACT_NAME::Telegram_${{ matrix.defines }}
else
echo ::set-env name=ARTIFACT_NAME::Telegram
fi
./configure.sh \
-D CMAKE_CXX_FLAGS="-s" \
-D TDESKTOP_API_TEST=ON \
-D DESKTOP_APP_USE_PACKAGED=OFF \
-D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF \
$DEFINE
cd ../out/Debug
make -j$(nproc)
- 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: ${{ env.ARTIFACT_NAME }}
path: ${{ env.REPO_NAME }}/out/Debug/bin/artifact/

View File

@@ -4,11 +4,41 @@ on:
push:
paths-ignore:
- 'docs/**'
- '*.md'
- '**.md'
- '!docs/building-xcode.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
- '.github/**'
- '!.github/workflows/mac.yml'
- 'lib/xdg/**'
- 'snap/**'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'
- 'Telegram/SourceFiles/platform/linux/**'
- 'Telegram/configure.bat'
pull_request:
paths-ignore:
- 'docs/**'
- '*.md'
- '**.md'
- '!docs/building-xcode.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
- '.github/**'
- '!.github/workflows/mac.yml'
- 'lib/xdg/**'
- 'snap/**'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'
- 'Telegram/SourceFiles/platform/linux/**'
- 'Telegram/configure.bat'
jobs:
@@ -26,31 +56,30 @@ jobs:
GIT: "https://github.com"
PREFIX: "/usr/local/macos"
MACOSX_DEPLOYMENT_TARGET: "10.12"
XZ: "xz-5.0.5"
QT: "5_12_5"
XZ: "xz-5.2.4"
QT: "5_12_8"
OPENSSL_VER: "1_1_1"
QT_PREFIX: "/usr/local/desktop-app/Qt-5.12.5"
LIBICONV_VER: "libiconv-1.15"
QT_PREFIX: "/usr/local/desktop-app/Qt-5.12.8"
LIBICONV_VER: "libiconv-1.16"
UPLOAD_ARTIFACT: "false"
MANUAL_CACHING: "1"
ONLY_CACHE: "false"
MANUAL_CACHING: "2"
DOC_PATH: "docs/building-xcode.md"
AUTO_CACHING: "1"
steps:
- name: Get repository name.
run: echo ::set-env name=REPO_NAME::${GITHUB_REPOSITORY##*/}
- name: Clone.
uses: actions/checkout@v1
uses: actions/checkout@v2
with:
submodules: recursive
path: ${{ env.REPO_NAME }}
- name: First set up.
run: |
cd ..
mv $REPO_NAME temp
mkdir $REPO_NAME
mv temp $REPO_NAME/$REPO_NAME
cd $REPO_NAME
sudo chown -R `whoami`:admin /usr/local/share
brew install automake fdk-aac lame libass libtool libvorbis libvpx \
ninja opus sdl shtool texi2html theora x264 xvid yasm pkg-config
@@ -60,6 +89,11 @@ jobs:
echo $MIN_MAC >> CACHE_KEY.txt
echo $PREFIX >> CACHE_KEY.txt
echo $MANUAL_CACHING >> CACHE_KEY.txt
echo "$GITHUB_WORKSPACE" >> CACHE_KEY.txt
if [ "$AUTO_CACHING" == "1" ]; then
thisFile=$REPO_NAME/.github/workflows/mac.yml
echo `md5 -q $thisFile` >> CACHE_KEY.txt
fi
echo ::set-env name=CACHE_KEY::`md5 -q CACHE_KEY.txt`
echo ::add-path::$PWD/Libraries/depot_tools
@@ -68,14 +102,6 @@ jobs:
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."
@@ -108,7 +134,7 @@ jobs:
- name: OpenSSL cache.
id: cache-openssl
uses: actions/cache@v1
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/openssl_${{ env.OPENSSL_VER }}
key: ${{ runner.OS }}-${{ env.OPENSSL_VER }}-${{ env.CACHE_KEY }}
@@ -117,43 +143,57 @@ jobs:
run: |
cd $LibrariesPath
git clone $GIT/openssl/openssl openssl_$OPENSSL_VER
cd openssl_$OPENSSL_VER
git clone $GIT/openssl/openssl openssl
cd openssl
git checkout OpenSSL_"$OPENSSL_VER"-stable
./Configure \
--prefix=$PREFIX \
no-tests \
darwin64-x86_64-cc \
-static \
$MIN_MAC
make build_libs -j$(nproc)
SSL_DIR=$LibrariesPath/openssl_$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
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/opus
path: ${{ env.LibrariesPath }}/opus-cache
key: ${{ runner.OS }}-opus-${{ env.CACHE_KEY }}
- name: Opus.
- name: Opus clone.
run: |
cd $LibrariesPath
git clone -b v1.3 --depth=1 $GIT/xiph/opus
- name: Opus build.
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)
sudo make DESTDIR="$LibrariesPath/opus-cache" install
- name: Opus install.
run: |
cd $LibrariesPath/opus
sudo make install
cd $LibrariesPath
sudo cp -R opus-cache/. /
- name: Libiconv cache.
id: cache-libiconv
uses: actions/cache@v1
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/${{ env.LIBICONV_VER }}
path: ${{ env.LibrariesPath }}/libiconv-cache
key: ${{ runner.OS }}-${{ env.LIBICONV_VER }}-${{ env.CACHE_KEY }}
- name: Libiconv.
if: steps.cache-libiconv.outputs.cache-hit != 'true'
@@ -165,16 +205,17 @@ jobs:
cd $LIBICONV_VER
CFLAGS="$MIN_MAC $UNGUARDED" CPPFLAGS="$MIN_MAC $UNGUARDED" LDFLAGS="$MIN_MAC" ./configure --enable-static --prefix=$PREFIX
make -j$(nproc)
sudo make DESTDIR="$LibrariesPath/libiconv-cache" install
- name: Libiconv install.
run: |
cd $LibrariesPath/$LIBICONV_VER
sudo make install
cd $LibrariesPath
sudo cp -R libiconv-cache/. /
- name: FFmpeg cache.
id: cache-ffmpeg
uses: actions/cache@v1
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/ffmpeg
path: ${{ env.LibrariesPath }}/ffmpeg-cache
key: ${{ runner.OS }}-ffmpeg-${{ env.CACHE_KEY }}
- name: FFmpeg.
if: steps.cache-ffmpeg.outputs.cache-hit != 'true'
@@ -188,7 +229,7 @@ jobs:
LDFLAGS=`freetype-config --libs`
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/X11/lib/pkgconfig
./configure --prefix=/usr/local \
./configure --prefix=$LibrariesPath/ffmpeg-cache \
--extra-cflags="$MIN_MAC $UNGUARDED" \
--extra-cxxflags="$MIN_MAC $UNGUARDED" \
--extra-ldflags="$MIN_MAC" \
@@ -290,10 +331,23 @@ jobs:
--enable-muxer=opus
make -j$(nproc)
sudo make install
- name: FFmpeg install.
run: |
cd $LibrariesPath/ffmpeg
sudo make install
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: |
@@ -315,7 +369,7 @@ jobs:
- name: Crashpad cache.
id: cache-crashpad
uses: actions/cache@v1
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/crashpad
key: ${{ runner.OS }}-crashpad-${{ env.CACHE_KEY }}-${{ hashFiles('**/crashpad.diff') }}-${{ hashFiles('**/mini_chromium.diff') }}
@@ -352,32 +406,32 @@ jobs:
build/gyp_crashpad.py -Dmac_deployment_target=10.10
ninja -C out/Debug
- name: Qt 5.12.5 cache.
- name: Qt 5.12.8 cache.
id: cache-qt
uses: actions/cache@v1
uses: actions/cache@v2
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.
key: ${{ runner.OS }}-qt-${{ env.CACHE_KEY }}-${{ hashFiles('**/qtbase_5_12_8/*') }}
- name: Use cached Qt 5.12.8.
if: steps.cache-qt.outputs.cache-hit == 'true'
run: |
cd $LibrariesPath
mv qt-cache Qt-5.12.5
mv qt-cache Qt-5.12.8
sudo mkdir -p $QT_PREFIX
sudo mv -f Qt-5.12.5 /usr/local/desktop-app/
- name: Build Qt 5.12.5.
sudo mv -f Qt-5.12.8 "$(dirname "$QT_PREFIX")"/
- name: Qt 5.12.8 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
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 checkout v5.12.8
git submodule update qtbase
git submodule update qtimageformats
cd qtbase
git apply ../../patches/qtbase_$QT.diff
find ../../patches/qtbase_$QT -type f -print0 | sort -z | xargs -0 git apply
cd ..
./configure \
@@ -400,7 +454,38 @@ jobs:
make clean
cp -r $QT_PREFIX $LibrariesPath/qt-cache
- name: Build Telegram Desktop.
- name: WebRTC cache.
id: cache-webrtc
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/tg_owt
key: ${{ runner.OS }}-webrtc-${{ env.CACHE_KEY }}
- name: WebRTC.
if: steps.cache-webrtc.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git clone $GIT/desktop-app/tg_owt.git
mkdir -p tg_owt/out/Debug
cd tg_owt/out/Debug
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug \
-DTG_OWT_SPECIAL_TARGET=mac \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=`pwd`/../../../qt_$QT/qtbase/src/3rdparty/libjpeg \
-DTG_OWT_OPENSSL_INCLUDE_PATH=`pwd`/../../../openssl_$OPENSSL_VER/include \
-DTG_OWT_OPUS_INCLUDE_PATH=$PREFIX/include/opus \
-DTG_OWT_FFMPEG_INCLUDE_PATH=/usr/local/include \
../..
ninja
# Cleanup.
cd $LibrariesPath/tg_owt
mv out/Debug/libtg_owt.a libtg_owt.a
rm -rf out
mkdir -p out/Debug
mv libtg_owt.a out/Debug/libtg_owt.a
- name: Telegram Desktop build.
if: env.ONLY_CACHE == 'false'
run: |
cd $REPO_NAME/Telegram
@@ -408,9 +493,16 @@ jobs:
if [ -n "${{ matrix.defines }}" ]; then
DEFINE="-D ${{ matrix.defines }}=ON"
echo Define from matrix: $DEFINE
echo ::set-env name=ARTIFACT_NAME::Telegram_${{ matrix.defines }}
else
echo ::set-env name=ARTIFACT_NAME::Telegram
fi
./configure.sh -D TDESKTOP_API_TEST=ON -D DESKTOP_APP_USE_PACKAGED=OFF $DEFINE
./configure.sh \
-D TDESKTOP_API_TEST=ON \
-D DESKTOP_APP_USE_PACKAGED=OFF \
-D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF \
$DEFINE
cd ../out
@@ -428,5 +520,5 @@ jobs:
if: env.UPLOAD_ARTIFACT == 'true'
name: Upload artifact.
with:
name: Telegram
name: ${{ env.ARTIFACT_NAME }}
path: ${{ env.REPO_NAME }}/out/Debug/artifact/

35
.github/workflows/master_updater.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: Master branch updater.
on:
release:
types: released
jobs:
updater:
runs-on: ubuntu-latest
env:
SKIP: "0"
to_branch: "master"
steps:
- uses: actions/checkout@v1
if: env.SKIP == '0'
- name: Push the code to the master branch.
if: env.SKIP == '0'
run: |
token=${{ secrets.TOKEN_FOR_MASTER_UPDATER }}
if [ -z "${token}" ]; then
echo "Token is unset. Nothing to do."
exit 0
fi
url=https://x-access-token:$token@github.com/$GITHUB_REPOSITORY
latest_tag=$(git describe --tags --abbrev=0)
echo "Latest tag: $latest_tag"
git remote set-url origin $url
git remote -v
git checkout master
git merge $latest_tag
git push origin HEAD:refs/heads/$to_branch
echo "Done!"

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

@@ -0,0 +1,89 @@
name: Snap.
on:
push:
paths-ignore:
- 'docs/**'
- '**.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
- '.github/**'
- '!.github/workflows/snap.yml'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'
- 'Telegram/SourceFiles/platform/mac/**'
- 'Telegram/Telegram/**'
- 'Telegram/configure.bat'
- 'Telegram/Telegram.plist'
pull_request:
paths-ignore:
- 'docs/**'
- '**.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
- '.github/**'
- '!.github/workflows/snap.yml'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'
- 'Telegram/SourceFiles/platform/mac/**'
- 'Telegram/Telegram/**'
- 'Telegram/configure.bat'
- 'Telegram/Telegram.plist'
jobs:
linux:
name: Ubuntu
runs-on: ubuntu-latest
env:
UPLOAD_ARTIFACT: "false"
steps:
- name: Clone.
uses: actions/checkout@v2
with:
submodules: recursive
- name: First set up.
run: |
sudo apt-get purge --autoremove lxd
sudo snap install --classic snapcraft
sudo snap install lxd
# Workaround for snapcraft
# See https://forum.snapcraft.io/t/13258
sudo chown root:root /
sudo usermod -aG lxd $USER
sudo snap run lxd init --auto
sudo snap run lxd waitready
- name: Telegram Desktop snap build.
run: sg lxd -c 'snap run snapcraft --use-lxd'
- 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

View File

@@ -4,11 +4,46 @@ on:
push:
paths-ignore:
- 'docs/**'
- '*.md'
- '**.md'
- '!docs/building-msvc.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
- '.github/**'
- '!.github/workflows/win.yml'
- 'lib/xdg/**'
- 'snap/**'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- '!Telegram/Patches/build_ffmpeg_win.sh'
- 'Telegram/Resources/uwp/**'
- 'Telegram/SourceFiles/platform/linux/**'
- 'Telegram/SourceFiles/platform/mac/**'
- 'Telegram/Telegram/**'
- 'Telegram/configure.sh'
- 'Telegram/Telegram.plist'
pull_request:
paths-ignore:
- 'docs/**'
- '*.md'
- '**.md'
- '!docs/building-msvc.md'
- 'changelog.txt'
- 'LEGAL'
- 'LICENSE'
- '.github/**'
- '!.github/workflows/win.yml'
- 'lib/xdg/**'
- 'snap/**'
- 'Telegram/build/**'
- 'Telegram/Patches/**'
- '!Telegram/Patches/build_ffmpeg_win.sh'
- 'Telegram/Resources/uwp/**'
- 'Telegram/SourceFiles/platform/linux/**'
- 'Telegram/SourceFiles/platform/mac/**'
- '!Telegram/Patches/breakpad.diff'
- 'Telegram/Telegram/**'
- 'Telegram/configure.sh'
- 'Telegram/Telegram.plist'
jobs:
@@ -24,30 +59,29 @@ jobs:
SDK: "10.0.18362.0"
VC: "call vcvars32.bat && cd Libraries"
GIT: "https://github.com"
QT: "5_12_5"
QT: "5_12_8"
QT_VER: "5.12.8"
OPENSSL_VER: "1_1_1"
UPLOAD_ARTIFACT: "false"
MANUAL_CACHING: "1"
ONLY_CACHE: "false"
MANUAL_CACHING: "2"
DOC_PATH: "docs/building-msvc.md"
AUTO_CACHING: "1"
steps:
- name: Get repository name.
shell: bash
run: echo ::set-env name=REPO_NAME::${GITHUB_REPOSITORY##*/}
- name: Clone.
uses: actions/checkout@v1
uses: actions/checkout@v2
with:
submodules: recursive
path: ${{ env.REPO_NAME }}
- 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"
@@ -68,21 +102,16 @@ jobs:
- name: Generate cache key.
shell: bash
run: |
if [ "$AUTO_CACHING" == "1" ]; then
thisFile=$REPO_NAME/.github/workflows/win.yml
echo `md5sum $thisFile | awk '{ print $1 }'` >> CACHE_KEY.txt
fi
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: |
@@ -93,6 +122,20 @@ jobs:
cd Patches
eval $checkoutCommit
- name: Find any version of Python 2.
shell: cmd
run: |
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%.
echo ::set-env name=PY2::%PY2%
- name: LZMA.
shell: cmd
run: |
@@ -105,7 +148,7 @@ jobs:
- name: OpenSSL cache.
id: cache-openssl
uses: actions/cache@v1
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/openssl_${{ env.OPENSSL_VER }}
key: ${{ runner.OS }}-${{ env.CACHE_KEY }}-${{ env.OPENSSL_VER }}
@@ -118,7 +161,7 @@ jobs:
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
perl Configure no-shared no-tests debug-VC-WIN32
nmake
mkdir out32.dbg
move libcrypto.lib out32.dbg
@@ -126,7 +169,7 @@ jobs:
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
perl Configure no-shared no-tests VC-WIN32
nmake
mkdir out32
move libcrypto.lib out32
@@ -134,6 +177,7 @@ jobs:
move ossl_static.pdb out32
rmdir /S /Q test
rmdir /S /Q .git
- name: Zlib.
shell: cmd
@@ -148,7 +192,7 @@ jobs:
- name: OpenAL Soft cache.
id: cache-openal
uses: actions/cache@v1
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/openal-soft
key: ${{ runner.OS }}-openal-soft-${{ env.CACHE_KEY }}
@@ -162,17 +206,18 @@ jobs:
cd openal-soft
git checkout fix_capture
cd build
cmake ^
cmake .. ^
-G "Visual Studio 16 2019" ^
-A Win32 ^
-D LIBTYPE:STRING=STATIC ^
-D FORCE_STATIC_VCRT:STRING=ON ..
-D FORCE_STATIC_VCRT=ON ^
-D ALSOFT_BACKEND_WASAPI=OFF
msbuild -m OpenAL.vcxproj /property:Configuration=Debug
- name: Breakpad cache.
id: cache-breakpad
uses: actions/cache@v1
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/breakpad
key: ${{ runner.OS }}-breakpad-${{ env.CACHE_KEY }}-${{ hashFiles('**/breakpad.diff') }}
@@ -185,16 +230,6 @@ jobs:
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%
@@ -221,11 +256,12 @@ jobs:
- name: Opus cache.
id: cache-opus
uses: actions/cache@v1
uses: actions/cache@v2
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%
@@ -239,10 +275,10 @@ jobs:
- name: FFmpeg cache.
id: cache-ffmpeg
uses: actions/cache@v1
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/ffmpeg
key: ${{ runner.OS }}-ffmpeg-${{ env.CACHE_KEY }}-${{ hashFiles('**/build_ffmpeg_win.sh') }}
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
@@ -257,13 +293,15 @@ jobs:
set MSYS2_PATH_TYPE=inherit
call c:\tools\msys64\usr\bin\bash --login ../../%REPO_NAME%/Telegram/Patches/build_ffmpeg_win.sh
- name: Qt 5.12.5 cache.
rmdir /S /Q .git
- name: Qt 5.12.8 cache.
id: cache-qt
uses: actions/cache@v1
uses: actions/cache@v2
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.
path: ${{ env.LibrariesPath }}/Qt-${{ env.QT_VER }}
key: ${{ runner.OS }}-qt-${{ env.CACHE_KEY }}-${{ hashFiles('**/qtbase_5_12_8/*') }}
- name: Configure Qt 5.12.8.
if: steps.cache-qt.outputs.cache-hit != 'true'
shell: cmd
run: |
@@ -272,18 +310,18 @@ jobs:
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 checkout v%QT_VER%
git submodule update qtbase
git submodule update qtimageformats
cd qtbase
git apply ../../patches/qtbase_%QT%.diff
for /r %%i in (..\..\patches\qtbase_%QT%\*) do git apply %%i
cd ..
SET SSL=%LibrariesPath%\openssl_1_1_1
SET SSL=%LibrariesPath%\openssl_%OPENSSL_VER%
SET LIBS=libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib
configure ^
-prefix "%LibrariesPath%\Qt-5.12.5" ^
-prefix "%LibrariesPath%\Qt-%QT_VER%" ^
-debug ^
-force-debug-info ^
-opensource ^
@@ -298,7 +336,7 @@ jobs:
-nomake examples ^
-nomake tests ^
-platform win32-msvc
- name: Build Qt 5.12.5.
- name: Qt 5.12.8 build.
if: steps.cache-qt.outputs.cache-hit != 'true'
shell: cmd
run: |
@@ -311,6 +349,57 @@ jobs:
cd ..
rmdir /S /Q qt_%QT%
- name: WebRTC cache.
id: cache-webrtc
uses: actions/cache@v2
with:
path: ${{ env.LibrariesPath }}/tg_owt
key: ${{ runner.OS }}-webrtc-${{ env.CACHE_KEY }}
- name: WebRTC.
if: steps.cache-webrtc.outputs.cache-hit != 'true'
shell: cmd
run: |
%VC%
:: Qt libjpeg.
mkdir qt_%QT%
cd qt_%QT%
git clone -b %QT_VER% https://github.com/qt/qtbase
move qtbase\src\3rdparty\libjpeg ..
cd ..
dir
rmdir /S /Q qt_%QT%
mkdir qt_%QT%\qtbase\src\3rdparty\
move libjpeg qt_%QT%\qtbase\src\3rdparty\
:: WebRTC.
cd %LibrariesPath%
git clone %GIT%/desktop-app/tg_owt.git
mkdir tg_owt\out\Debug
cd tg_owt\out\Debug
cmake -G Ninja ^
-DCMAKE_BUILD_TYPE=Debug ^
-DTG_OWT_SPECIAL_TARGET=win ^
-DTG_OWT_LIBJPEG_INCLUDE_PATH=%cd%/../../../qt_%QT%/qtbase/src/3rdparty/libjpeg ^
-DTG_OWT_OPENSSL_INCLUDE_PATH=%cd%/../../../openssl_%OPENSSL_VER%/include ^
-DTG_OWT_OPUS_INCLUDE_PATH=%cd%/../../../opus/include ^
-DTG_OWT_FFMPEG_INCLUDE_PATH=%cd%/../../../ffmpeg ^
../..
ninja
:: Cleanup.
cd %LibrariesPath%\tg_owt
move out\Debug\tg_owt.lib tg_owt.lib
rmdir /S /Q out
mkdir out\Debug
move tg_owt.lib out\Debug\tg_owt.lib
cd %LibrariesPath%
rmdir /S /Q qt_%QT%
- name: Read defines.
shell: bash
run: |
@@ -318,10 +407,14 @@ jobs:
if [ -n "${{ matrix.defines }}" ]; then
DEFINE="-D ${{ matrix.defines }}=ON"
echo Define from matrix: $DEFINE
echo ::set-env name=ARTIFACT_NAME::Telegram_${{ matrix.defines }}
else
echo ::set-env name=ARTIFACT_NAME::Telegram
fi
echo "::set-env name=TDESKTOP_BUILD_DEFINE::$DEFINE"
- name: Build Telegram Desktop.
- name: Telegram Desktop build.
if: env.ONLY_CACHE == 'false'
shell: cmd
run: |
cd %REPO_NAME%\Telegram
@@ -329,6 +422,7 @@ jobs:
call configure.bat ^
-D TDESKTOP_API_TEST=ON ^
-D DESKTOP_APP_USE_PACKAGED=OFF ^
-D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF ^
%TDESKTOP_BUILD_DEFINE% ^
-DCMAKE_SYSTEM_VERSION=%SDK%
@@ -338,14 +432,14 @@ jobs:
- name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true'
shell: cmd
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\
name: ${{ env.ARTIFACT_NAME }}
path: ${{ env.REPO_NAME }}\out\Debug\artifact\

42
.gitmodules vendored
View File

@@ -1,9 +1,6 @@
[submodule "Telegram/ThirdParty/libtgvoip"]
path = Telegram/ThirdParty/libtgvoip
url = https://github.com/telegramdesktop/libtgvoip
[submodule "Telegram/ThirdParty/variant"]
path = Telegram/ThirdParty/variant
url = https://github.com/mapbox/variant
[submodule "Telegram/ThirdParty/GSL"]
path = Telegram/ThirdParty/GSL
url = https://github.com/Microsoft/GSL.git
@@ -61,3 +58,42 @@
[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
[submodule "Telegram/ThirdParty/hunspell"]
path = Telegram/ThirdParty/hunspell
url = https://github.com/hunspell/hunspell
[submodule "Telegram/ThirdParty/materialdecoration"]
path = Telegram/ThirdParty/materialdecoration
url = https://github.com/desktop-app/materialdecoration.git
[submodule "Telegram/ThirdParty/range-v3"]
path = Telegram/ThirdParty/range-v3
url = https://github.com/ericniebler/range-v3.git
[submodule "Telegram/ThirdParty/fcitx-qt5"]
path = Telegram/ThirdParty/fcitx-qt5
url = https://github.com/fcitx/fcitx-qt5.git
[submodule "Telegram/ThirdParty/nimf"]
path = Telegram/ThirdParty/nimf
url = https://github.com/hamonikr/nimf.git
[submodule "Telegram/ThirdParty/hime"]
path = Telegram/ThirdParty/hime
url = https://github.com/hime-ime/hime.git
[submodule "Telegram/ThirdParty/qt5ct"]
path = Telegram/ThirdParty/qt5ct
url = https://github.com/desktop-app/qt5ct.git
[submodule "Telegram/ThirdParty/lxqt-qtplugin"]
path = Telegram/ThirdParty/lxqt-qtplugin
url = https://github.com/lxqt/lxqt-qtplugin.git
[submodule "Telegram/ThirdParty/libqtxdg"]
path = Telegram/ThirdParty/libqtxdg
url = https://github.com/lxqt/libqtxdg.git
[submodule "Telegram/ThirdParty/fcitx5-qt"]
path = Telegram/ThirdParty/fcitx5-qt
url = https://github.com/fcitx/fcitx5-qt.git
[submodule "Telegram/lib_webrtc"]
path = Telegram/lib_webrtc
url = https://github.com/desktop-app/lib_webrtc.git
[submodule "Telegram/ThirdParty/tgcalls"]
path = Telegram/ThirdParty/tgcalls
url = https://github.com/TelegramMessenger/tgcalls.git

View File

@@ -1,67 +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
- libenchant-dev
- libssl-dev
- libdee-dev
- libva-dev
- libvdpau-dev
- libxcb-xkb-dev
- libxkbcommon-dev
- libatspi2.0-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,725 +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.12.5
XKB_PATH="$BUILD/libxkbcommon"
XKB_CACHE_VERSION="3"
QT_PATH="$BUILD/qt"
QT_CACHE_VERSION="5"
QT_PATCH="$EXTERNAL/patches/qtbase_${QT_VERSION//\./_}.diff"
BREAKPAD_PATH="$BUILD/breakpad"
BREAKPAD_CACHE_VERSION="3"
GYP_PATH="$BUILD/gyp"
GYP_CACHE_VERSION="3"
GYP_PATCH="$EXTERNAL/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)
getPatches
# 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+=",DESKTOP_APP_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
}
getPatches() {
cd "$EXTERNAL"
git clone --depth 1 https://github.com/desktop-app/patches
}
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"
git checkout xkbcommon-0.8.4
./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 --branch 0.10.0 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}
git submodule update qtbase
git submodule update qtimageformats
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-harfbuzz -qt-pcre -qt-xcb \
-system-freetype -fontconfig -no-opengl -no-gtk -static \
-nomake examples -nomake tests -no-mirclient \
-dbus-runtime -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 9f2a7bb1
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 \
-Dspecial_build_target= \
-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_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"
}

View File

@@ -22,6 +22,9 @@ project(Telegram
)
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT Telegram)
get_filename_component(third_party_loc "Telegram/ThirdParty" REALPATH)
get_filename_component(submodules_loc "Telegram" REALPATH)
include(cmake/variables.cmake)
include(cmake/nice_target_sources.cmake)
include(cmake/target_link_static_libraries.cmake)
@@ -33,5 +36,9 @@ include(cmake/options.cmake)
include(cmake/external/qt/package.cmake)
set(desktop_app_skip_libs
variant
)
add_subdirectory(cmake)
add_subdirectory(Telegram)

View File

@@ -5,8 +5,7 @@ This is the complete source code and the build instructions for the alpha versio
[![Version](https://badge.fury.io/gh/telegramdesktop%2Ftdesktop.svg)](https://github.com/telegramdesktop/tdesktop/releases)
[![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://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/Linux./badge.svg)](https://github.com/telegramdesktop/tdesktop/actions)
[![Preview of Telegram Desktop][preview_image]][preview_image_url]
@@ -14,18 +13,28 @@ 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.15
* Mac OS X 10.6 - Mac OS X 10.7 (separate build)
* 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)
The latest version is available for
* [Windows 7 and above](https://telegram.org/dl/desktop/win) ([portable](https://telegram.org/dl/desktop/win_portable))
* [macOS 10.12 and above](https://telegram.org/dl/desktop/mac)
* [OS X 10.10 and 10.11](https://telegram.org/dl/desktop/osx)
* [Linux static build for 64 bit](https://telegram.org/dl/desktop/linux) ([32 bit](https://telegram.org/dl/desktop/linux32))
* [Snap](https://snapcraft.io/telegram-desktop)
* [Flatpak](https://flathub.org/apps/details/org.telegram.desktop)
## Old system versions
Version **1.8.15** was the last that supports older systems
* [Windows XP and Vista](https://updates.tdesktop.com/tsetup/tsetup.1.8.15.exe) ([portable](https://updates.tdesktop.com/tsetup/tportable.1.8.15.zip))
* [OS X 10.8 and 10.9](https://updates.tdesktop.com/tmac/tsetup.1.8.15.dmg)
* [OS X 10.6 and 10.7](https://updates.tdesktop.com/tmac32/tsetup32.1.8.15.dmg)
## Third-party
* 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))
* Qt 5.12.8, 5.6.2 and 5.3.2 slightly patched ([LGPL](http://doc.qt.io/qt-5/lgpl.html))
* OpenSSL 1.1.1 and 1.0.1 ([OpenSSL License](https://www.openssl.org/source/license.html))
* WebRTC ([New BSD License](https://github.com/desktop-app/tg_owt/blob/master/src/LICENSE))
* 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/))
@@ -37,20 +46,21 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
* Opus codec ([BSD License](http://www.opus-codec.org/license/))
* FFmpeg ([LGPL](https://www.ffmpeg.org/legal.html))
* Guideline Support Library ([MIT License](https://github.com/Microsoft/GSL/blob/master/LICENSE))
* Mapbox Variant ([BSD License](https://github.com/mapbox/variant/blob/master/LICENSE))
* Range-v3 ([Boost License](https://github.com/ericniebler/range-v3/blob/master/LICENSE.txt))
* Open Sans font ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html))
* Vazir font ([License](https://github.com/rastikerdar/vazir-font/blob/master/LICENSE))
* 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))
* Hunspell ([GPL](https://github.com/hunspell/hunspell/blob/master/COPYING))
## Build instructions
* [Visual Studio 2019][msvc]
* [Xcode 10][xcode]
* [GYP/CMake on GNU/Linux][cmake]
* [Xcode 11][xcode]
* [CMake on GNU/Linux][cmake]
[//]: # (LINKS)
[telegram]: https://telegram.org

View File

@@ -18,37 +18,41 @@ endif()
add_subdirectory(lib_storage)
add_subdirectory(lib_lottie)
add_subdirectory(lib_qr)
add_subdirectory(lib_webrtc)
add_subdirectory(codegen)
include(lib_ui/cmake/generate_styles.cmake)
include(cmake/generate_lang.cmake)
include(cmake/generate_numbers.cmake)
get_filename_component(src_loc SourceFiles REALPATH)
get_filename_component(res_loc Resources REALPATH)
include(cmake/telegram_options.cmake)
include(cmake/lib_export.cmake)
include(cmake/lib_ffmpeg.cmake)
include(cmake/lib_mtproto.cmake)
include(cmake/lib_scheme.cmake)
include(cmake/lib_tgvoip.cmake)
include(cmake/lib_tgcalls.cmake)
include(cmake/td_export.cmake)
include(cmake/td_mtproto.cmake)
include(cmake/td_lang.cmake)
include(cmake/td_scheme.cmake)
include(cmake/td_ui.cmake)
set(style_files
boxes/boxes.style
calls/calls.style
chat_helpers/chat_helpers.style
dialogs/dialogs.style
export/view/export.style
history/history.style
info/info.style
intro/intro.style
media/view/mediaview.style
media/view/media_view.style
media/player/media_player.style
overview/overview.style
passport/passport.style
profile/profile.style
settings/settings.style
chat_helpers/chat_helpers.style
ui/filter_icons.style
window/window.style
)
@@ -57,30 +61,25 @@ set(dependent_style_files
${submodules_loc}/lib_ui/ui/basic.style
${submodules_loc}/lib_ui/ui/layers/layers.style
${submodules_loc}/lib_ui/ui/widgets/widgets.style
${src_loc}/ui/td_common.style
)
generate_styles(Telegram ${src_loc} "${style_files}" "${dependent_style_files}")
generate_lang(Telegram ${res_loc}/langs/lang.strings)
generate_numbers(Telegram ${res_loc}/numbers.txt)
set_target_properties(Telegram PROPERTIES AUTOMOC ON AUTORCC ON)
if (DESKTOP_APP_USE_PACKAGED)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
find_package(Threads)
target_link_libraries(Telegram
PRIVATE
${CMAKE_DL_LIBS}
Threads::Threads
)
endif()
target_link_libraries(Telegram
PRIVATE
tdesktop::lib_mtproto
tdesktop::lib_scheme
tdesktop::lib_export
tdesktop::lib_tgcalls_legacy
tdesktop::lib_tgcalls
tdesktop::lib_tgvoip
tdesktop::td_export
tdesktop::td_mtproto
tdesktop::td_lang
tdesktop::td_scheme
tdesktop::td_ui
desktop-app::lib_webrtc
desktop-app::lib_base
desktop-app::lib_crl
desktop-app::lib_ui
@@ -92,17 +91,99 @@ PRIVATE
desktop-app::external_lz4
desktop-app::external_rlottie
desktop-app::external_zlib
desktop-app::external_minizip
desktop-app::external_qt
desktop-app::external_qr_code_generator
desktop-app::external_crash_reports
desktop-app::external_auto_updates
tdesktop::lib_tgvoip
desktop-app::external_openssl
desktop-app::external_openal
)
if (NOT DESKTOP_APP_USE_PACKAGED)
target_link_libraries(Telegram PRIVATE desktop-app::external_opus)
if (LINUX)
target_link_libraries(Telegram
PRIVATE
desktop-app::external_materialdecoration
desktop-app::external_nimf_qt5
desktop-app::external_qt5ct_support
)
if (NOT DESKTOP_APP_DISABLE_DBUS_INTEGRATION)
# conflicts with Qt static link
if (DESKTOP_APP_USE_PACKAGED_LAZY_PLATFORMTHEMES)
target_link_libraries(Telegram
PRIVATE
desktop-app::external_lxqt_qtplugin
)
endif()
target_link_libraries(Telegram
PRIVATE
desktop-app::external_statusnotifieritem
desktop-app::external_dbusmenu_qt
desktop-app::external_fcitx_qt5
desktop-app::external_fcitx5_qt5
desktop-app::external_hime_qt
)
endif()
if (DESKTOP_APP_USE_PACKAGED AND Qt5WaylandClient_VERSION VERSION_LESS 5.13.0)
find_package(PkgConfig REQUIRED)
pkg_check_modules(WAYLAND_CLIENT REQUIRED wayland-client)
target_include_directories(Telegram
PRIVATE
${WAYLAND_CLIENT_INCLUDE_DIRS}
)
endif()
if (DESKTOP_APP_USE_PACKAGED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(XCB_SCREENSAVER REQUIRED IMPORTED_TARGET xcb-screensaver)
pkg_check_modules(XCB REQUIRED IMPORTED_TARGET xcb)
target_link_libraries(Telegram
PRIVATE
PkgConfig::XCB_SCREENSAVER
PkgConfig::XCB
)
else()
target_link_static_libraries(Telegram PRIVATE xcb-screensaver)
target_link_libraries(Telegram PRIVATE xcb)
endif()
find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIB2 REQUIRED IMPORTED_TARGET glib-2.0)
pkg_check_modules(GOBJECT REQUIRED IMPORTED_TARGET gobject-2.0)
pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0)
target_link_libraries(Telegram
PRIVATE
PkgConfig::GLIB2
PkgConfig::GOBJECT
PkgConfig::GIO
)
target_compile_definitions(Telegram PRIVATE G_LOG_DOMAIN="Telegram")
if (NOT TDESKTOP_DISABLE_GTK_INTEGRATION)
find_package(PkgConfig REQUIRED)
if (DESKTOP_APP_USE_PACKAGED AND NOT DESKTOP_APP_USE_PACKAGED_LAZY)
pkg_check_modules(GTK3 REQUIRED IMPORTED_TARGET gtk+-3.0)
pkg_check_modules(X11 REQUIRED IMPORTED_TARGET x11)
target_link_libraries(Telegram
PRIVATE
PkgConfig::GTK3
PkgConfig::X11
)
else()
pkg_search_module(GTK REQUIRED gtk+-2.0 gtk+-3.0)
target_include_directories(Telegram PRIVATE ${GTK_INCLUDE_DIRS})
target_link_libraries(Telegram PRIVATE X11)
endif()
endif()
endif()
target_precompile_headers(Telegram PRIVATE ${src_loc}/stdafx.h)
@@ -110,10 +191,27 @@ nice_target_sources(Telegram ${src_loc}
PRIVATE
${style_files}
api/api_authorizations.cpp
api/api_authorizations.h
api/api_bot.cpp
api/api_bot.h
api/api_chat_filters.cpp
api/api_chat_filters.h
api/api_chat_invite.cpp
api/api_chat_invite.h
api/api_common.h
api/api_editing.cpp
api/api_editing.h
api/api_global_privacy.cpp
api/api_global_privacy.h
api/api_hash.cpp
api/api_hash.h
api/api_media.cpp
api/api_media.h
api/api_self_destruct.cpp
api/api_self_destruct.h
api/api_send_progress.cpp
api/api_send_progress.h
api/api_sending.cpp
api/api_sending.h
api/api_sensitive_content.cpp
@@ -122,6 +220,14 @@ PRIVATE
api/api_single_message_search.h
api/api_text_entities.cpp
api/api_text_entities.h
api/api_toggling_media.cpp
api/api_toggling_media.h
api/api_updates.cpp
api/api_updates.h
boxes/filters/edit_filter_box.cpp
boxes/filters/edit_filter_box.h
boxes/filters/edit_filter_chats_list.cpp
boxes/filters/edit_filter_chats_list.h
boxes/peers/add_participants_box.cpp
boxes/peers/add_participants_box.h
boxes/peers/edit_contact_box.cpp
@@ -166,6 +272,8 @@ PRIVATE
boxes/connection_box.h
boxes/create_poll_box.cpp
boxes/create_poll_box.h
boxes/dictionaries_manager.cpp
boxes/dictionaries_manager.h
boxes/download_path_box.cpp
boxes/download_path_box.h
boxes/edit_caption_box.cpp
@@ -220,8 +328,14 @@ PRIVATE
calls/calls_instance.h
calls/calls_panel.cpp
calls/calls_panel.h
calls/calls_signal_bars.cpp
calls/calls_signal_bars.h
calls/calls_top_bar.cpp
calls/calls_top_bar.h
calls/calls_userpic.cpp
calls/calls_userpic.h
calls/calls_video_bubble.cpp
calls/calls_video_bubble.h
chat_helpers/bot_keyboard.cpp
chat_helpers/bot_keyboard.h
chat_helpers/emoji_keywords.cpp
@@ -238,12 +352,20 @@ PRIVATE
chat_helpers/gifs_list_widget.h
chat_helpers/message_field.cpp
chat_helpers/message_field.h
chat_helpers/stickers.cpp
chat_helpers/stickers.h
chat_helpers/send_context_menu.cpp
chat_helpers/send_context_menu.h
chat_helpers/spellchecker_common.cpp
chat_helpers/spellchecker_common.h
chat_helpers/stickers_emoji_image_loader.cpp
chat_helpers/stickers_emoji_image_loader.h
chat_helpers/stickers_emoji_pack.cpp
chat_helpers/stickers_emoji_pack.h
chat_helpers/stickers_dice_pack.cpp
chat_helpers/stickers_dice_pack.h
chat_helpers/stickers_list_widget.cpp
chat_helpers/stickers_list_widget.h
chat_helpers/stickers_lottie.cpp
chat_helpers/stickers_lottie.h
chat_helpers/tabbed_panel.cpp
chat_helpers/tabbed_panel.h
chat_helpers/tabbed_section.cpp
@@ -272,7 +394,6 @@ PRIVATE
core/launcher.h
core/local_url_handlers.cpp
core/local_url_handlers.h
core/media_active_cache.h
core/mime_type.cpp
core/mime_type.h
core/sandbox.cpp
@@ -286,24 +407,34 @@ PRIVATE
core/utils.cpp
core/utils.h
core/version.h
data/stickers/data_stickers_set.cpp
data/stickers/data_stickers_set.h
data/stickers/data_stickers.cpp
data/stickers/data_stickers.h
data/data_abstract_structure.cpp
data/data_abstract_structure.h
data/data_auto_download.cpp
data/data_auto_download.h
data/data_chat.cpp
data/data_chat.h
data/data_chat_filters.cpp
data/data_chat_filters.h
data/data_changes.cpp
data/data_changes.h
data/data_channel.cpp
data/data_channel.h
data/data_channel_admins.cpp
data/data_channel_admins.h
data/data_cloud_file.cpp
data/data_cloud_file.h
data/data_cloud_themes.cpp
data/data_cloud_themes.h
data/data_countries.cpp
data/data_countries.h
data/data_document.cpp
data/data_document.h
data/data_document_good_thumbnail.cpp
data/data_document_good_thumbnail.h
data/data_document_media.cpp
data/data_document_media.h
data/data_drafts.cpp
data/data_drafts.h
data/data_folder.cpp
@@ -316,8 +447,12 @@ PRIVATE
data/data_game.h
data/data_groups.cpp
data/data_groups.h
data/data_histories.cpp
data/data_histories.h
data/data_location.cpp
data/data_location.h
data/data_media_rotation.cpp
data/data_media_rotation.h
data/data_media_types.cpp
data/data_media_types.h
data/data_messages.cpp
@@ -330,10 +465,16 @@ PRIVATE
data/data_peer_values.h
data/data_photo.cpp
data/data_photo.h
data/data_photo_media.cpp
data/data_photo_media.h
data/data_poll.cpp
data/data_poll.h
data/data_pts_waiter.cpp
data/data_pts_waiter.h
data/data_replies_list.cpp
data/data_replies_list.h
data/data_reply_preview.cpp
data/data_reply_preview.h
data/data_search_controller.cpp
data/data_search_controller.h
data/data_session.cpp
@@ -378,6 +519,8 @@ PRIVATE
dialogs/dialogs_search_from_controllers.h
dialogs/dialogs_widget.cpp
dialogs/dialogs_widget.h
export/export_manager.cpp
export/export_manager.h
export/view/export_view_content.cpp
export/view/export_view_content.h
export/view/export_view_panel_controller.cpp
@@ -402,6 +545,8 @@ PRIVATE
history/view/media/history_view_call.cpp
history/view/media/history_view_contact.h
history/view/media/history_view_contact.cpp
history/view/media/history_view_dice.h
history/view/media/history_view_dice.cpp
history/view/media/history_view_document.h
history/view/media/history_view_document.cpp
history/view/media/history_view_file.h
@@ -449,14 +594,20 @@ PRIVATE
history/view/history_view_message.cpp
history/view/history_view_message.h
history/view/history_view_object.h
history/view/history_view_replies_section.cpp
history/view/history_view_replies_section.h
history/view/history_view_schedule_box.cpp
history/view/history_view_schedule_box.h
history/view/history_view_scheduled_section.cpp
history/view/history_view_scheduled_section.h
history/view/history_view_send_action.cpp
history/view/history_view_send_action.h
history/view/history_view_service_message.cpp
history/view/history_view_service_message.h
history/view/history_view_top_bar_widget.cpp
history/view/history_view_top_bar_widget.h
history/view/history_view_webpage_preview.cpp
history/view/history_view_webpage_preview.h
history/history.cpp
history/history.h
history/history_drag_area.cpp
@@ -570,31 +721,22 @@ PRIVATE
intro/intro_widget.h
lang/lang_cloud_manager.cpp
lang/lang_cloud_manager.h
lang/lang_file_parser.cpp
lang/lang_file_parser.h
lang/lang_hardcoded.h
lang/lang_instance.cpp
lang/lang_instance.h
lang/lang_keys.cpp
lang/lang_keys.h
lang/lang_numbers_animation.cpp
lang/lang_numbers_animation.h
lang/lang_tag.cpp
lang/lang_tag.h
lang/lang_text_entity.cpp
lang/lang_text_entity.h
lang/lang_translator.cpp
lang/lang_translator.h
lang/lang_values.cpp
lang/lang_values.h
main/main_account.cpp
main/main_account.h
main/main_app_config.cpp
main/main_app_config.h
main/main_domain.cpp
main/main_domain.h
main/main_session.cpp
main/main_session.h
main/main_settings.cpp
main/main_settings.h
main/main_session_settings.cpp
main/main_session_settings.h
media/audio/media_audio.cpp
media/audio/media_audio.h
media/audio/media_audio_capture.cpp
@@ -609,6 +751,8 @@ PRIVATE
media/audio/media_audio_track.h
media/audio/media_child_ffmpeg_loader.cpp
media/audio/media_child_ffmpeg_loader.h
media/audio/media_openal_functions.cpp
media/audio/media_openal_functions.h
media/clip/media_clip_check_streaming.cpp
media/clip/media_clip_check_streaming.h
media/clip/media_clip_ffmpeg.cpp
@@ -653,14 +797,16 @@ PRIVATE
media/streaming/media_streaming_utility.h
media/streaming/media_streaming_video_track.cpp
media/streaming/media_streaming_video_track.h
media/view/media_view_playback_controls.cpp
media/view/media_view_playback_controls.h
media/view/media_view_playback_progress.cpp
media/view/media_view_playback_progress.h
media/view/media_view_group_thumbs.cpp
media/view/media_view_group_thumbs.h
media/view/media_view_overlay_widget.cpp
media/view/media_view_overlay_widget.h
media/view/media_view_pip.cpp
media/view/media_view_pip.h
media/view/media_view_playback_controls.cpp
media/view/media_view_playback_controls.h
media/view/media_view_playback_progress.cpp
media/view/media_view_playback_progress.h
mtproto/config_loader.cpp
mtproto/config_loader.h
mtproto/connection_abstract.cpp
@@ -672,8 +818,6 @@ PRIVATE
mtproto/connection_tcp.cpp
mtproto/connection_tcp.h
mtproto/core_types.h
mtproto/dc_options.cpp
mtproto/dc_options.h
mtproto/dedicated_file_loader.cpp
mtproto/dedicated_file_loader.h
mtproto/facade.cpp
@@ -690,6 +834,7 @@ PRIVATE
mtproto/type_utils.h
overview/overview_layout.cpp
overview/overview_layout.h
overview/overview_layout_delegate.h
passport/passport_encryption.cpp
passport/passport_encryption.h
passport/passport_form_controller.cpp
@@ -718,6 +863,8 @@ PRIVATE
platform/linux/linux_gdk_helper.h
platform/linux/linux_libs.cpp
platform/linux/linux_libs.h
platform/linux/linux_xlib_helper.cpp
platform/linux/linux_xlib_helper.h
platform/linux/file_utilities_linux.cpp
platform/linux/file_utilities_linux.h
platform/linux/launcher_linux.cpp
@@ -728,11 +875,11 @@ PRIVATE
platform/linux/notifications_manager_linux.h
platform/linux/specific_linux.cpp
platform/linux/specific_linux.h
platform/linux/window_title_linux.h
platform/mac/file_utilities_mac.mm
platform/mac/file_utilities_mac.h
platform/mac/launcher_mac.mm
platform/mac/launcher_mac.h
platform/mac/mac_iconv_helper.c
platform/mac/main_window_mac.mm
platform/mac/main_window_mac.h
platform/mac/notifications_manager_mac.mm
@@ -743,8 +890,24 @@ PRIVATE
platform/mac/specific_mac_p.h
platform/mac/window_title_mac.mm
platform/mac/window_title_mac.h
platform/mac/mac_touchbar.h
platform/mac/mac_touchbar.mm
platform/mac/touchbar/items/mac_formatter_item.h
platform/mac/touchbar/items/mac_formatter_item.mm
platform/mac/touchbar/items/mac_pinned_chats_item.h
platform/mac/touchbar/items/mac_pinned_chats_item.mm
platform/mac/touchbar/items/mac_scrubber_item.h
platform/mac/touchbar/items/mac_scrubber_item.mm
platform/mac/touchbar/mac_touchbar_audio.h
platform/mac/touchbar/mac_touchbar_audio.mm
platform/mac/touchbar/mac_touchbar_common.h
platform/mac/touchbar/mac_touchbar_common.mm
platform/mac/touchbar/mac_touchbar_controls.h
platform/mac/touchbar/mac_touchbar_controls.mm
platform/mac/touchbar/mac_touchbar_main.h
platform/mac/touchbar/mac_touchbar_main.mm
platform/mac/touchbar/mac_touchbar_manager.h
platform/mac/touchbar/mac_touchbar_manager.mm
platform/mac/touchbar/mac_touchbar_media_view.h
platform/mac/touchbar/mac_touchbar_media_view.mm
platform/win/audio_win.cpp
platform/win/audio_win.h
platform/win/file_utilities_win.cpp
@@ -793,6 +956,8 @@ PRIVATE
settings/settings_codes.h
settings/settings_common.cpp
settings/settings_common.h
settings/settings_folders.cpp
settings/settings_folders.h
settings/settings_information.cpp
settings/settings_information.h
settings/settings_intro.cpp
@@ -805,6 +970,10 @@ PRIVATE
settings/settings_privacy_controllers.h
settings/settings_privacy_security.cpp
settings/settings_privacy_security.h
storage/details/storage_file_utilities.cpp
storage/details/storage_file_utilities.h
storage/details/storage_settings_scheme.cpp
storage/details/storage_settings_scheme.h
storage/download_manager_mtproto.cpp
storage/download_manager_mtproto.h
storage/file_download.cpp
@@ -823,6 +992,14 @@ PRIVATE
storage/serialize_common.h
storage/serialize_document.cpp
storage/serialize_document.h
storage/serialize_peer.cpp
storage/serialize_peer.h
storage/storage_account.cpp
storage/storage_account.h
storage/storage_cloud_blob.cpp
storage/storage_cloud_blob.h
storage/storage_domain.cpp
storage/storage_domain.h
storage/storage_facade.cpp
storage/storage_facade.h
# storage/storage_feed_messages.cpp
@@ -845,6 +1022,8 @@ PRIVATE
support/support_helper.h
support/support_templates.cpp
support/support_templates.h
ui/effects/fireworks_animation.cpp
ui/effects/fireworks_animation.h
ui/effects/round_checkbox.cpp
ui/effects/round_checkbox.h
ui/effects/send_action_animations.cpp
@@ -853,8 +1032,8 @@ PRIVATE
ui/image/image.h
ui/image/image_location.cpp
ui/image/image_location.h
ui/image/image_source.cpp
ui/image/image_source.h
ui/image/image_location_factory.cpp
ui/image/image_location_factory.h
ui/widgets/continuous_sliders.cpp
ui/widgets/continuous_sliders.h
ui/widgets/discrete_sliders.cpp
@@ -869,6 +1048,10 @@ PRIVATE
ui/countryinput.h
ui/empty_userpic.cpp
ui/empty_userpic.h
ui/filter_icons.cpp
ui/filter_icons.h
ui/filter_icon_panel.cpp
ui/filter_icon_panel.h
ui/grouped_layout.cpp
ui/grouped_layout.h
ui/resize_area.h
@@ -897,6 +1080,9 @@ PRIVATE
window/window_connecting_widget.h
window/window_controller.cpp
window/window_controller.h
window/window_controls_layout.h
window/window_filters_menu.cpp
window/window_filters_menu.h
window/window_history_hider.cpp
window/window_history_hider.h
window/window_lock_widgets.cpp
@@ -913,6 +1099,8 @@ PRIVATE
window/window_session_controller.h
window/window_slide_animation.cpp
window/window_slide_animation.h
window/window_title_qt.cpp
window/window_title_qt.h
window/window_title.h
window/window_top_bar_wrap.h
window/themes/window_theme.cpp
@@ -949,16 +1137,21 @@ PRIVATE
mainwidget.h
mainwindow.cpp
mainwindow.h
observer_peer.cpp
observer_peer.h
qt_static_plugins.cpp
settings.cpp
settings.h
stdafx.h
)
if (DESKTOP_APP_USE_PACKAGED)
nice_target_sources(Telegram ${src_loc} PRIVATE qt_functions.cpp)
else()
nice_target_sources(Telegram ${src_loc} PRIVATE qt_static_plugins.cpp)
if (NOT LINUX)
remove_target_sources(Telegram ${src_loc}
window/window_title_qt.cpp
window/window_title_qt.h
)
endif()
if (NOT DESKTOP_APP_USE_PACKAGED)
nice_target_sources(Telegram ${src_loc} PRIVATE platform/mac/mac_iconv_helper.c)
endif()
nice_target_sources(Telegram ${res_loc}
@@ -968,12 +1161,15 @@ PRIVATE
qrc/emoji_3.qrc
qrc/emoji_4.qrc
qrc/emoji_5.qrc
qrc/emoji_6.qrc
qrc/emoji_7.qrc
qrc/emoji_preview.qrc
qrc/telegram/telegram.qrc
qrc/telegram/sounds.qrc
winrc/Telegram.rc
winrc/Telegram.manifest
langs/lang.strings
langs/cloud_lang.strings
numbers.txt
)
@@ -991,11 +1187,11 @@ if (WIN32)
# $<IF:${release},"Appending compatibility manifest.","Finalizing build.">
# )
elseif (APPLE)
target_link_libraries(Telegram
PRIVATE
desktop-app::external_sp_media_key_tap
desktop-app::external_iconv
)
target_link_libraries(Telegram PRIVATE desktop-app::external_sp_media_key_tap)
if (NOT DESKTOP_APP_USE_PACKAGED)
target_link_libraries(Telegram PRIVATE desktop-app::external_iconv)
endif()
set(icons_path ${CMAKE_CURRENT_SOURCE_DIR}/Telegram/Images.xcassets)
set_target_properties(Telegram PROPERTIES RESOURCE ${icons_path})
@@ -1034,47 +1230,12 @@ elseif (APPLE)
)
endif()
endif()
elseif (LINUX)
if (NOT TDESKTOP_DISABLE_GTK_INTEGRATION)
find_package(PkgConfig REQUIRED)
pkg_search_module(GTK REQUIRED gtk+-2.0 gtk+-3.0)
target_include_directories(Telegram PRIVATE ${GTK_INCLUDE_DIRS})
target_compile_options(Telegram PRIVATE -Wno-register)
if (DESKTOP_APP_USE_PACKAGED)
find_library(X11_LIBRARY X11)
target_link_libraries(Telegram PRIVATE ${X11_LIBRARY})
endif()
set(appindicator_packages
ayatana-appindicator3-0.1
ayatana-appindicator-0.1
appindicator3-0.1
appindicator-0.1
)
set(appindicator_found 0)
foreach (package ${appindicator_packages})
pkg_check_modules(APPIND_${package} ${package})
if (APPIND_${package}_FOUND)
set(appindicator_found 1)
target_include_directories(Telegram PRIVATE "${APPIND_${package}_INCLUDE_DIRS}")
if (${package} MATCHES "ayatana")
target_compile_definitions(Telegram PRIVATE TDESKTOP_USE_AYATANA_INDICATORS)
endif()
break()
endif()
endforeach()
if (NOT ${appindicator_found})
message(FATAL_ERROR "No libappindicator found by pkg-config.")
endif()
endif()
endif()
if (build_macstore)
set(bundle_identifier "org.telegram.desktop")
set(bundle_entitlements "Telegram Desktop.entitlements")
set(output_name "Telegram Desktop")
set(bundle_entitlements "Telegram Lite.entitlements")
set(output_name "Telegram Lite")
set_target_properties(Telegram PROPERTIES
XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS ${libs_loc}/breakpad/src/client/mac/build/Release
)
@@ -1118,29 +1279,20 @@ set_target_properties(Telegram PROPERTIES
)
set(entitlement_sources
"${CMAKE_CURRENT_SOURCE_DIR}/Telegram/Telegram.entitlements"
"${CMAKE_CURRENT_SOURCE_DIR}/Telegram/Telegram Desktop.entitlements"
"${CMAKE_CURRENT_SOURCE_DIR}/Telegram/Telegram Lite.entitlements"
)
target_sources(Telegram PRIVATE ${entitlement_sources})
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/Telegram PREFIX Resources FILES ${entitlement_sources})
target_include_directories(Telegram PRIVATE ${src_loc})
if (NOT DESKTOP_APP_USE_PACKAGED)
target_include_directories(Telegram PRIVATE ${third_party_loc}/minizip)
endif()
target_compile_definitions(Telegram
PRIVATE
TDESKTOP_API_ID=${TDESKTOP_API_ID}
TDESKTOP_API_HASH=${TDESKTOP_API_HASH}
AL_ALEXT_PROTOTYPES
)
if (NOT DESKTOP_APP_USE_PACKAGED)
target_compile_definitions(Telegram PRIVATE AL_LIBTYPE_STATIC)
endif()
if (${CMAKE_GENERATOR} MATCHES "(Visual Studio|Xcode)")
if (APPLE OR NOT CMAKE_EXECUTABLE_SUFFIX STREQUAL "" OR NOT "${output_name}" STREQUAL "Telegram")
set(output_folder ${CMAKE_BINARY_DIR})
elseif (DESKTOP_APP_SPECIAL_TARGET STREQUAL "")
set(output_folder ${CMAKE_BINARY_DIR}/bin)
@@ -1150,7 +1302,7 @@ endif()
set_target_properties(Telegram PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${output_folder})
if ((NOT disable_autoupdate OR NOT LINUX) AND NOT build_macstore AND NOT build_winstore)
if ((NOT DESKTOP_APP_DISABLE_AUTOUPDATE OR APPLE) AND NOT build_macstore AND NOT build_winstore)
add_executable(Updater WIN32)
init_target(Updater)
@@ -1166,8 +1318,12 @@ if ((NOT disable_autoupdate OR NOT LINUX) AND NOT build_macstore AND NOT build_w
set_target_properties(Updater PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${output_folder})
if (WIN32 AND NOT CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
target_link_options(Updater PRIVATE -municode)
endif()
if (LINUX)
target_link_options(Updater INTERFACE -static-libstdc++)
target_link_options(Updater PRIVATE -static-libstdc++)
endif()
if (DESKTOP_APP_SPECIAL_TARGET)
@@ -1196,6 +1352,7 @@ endif()
if (LINUX AND DESKTOP_APP_USE_PACKAGED)
include(GNUInstallDirs)
configure_file("../lib/xdg/telegramdesktop.appdata.xml.in" "${CMAKE_CURRENT_BINARY_DIR}/telegramdesktop.appdata.xml" @ONLY)
install(TARGETS Telegram RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}")
install(FILES "Resources/art/icon16.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps" RENAME "telegram.png")
install(FILES "Resources/art/icon32.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps" RENAME "telegram.png")
@@ -1205,5 +1362,5 @@ if (LINUX AND DESKTOP_APP_USE_PACKAGED)
install(FILES "Resources/art/icon256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "telegram.png")
install(FILES "Resources/art/icon512.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps" RENAME "telegram.png")
install(FILES "../lib/xdg/telegramdesktop.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications" RENAME "${TDESKTOP_LAUNCHER_BASENAME}.desktop")
install(FILES "../lib/xdg/telegramdesktop.appdata.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo" RENAME "${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/telegramdesktop.appdata.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo" RENAME "${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml")
endif()

View File

@@ -13,6 +13,8 @@ pacman --noconfirm -S pkg-config
PKG_CONFIG_PATH="/mingw64/lib/pkgconfig:$PKG_CONFIG_PATH"
./configure --toolchain=msvc \
--extra-cflags="-DCONFIG_SAFE_BITSTREAM_READER=1" \
--extra-cxxflags="-DCONFIG_SAFE_BITSTREAM_READER=1" \
--extra-ldflags="-libpath:$FullExecPath/../opus/win32/VS2015/Win32/Release" \
--disable-programs \
--disable-doc \

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 894 KiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 862 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 456 B

After

Width:  |  Height:  |  Size: 595 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 727 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 426 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 912 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 405 B

After

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 736 B

After

Width:  |  Height:  |  Size: 970 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 886 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 412 B

After

Width:  |  Height:  |  Size: 489 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 800 B

After

Width:  |  Height:  |  Size: 1002 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 945 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 459 B

After

Width:  |  Height:  |  Size: 744 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 843 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 820 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 889 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 545 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 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.

After

Width:  |  Height:  |  Size: 545 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 846 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 B

After

Width:  |  Height:  |  Size: 128 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

After

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 B

After

Width:  |  Height:  |  Size: 350 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 763 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 330 B

After

Width:  |  Height:  |  Size: 414 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 661 B

After

Width:  |  Height:  |  Size: 764 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 696 B

After

Width:  |  Height:  |  Size: 1.1 KiB

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