Compare commits

...

753 Commits

Author SHA1 Message Date
John Preston
f09b91ebb5 Beta version 2.8.5: Fix build on non-Windows. 2021-07-02 04:45:58 +03:00
John Preston
57b147e0c8 Beta version 2.8.5.
- Use ANGLE for OpenGL over DirectX 9 / DirectX 11 (Windows).
- Use GTK from a child process (Linux).
2021-07-02 00:59:51 +03:00
Ilya Fedin
551ea7d879 Move GTK integration out of process with D-Bus 2021-07-02 00:59:36 +03:00
John Preston
d3c9bb0bc6 Try disabling native child OpenGL workaround. 2021-07-02 00:37:27 +03:00
John Preston
c711b1f1df Fix build on non-Linux systems. 2021-07-02 00:27:25 +03:00
23rd
af7ea90246 Added floating panel of playing playlist for scheduled audio files. 2021-07-01 23:53:45 +03:00
23rd
348cf4829c Added ability to scroll media in section of scheduled messages.
Fixed #8388.
2021-07-01 23:53:45 +03:00
23rd
4753a57091 Added ability to validate playlists in section of scheduled messages. 2021-07-01 23:53:45 +03:00
23rd
1a93f4fa4c Added ability to sparse id slices of scheduled media. 2021-07-01 23:53:45 +03:00
23rd
118fd187e3 Added abstract class for sparse ids slices. 2021-07-01 23:53:45 +03:00
23rd
baa47bde7f Removed unused MsgRange from SparseIdsSlice. 2021-07-01 23:53:45 +03:00
John Preston
18b48df9ce Allow to choose ANGLE backend. 2021-07-01 23:48:18 +03:00
John Preston
e71fc60d22 Use exact revision of ANGLE. 2021-07-01 23:48:16 +03:00
John Preston
148af59615 Don't check dll-s if "SetDefaultDllDirectories" is available. 2021-07-01 23:47:12 +03:00
John Preston
5b2db4112f Don't allow any .dll-s near Telegram.exe 2021-07-01 23:47:12 +03:00
John Preston
7cedc1f7a5 Add dynamic DirectX loading helper. 2021-07-01 23:47:08 +03:00
John Preston
6cea7d4a52 Fix YUV->RGB on D3D9 ANGLE backend. 2021-07-01 23:46:52 +03:00
John Preston
bd93aed393 Test build with statically linked ANGLE. 2021-07-01 23:46:52 +03:00
John Preston
348666de6d Use media viewer size hack only when required. 2021-07-01 23:46:52 +03:00
Ilya Fedin
47e32bebe4 Remove not really needed gtk scale factor query 2021-07-01 22:13:50 +03:00
Ilya Fedin
0b21c04489 Remove the copy of gtk file dialog 2021-07-01 22:13:50 +03:00
Ilya Fedin
85f013ebdb Revert "Avoid removing portal platformtheme plugin in snap"
This reverts commit 12db51fe75.
2021-07-01 22:13:50 +03:00
Ilya Fedin
832cc6ac69 Build Qt with gtk integration 2021-07-01 22:13:50 +03:00
Ilya Fedin
30ce049f51 Update submodules 2021-07-01 22:13:20 +03:00
Ilya Fedin
d42fb6d1b9 Switch from mallocng to jemalloc
Now it's known how to make it free the memory in an expected manner and it's better maintained
2021-07-01 22:13:20 +03:00
John Preston
cade53aa0a Version 2.8.4.
- Crash fixes in WebView on Windows.
2021-07-01 11:05:21 +03:00
GitHub Action
2fdcda7536 Update User-Agent for DNS to Chrome 91.0.4472.114. 2021-07-01 10:48:17 +03:00
Ilya Fedin
7e6439e4f8 Fix counting screen bottom point when restoring geometry 2021-06-30 00:27:39 +03:00
Ilya Fedin
f07ee7f590 Update lib_base and cmake_helpers 2021-06-29 17:35:39 +03:00
Ilya Fedin
02db4e01fa Get rid of qt5ct 2021-06-29 17:35:39 +03:00
Ilya Fedin
8d75078a42 Use Glib::MainLoop instead of QEventLoop in glib code 2021-06-29 15:10:08 +03:00
John Preston
0e25ef7524 Handle WinRT exceptions in WebView. 2021-06-29 14:08:50 +03:00
John Preston
8608d8aa4d Crash Fix: Destroy WebView before the container. 2021-06-29 11:07:47 +03:00
sammiee5311
c1a7332a5e Shorten if statement
Shorten if statement
2021-06-29 10:38:35 +03:00
Ilya Fedin
c3fb392906 Clean dbus-specific code in main_window_linux.h 2021-06-29 10:30:48 +03:00
Ilya Fedin
a59bfdb2f8 Fix handleNativeSurfaceChanged when dbus integration is disabled 2021-06-29 10:30:48 +03:00
Ilya Fedin
79f96480c2 Use QMenuBar instead of own global menu implementation on Linux 2021-06-29 10:30:48 +03:00
John Preston
60cbd96d91 Version 2.8.3.
- Fix crashes in OpenSSL on macOS.
2021-06-28 13:51:06 +03:00
John Preston
ee0400f1ac Version 2.8.2.
- Attempt to fix random crashes on macOS.

Fixes #16504.
2021-06-28 08:57:40 +03:00
John Preston
b8a3746558 Version 2.8.1: Fix NuGet WinRT header generation. 2021-06-26 13:26:39 +03:00
John Preston
14f25fc997 Version 2.8.1.
- Fix crash in audio player volume slider.
2021-06-26 13:03:40 +03:00
John Preston
27da6ee9eb Update patches revision in instructions. 2021-06-26 13:00:16 +03:00
John Preston
48d482006a Fix crash fix. 2021-06-26 12:33:18 +03:00
John Preston
9afee2620a Fix crash in vertical sliders.
Regression was introduced in 90ff8ecd0f.
2021-06-26 08:20:37 +03:00
John Preston
baca3047d4 Version 2.8: Fix build on Windows x64. 2021-06-24 18:39:41 +04:00
John Preston
43a5265e0c Version 2.8.
- Start video conferences from Voice Chats in any group.
- Share your screen or video from your camera
with up to 30 participants (limit to be increased soon).
- Talk without video with an unlimited number of participants.
- Create voice chats from the info page
of any group where you are an admin.
- Group video calls are supported natively on all devices,
including iPads and laptops.
2021-06-24 17:57:09 +04:00
John Preston
5519bb3523 Allow reporting private groups as well.
Fixes #7451.
2021-06-24 17:44:55 +04:00
John Preston
ff213d1386 Enable /LARGEADDRESSAWARE for 32 bit Windows build. 2021-06-24 17:44:55 +04:00
John Preston
55b3f99653 Fix new formatting mixing with emoji. 2021-06-24 17:44:55 +04:00
John Preston
8a6ff3f414 Add separator above volume control in voice chats. 2021-06-24 17:44:55 +04:00
John Preston
feb8624d05 Don't use private Hunspell headers. 2021-06-24 17:44:55 +04:00
John Preston
a2c33545d4 Improve some paddings. 2021-06-24 17:44:28 +04:00
23rd
7decf68122 Fixed possible crash in OverlayWidget when video continues from PiP. 2021-06-24 17:44:28 +04:00
John Preston
6b62ec97c6 Fix possible crash in export panel management. 2021-06-24 11:57:27 +04:00
Ilya Fedin
ea3dab4a06 Update lib_base 2021-06-24 11:26:24 +04:00
Ilya Fedin
5c8f08fc92 Move preview support from QGtkDialog to GtkFileDialog 2021-06-24 11:26:24 +04:00
Ilya Fedin
00a0b2c8b6 Get rid of GTK cast templates 2021-06-24 11:26:24 +04:00
Ilya Fedin
007218cc13 Use C++ wrappers in GtkOpenWithDialog 2021-06-24 11:26:24 +04:00
Ilya Fedin
8afe495a4f Avoid using g_unix_fd_list_new_from_array 2021-06-24 11:26:24 +04:00
Ilya Fedin
257f2086d1 Get rid of gtk2 header compatibility 2021-06-24 11:26:24 +04:00
Ilya Fedin
f011c84ce8 Make Linux file dialog API better 2021-06-24 11:26:24 +04:00
Ilya Fedin
8b839f46b2 Fix crash report window scale 2021-06-24 11:26:08 +04:00
23rd
c1067d8fe1 Fixed possible crash in notifications manager. 2021-06-24 11:25:36 +04:00
23rd
bb76818cc8 Split adaptive changed rpl::producer into two. 2021-06-24 11:25:35 +04:00
John Preston
5dcc219f1c For large video tile always request full quality. 2021-06-24 10:57:23 +04:00
John Preston
4ff9e90153 Add some assertions and logging for a crash debugging. 2021-06-24 10:49:01 +04:00
John Preston
28fe98af80 Add some assertions for a strange crash debugging. 2021-06-24 10:24:52 +04:00
John Preston
5eba65aaa0 Remove unused legacy protocol code. 2021-06-24 09:55:57 +04:00
John Preston
d1e3e7d240 Don't show pinned tooltips if only one video. 2021-06-23 20:14:49 +04:00
John Preston
90ff8ecd0f Fix volume slider in voice chats. 2021-06-23 20:14:22 +04:00
John Preston
468e75a572 Update submodules. 2021-06-23 20:13:19 +04:00
John Preston
ae3e5487d7 Fix editing messages with monospace parts. 2021-06-23 15:55:29 +04:00
John Preston
03147a5426 Fix possible crash in case of API error. 2021-06-23 14:29:38 +04:00
John Preston
14a2b10989 Show error if camera could not be enabled. 2021-06-23 12:04:05 +04:00
John Preston
b29f8aa1e6 Remove background over highlight in volume change item. 2021-06-23 11:07:23 +04:00
John Preston
f9bb932cd8 Fix voice chat window expanding near the screen edges. 2021-06-23 10:52:04 +04:00
John Preston
a38cbbf7e8 Fix disappearing icons after popup menu display. 2021-06-23 10:43:51 +04:00
John Preston
d5bb1717e0 Beta version 2.7.10: Fix link on macOS. 2021-06-22 23:07:33 +04:00
John Preston
520ff8f2ce Beta version 2.7.10: Fix build with Xcode. 2021-06-22 21:25:03 +04:00
John Preston
b3848f6a84 Beta version 2.7.10: Fix screencasts. 2021-06-22 21:23:01 +04:00
John Preston
518f387e0c Beta version 2.7.10: Update version. 2021-06-22 20:00:35 +04:00
John Preston
635f76a312 Beta version 2.7.10.
- Added ability to mix together bold, italic and other formatting.
- Fix voice chats and video calls OpenGL with some drivers on Windows.
- Several bug fixes.
2021-06-22 19:59:22 +04:00
John Preston
ff14ac68ee Always show tooltip about the muted microphone. 2021-06-22 19:50:26 +04:00
John Preston
948c5d50cb Add C++/WinRT library helper to lib_base. 2021-06-22 19:47:02 +04:00
John Preston
6b520ecc05 Add overlapping markup support. 2021-06-22 19:05:27 +04:00
John Preston
bb474686eb Use NuGet package for WinRT headers generation. 2021-06-22 09:53:20 +04:00
John Preston
659ddae9a8 Use native child window in video calls on Windows. 2021-06-21 11:29:29 +04:00
John Preston
b70276912e Use native child window in group calls on Windows. 2021-06-21 09:23:10 +04:00
23rd
858c575782 Fixed Hunspell license. 2021-06-21 09:23:10 +04:00
23rd
62fe14d592 Fixed lock icon display when switching layers in one column mode. 2021-06-21 09:23:10 +04:00
Ilya Fedin
6ad037e556 Update lib_waylandshells and cmake_helpers 2021-06-20 10:39:42 +04:00
Ilya Fedin
a55b41faa1 Provide a list of shell integrations in QT_WAYLAND_SHELL_INTEGRATION 2021-06-20 10:39:42 +04:00
Ilya Fedin
a26d769304 Set QT_WAYLAND_SHELL_INTEGRATION to custom value 2021-06-19 08:16:38 +04:00
John Preston
e1120d1cb5 Optimize out most of LastUserInputTime() calls.
Fixes #16118.
2021-06-18 19:22:36 +04:00
John Preston
8897f9e46a Limit requested qualities to 4 Full / 16 Medium. 2021-06-18 18:43:13 +04:00
John Preston
7a588be54f Add a hint to unmute your microphone. 2021-06-18 17:47:07 +04:00
John Preston
1cb1f1cbc1 Add a hint to turn on the camera. 2021-06-18 16:11:32 +04:00
John Preston
5827d6ffdb Update lib_ui submodule. 2021-06-18 12:15:01 +04:00
Ilya Fedin
766bc90921 Adapt for Ui::DisableCustomScaling changes 2021-06-18 12:15:01 +04:00
23rd
eb228eb744 Removed unused methods from file click handler. 2021-06-18 09:48:39 +03:00
23rd
7c02d67665 Moved cancelUploadLayer from MainWidget to SessionController. 2021-06-18 09:39:10 +03:00
23rd
23c54896e5 Removed App::main() from file click handlers. 2021-06-18 09:20:49 +03:00
23rd
460baa54d8 Fixed switching between PiP and OverlayWidget. 2021-06-18 07:30:54 +03:00
23rd
6c56fad180 Fixed updating of parent id for file click handlers.
Fixed #16447.
2021-06-18 07:30:54 +03:00
23rd
3fd772ce17 Moved file click handlers to separated file. 2021-06-18 07:30:54 +03:00
John Preston
8834ec8bf2 Disable audio device tracking on macOS. 2021-06-17 17:15:13 +04:00
John Preston
003fb52fb9 Make 100% volume value more sticky. 2021-06-17 16:42:50 +04:00
John Preston
ec234cdc43 Improve volume slider design in group calls. 2021-06-17 16:22:51 +04:00
John Preston
55e494f55a Beta version 2.7.9.
- Added "Enable noise suppression" option to group calls Settings.
- Fix media viewer with Retina + Non-Retina dual monitor setup on macOS.
- Several bug and crash fixes.
2021-06-17 12:11:08 +04:00
John Preston
0b4605a656 Don't pass Quality::Medium for screencast to tgcalls. 2021-06-17 12:03:26 +04:00
John Preston
18a86e500b Update tgcalls and tg_owt. 2021-06-17 11:55:10 +04:00
John Preston
e19af1257c Improve video in voice chats controls layout. 2021-06-17 11:52:53 +04:00
John Preston
e0159e15b2 Close StickerSetBox on error. 2021-06-17 11:06:17 +04:00
23rd
b6e77537e2 Fixed logo size in box of invite link QR code generation. 2021-06-17 10:57:46 +04:00
23rd
beaa4190eb Removed Q_OBJECT from GroupMembersWidget.
Removed unused onlineCountUpdated since d93c1ccbaa.
2021-06-17 10:57:46 +04:00
23rd
7924979dfb Removed Ui::showPeerHistoryAtItem from facades. 2021-06-17 10:57:46 +04:00
23rd
570ed5691d Added Window::Controller pointer to data of intro widget. 2021-06-17 10:57:45 +04:00
23rd
c25779b844 Removed showDocument and showPhoto from Media::View::OverlayWidget. 2021-06-17 10:57:45 +04:00
23rd
7304f2b695 Removed Application::showTheme. 2021-06-17 10:57:45 +04:00
23rd
b4bff939b1 Removed showDocument and showPhoto from Application. 2021-06-17 10:57:45 +04:00
23rd
1f816c249b Replaced DocumentOpenClickHandler. 2021-06-17 10:57:45 +04:00
23rd
8591d58798 Added ability to show content from Controller for Shared Media. 2021-06-17 10:57:45 +04:00
23rd
9290cd3a16 Added SessionController pointer to Media::View::OverlayWidget. 2021-06-17 10:57:45 +04:00
23rd
dc0aaec4a4 Added ability to show document from Controller for sections. 2021-06-17 10:57:45 +04:00
23rd
eefa7263b5 Added ability to show photo from Controller for sections. 2021-06-17 10:57:45 +04:00
23rd
7885be4a94 Added ability to show content from Controller for inline results. 2021-06-17 10:57:45 +04:00
23rd
583c3d3429 Moved static functions from DocumentData to separated file. 2021-06-17 10:57:45 +04:00
23rd
6d0d399250 Added initial ability to show documents in OverlayWidget from Controller. 2021-06-17 10:57:45 +04:00
23rd
0e89c93993 Added initial ability to show content in OverlayWidget from Controller. 2021-06-17 10:57:45 +04:00
23rd
b422ec025e Removed Ui::show from classes that have pointer to Controller. 2021-06-17 10:57:45 +04:00
John Preston
c8535acad8 Fix crash in hunspell initialization. 2021-06-17 10:11:08 +04:00
John Preston
e2a97e2ae9 Fix possible crash in media viewer. 2021-06-17 10:09:22 +04:00
John Preston
77a019325d Show information about unsupported gradient backgrounds. 2021-06-16 11:30:33 +04:00
23rd
115dc460ac Removed unused variables from LastCrashedWindow. 2021-06-16 09:31:32 +03:00
23rd
3df1a73cf5 Removed Q_OBJECT from LastCrashedWindow. 2021-06-16 09:31:32 +03:00
23rd
5cf69366d1 Removed Q_OBJECT from NetworkSettingsWindow. 2021-06-16 09:31:32 +03:00
23rd
8c2b1168af Fixed background color of input fields in crash reports with dark theme. 2021-06-16 09:31:32 +03:00
23rd
a425024f21 Fixed userpic updating of pinned peers in touchbar. 2021-06-16 09:31:32 +03:00
23rd
e85026ec46 Removed observable in Intro::details::Step. 2021-06-16 09:31:32 +03:00
23rd
1c6e2eae04 Removed unused enum from local legacy storage settings scheme. 2021-06-16 09:31:32 +03:00
23rd
4db5624beb Completely removed Global namespace. 2021-06-16 09:31:32 +03:00
23rd
6d08542afa Moved proxy global variables from facades to core settings. 2021-06-16 09:31:32 +03:00
23rd
707b36dc12 Moved DBIWorkMode to Core::Settings. 2021-06-16 09:31:32 +03:00
23rd
da3e140069 Moved DBINotifyView to Core::Settings. 2021-06-16 09:31:32 +03:00
23rd
5334372671 Moved WorkMode global variable from facades to core settings. 2021-06-16 09:31:32 +03:00
23rd
16db8468fa Moved ScreenIsLocked variable from facades to application. 2021-06-16 09:31:32 +03:00
23rd
2ed3543b53 Renamed class back from AdaptiveModern to Adaptive. 2021-06-16 09:31:32 +03:00
23rd
5b4d442799 Removed Adaptive namespace and related global variables from facades. 2021-06-16 09:31:32 +03:00
23rd
9669a8a44a Moved Core::Settings:chatWide to Window::Adaptive. 2021-06-16 09:31:32 +03:00
23rd
80fe2f57e9 Removed Adaptive namespace from Window::Controller and MainWidget. 2021-06-16 09:31:32 +03:00
23rd
824fbc21e8 Removed Adaptive namespace from peer context menu. 2021-06-16 09:31:32 +03:00
23rd
bf7f117323 Removed Adaptive namespace from Window::HistoryHider. 2021-06-16 09:31:32 +03:00
23rd
9b488f03a1 Removed Adaptive namespace from Settings::Chat. 2021-06-16 09:31:32 +03:00
23rd
295a863d69 Removed Adaptive namespace from Profile::BackButton. 2021-06-16 09:31:32 +03:00
23rd
0d814066d6 Removed Adaptive namespace from top bar widgets. 2021-06-16 09:31:32 +03:00
23rd
1af8e89eb9 Removed Adaptive namespace from HistoryWidget. 2021-06-16 09:31:32 +03:00
23rd
7cf79e1f8a Removed Adaptive namespace from sections. 2021-06-16 09:31:32 +03:00
23rd
019fd83c8a Removed Adaptive namespace from Dialogs::Widget. 2021-06-16 09:31:32 +03:00
23rd
65779ec37e Removed Adaptive namespace from FieldAutocomplete. 2021-06-16 09:31:32 +03:00
23rd
2d90a06078 Added new Adaptive class to replace legacy Adaptive namespace.
Temporarily named class as AdaptiveModern.
2021-06-16 09:31:32 +03:00
23rd
d2c8780c0f Removed NotificationsDemoIsShown global variable from facades. 2021-06-16 09:31:32 +03:00
23rd
54dd63d61a Removed LocalPasscode global variable from facades. 2021-06-16 09:31:32 +03:00
23rd
7852c82eab Simplified updating of autolock time in Settings::PrivacySecurity. 2021-06-16 09:31:32 +03:00
23rd
77c8bf8176 Removed PeerChooseCancel global variable from facades. 2021-06-16 09:31:32 +03:00
23rd
daa14466e5 Replaced observable in Lang::CloudManager with rpl. 2021-06-16 09:31:32 +03:00
23rd
aad38c2809 Replaced observable in Window::Notifications::System with rpl. 2021-06-16 09:31:32 +03:00
23rd
2c50d3d87b Replaced observable in Intro::details::Data with rpl. 2021-06-16 09:31:32 +03:00
23rd
0fe7c07007 Replaced observable with rpl in FixedBar of admin log. 2021-06-16 09:31:32 +03:00
23rd
c22d200c17 Removed unused observable trackFinished from Media::Audio::Instance. 2021-06-16 09:31:32 +03:00
23rd
9e6afa0d4e Removed observable dragFinished from MainWindow. 2021-06-16 09:31:32 +03:00
23rd
3340b2dc03 Replaced observable in Dialogs::InnerWidget with rpl. 2021-06-16 09:31:32 +03:00
23rd
386fae952b Replaced observable in SessionController with rpl. 2021-06-16 09:31:32 +03:00
23rd
a164cb9480 Removed unused observable passcodedChanged from Application. 2021-06-16 09:31:32 +03:00
23rd
bc9b288617 Replaced observable in StickersBox with rpl. 2021-06-16 09:31:32 +03:00
23rd
5c7229f875 Replaced observable in EditColorBox with rpl. 2021-06-16 09:31:31 +03:00
John Preston
658d5a1322 Fix move between Retina / Non-Retina. 2021-06-16 10:30:08 +04:00
John Preston
52e841ec29 Select correct quality for incoming screencast. 2021-06-16 08:59:15 +04:00
John Preston
df28da4d97 Show "Video is paused" in wide panel mode. 2021-06-15 16:49:53 +04:00
John Preston
8dac6896d6 Set Send/Receive buffer size for download TCP sockets. 2021-06-15 16:45:48 +04:00
John Preston
f18e157e46 Add video placeholder if can't receive it. 2021-06-15 14:30:51 +04:00
John Preston
b2bf8244dd Add "Enable noise suppression" setting to group calls. 2021-06-15 12:33:02 +04:00
John Preston
4e0355d09f Fix semi-transparent .webp in media viewer. 2021-06-14 15:28:39 +04:00
John Preston
7059336ff0 Show red mute icon for force-muted. 2021-06-14 15:15:33 +04:00
John Preston
94f10ce72e Fix dropping self level around mute button. 2021-06-14 14:57:25 +04:00
John Preston
68be54288c Fix working using OpenGLES / ANGLE. 2021-06-14 12:16:00 +04:00
John Preston
10636d931f Validate video speed before applying. 2021-06-14 11:22:57 +04:00
John Preston
3b1aa55d21 Don't send OpenGL initialization crash reports. 2021-06-14 11:22:39 +04:00
mid-kid
37f59095f4 Fix building with LINK_TO_GTK 2021-06-12 15:08:11 +04:00
John Preston
f85d1b8a29 Beta version 2.7.8: Update lib_waylandshells. 2021-06-12 00:27:56 +04:00
John Preston
ece491eee7 Beta version 2.7.8.
- Crash fixes.
2021-06-11 23:15:53 +04:00
John Preston
750c13e5fe Add OpenGL init crash checker. 2021-06-11 23:01:07 +04:00
John Preston
0fde35f59e Increase limit for full video request. 2021-06-11 22:52:59 +04:00
John Preston
5ab8a7d9c5 Fix controls in PiP video player. 2021-06-11 20:29:34 +04:00
John Preston
b1fad4f7e0 Fix possible crash in DBus SettingWatcher. 2021-06-11 19:41:58 +04:00
John Preston
4f0f815201 Fix crash in saving document from media viewer. 2021-06-11 19:36:27 +04:00
John Preston
f2286fdffd Fix possible crash in emoji suggestions. 2021-06-11 19:31:16 +04:00
John Preston
46dfde881a Fix crash in screencast error handling. 2021-06-11 19:19:50 +04:00
John Preston
95f7704d14 Fix crash in voice chat camera enabling. 2021-06-11 19:12:14 +04:00
John Preston
64a6838764 Fix crash in account switching. 2021-06-11 19:11:58 +04:00
John Preston
a0c2318919 Beta version 2.7.7.
- Optimized video playback in media viewer and Picture-in-Picture mode.
- Added integration with System Media Transport Controls on Windows 10.
- Added "Now Playing" integration for music playback on macOS.
- Added "Archive Sticker" into the "..." menu of the Sticker Set Box.
- Fixed memory not being freed on Linux.
- Several crash fixes.
2021-06-11 17:37:49 +04:00
John Preston
8d8fffd306 Fix OpenGL renderers on macOS. 2021-06-11 17:35:16 +04:00
John Preston
ecb53e3e0b Display Puny-encoded domains in proxy confirmation. 2021-06-11 14:20:00 +04:00
John Preston
468d43c4c7 Don't send by Enter elements, chosen by mouse. 2021-06-11 14:20:00 +04:00
John Preston
425a632965 Accept DD / EE as proxy type tag.
Fixes #16218.
2021-06-11 14:20:00 +04:00
John Preston
bf581a1ba4 Fix build with DESKTOP_APP_DISABLE_DBUS_INTEGRATION. 2021-06-11 14:20:00 +04:00
John Preston
7a0ba58ffd Don't construct Webrtc::VideoTrack only for state tracking. 2021-06-11 14:20:00 +04:00
John Preston
4543656aa3 Implement screencast pause in TDesktop. 2021-06-11 14:20:00 +04:00
23rd
8d72026cbd Fixed build for Linux. 2021-06-10 23:00:56 +03:00
23rd
32e47c24b4 Moved Linux MPRIS support to lib_base. 2021-06-10 23:00:56 +03:00
23rd
69eaecc218 Moved SystemMediaControlsManagerto Media namespace. 2021-06-10 23:00:56 +03:00
23rd
3ffbb94fdb Removed SPMediaKeyTap solution for macOS media keys.
Related commit: fd6a312abc.
2021-06-10 23:00:55 +03:00
23rd
4f8bab6a5f Fixed auto-seeking by system for non-fully loaded audio files in SMC. 2021-06-10 23:00:55 +03:00
23rd
2f0fd398d5 Fixed update of availability of next and previous tracks in SMC. 2021-06-10 23:00:55 +03:00
23rd
c6fde48936 Optimized updating of position in SMC. 2021-06-10 23:00:55 +03:00
23rd
8356bac6d7 Added new event of seeking to media player. 2021-06-10 23:00:55 +03:00
23rd
b553520a48 Fixed track change notification in media player. 2021-06-10 23:00:55 +03:00
23rd
3c86da78af Added volume support to SMC class. 2021-06-10 23:00:55 +03:00
23rd
fdbf63229d Added ability to specify application name for Linux MPRIS. 2021-06-10 23:00:55 +03:00
23rd
d22601461a Added new commands to Quit and Raise for Linux MPRIS. 2021-06-10 23:00:55 +03:00
23rd
13c70a9ce9 Added initial support of seeking to SMC class. 2021-06-10 23:00:55 +03:00
23rd
1cfbf24635 Moved Windows SMTC as part of cross-platform media controls solution. 2021-06-10 23:00:55 +03:00
Ilya Fedin
f90f1c02c3 Add extra-cmake-modules as telegram dependency in snapcraft.yaml 2021-06-11 00:00:16 +04:00
Ilya Fedin
8d0f5bb828 Use custom xdg-shell fork for shadows on Wayland 2021-06-10 23:49:10 +04:00
John Preston
2f986660ff Optimize background painting in OpenGL renderers. 2021-06-10 23:37:09 +04:00
John Preston
f9f98975a1 Implement OpenGL renderer for one-on-one calls. 2021-06-10 17:16:17 +04:00
John Preston
e0e2b973f1 Remove shadow debugging image saving. 2021-06-10 15:38:19 +04:00
John Preston
aeb994dd40 Fix radial loading and seek frame in PiP. 2021-06-10 14:05:15 +04:00
John Preston
112c597556 Fix video rotation apply in PiP player. 2021-06-10 11:44:31 +04:00
John Preston
fc94045f41 Fix PiP cursor after drag/resize finished. 2021-06-10 10:39:09 +04:00
John Preston
2a8055c513 Fix action invocation after dragging PiP window.
Regression was introduced in d752aa3481.
2021-06-10 10:31:47 +04:00
John Preston
fba116f0d5 Implement custom OpenGL renderer for PiP. 2021-06-10 10:12:37 +04:00
John Preston
b38f89d69e Fix 2x and 3x volume off icon in media viewer. 2021-06-10 10:12:23 +04:00
John Preston
84f6a5f957 Handle "video_joined" flag in self participant. 2021-06-09 09:19:29 +04:00
John Preston
054223efe0 Request screen recording permissions on macOS. 2021-06-09 09:19:29 +04:00
John Preston
de3ea30d69 Don't show messages to support as always-read. 2021-06-09 09:19:29 +04:00
John Preston
c5a46d9d1b For surface with parent backend should be fixed. 2021-06-09 09:19:29 +04:00
John Preston
e41fb0d8fd Fix ARGB32 frame rendering. 2021-06-09 09:19:28 +04:00
John Preston
5970f3de9e Show video paused icon. 2021-06-09 09:19:28 +04:00
John Preston
7878552e7d Fix hiding rows with video in narrow column. 2021-06-09 09:19:28 +04:00
John Preston
b3648d0147 Use QOpenGLShaderProgram::bind. 2021-06-09 09:19:28 +04:00
John Preston
dd79b3c0d5 Add noise to blur to remove color banding. 2021-06-09 09:19:28 +04:00
John Preston
3d76e6de55 Improve level meter design in group call settings. 2021-06-09 09:19:28 +04:00
John Preston
ef61443342 Fix tg://settings/devices link. 2021-06-09 09:19:28 +04:00
John Preston
4f8989fad7 Fix large video being removed animation. 2021-06-09 09:19:28 +04:00
John Preston
945411274f Close large video tile by click anywhere. 2021-06-09 09:19:28 +04:00
John Preston
f1f7330bf6 Hide "Remove" context action for participants-groups. 2021-06-09 09:19:28 +04:00
John Preston
a1957fe5c0 Stop connecting sound when group call leave starts. 2021-06-09 09:19:28 +04:00
John Preston
9a21d55de7 Show last blurred frame or userpic for paused videos. 2021-06-09 09:19:28 +04:00
John Preston
303ad02c61 Always call raise() before activateWindow(). 2021-06-09 09:19:28 +04:00
John Preston
1886a5c4ed Fix build on macOS. 2021-06-09 09:19:28 +04:00
John Preston
71ddfacfaa Fix showing static content in OpenGL media viewer. 2021-06-09 09:19:28 +04:00
John Preston
23c2bce1bb Animated zoom+rotate in OpenGL media viewer. 2021-06-09 09:19:28 +04:00
John Preston
5324a626be Animated zoom in OpenGL media viewer. 2021-06-09 09:19:28 +04:00
John Preston
4c5421916a Closed alpha version 2.7.6.2. 2021-06-09 09:19:28 +04:00
John Preston
2801bd99b8 Render media viewer icons in RendererGL. 2021-06-09 09:19:28 +04:00
John Preston
38a0eb3b52 Fix color conversions on GPU. 2021-06-09 09:19:28 +04:00
John Preston
607263b8be Fix seek / cancel of video playback in media viewer. 2021-06-09 09:19:28 +04:00
John Preston
42b62e90ca Fix video in non-group calls. 2021-06-09 09:19:28 +04:00
John Preston
f6f0b02333 Render YUV420 video in media viewer. 2021-06-09 09:19:28 +04:00
John Preston
1858e7e8ac Fix many video tiles in voice chats. 2021-06-09 09:19:28 +04:00
John Preston
482ad74c57 Stop camera/screen video when muted by admin. 2021-06-09 09:19:27 +04:00
John Preston
68ae40ee56 Draw all except controls in OpenGL media viewer. 2021-06-09 09:19:27 +04:00
John Preston
24f8a88625 Start OpenGL media viewer renderer. 2021-06-09 09:19:27 +04:00
23rd
fc78769e9c Added floating date header to Shared Files and Shared Links. 2021-06-09 09:19:27 +04:00
23rd
5c54d3690c Added floating date badge to Shared Photos and Shared Videos. 2021-06-09 09:19:27 +04:00
23rd
2cd8b00610 Added ability to override foreground color for date service messages. 2021-06-09 09:19:27 +04:00
23rd
7ee35bc80c Added ability to override background color for service messages. 2021-06-09 09:19:27 +04:00
23rd
cfbbce26c4 Added suitable name for floating badge colors. 2021-06-09 09:19:27 +04:00
John Preston
dfb26cabfc Closed alpha version 2.7.6.1. 2021-06-09 09:19:27 +04:00
John Preston
70f0cce340 Update API scheme. 2021-06-09 09:19:27 +04:00
Alexander Bushnev
3af0c37c6b Fix video player volume level changing
Bug:
Sometimes changing of the volume level or mute/unmute has no effect.
It happens because Fader::onTimer get a current volume level from the Mixer,
but it gets an event about the volume modification from the settings.
Bug appear when the method onTimer calling between updating
of the settings and the Mixer volume.

Solution:
Updating the Mixer volume before the settings.
(maybe will be better to get the volume level
from the settings in place of the Mixer,
but I am not sure about other side effects of this)
2021-06-09 08:18:49 +03:00
Anthony Axenov
b1906a778e Actual link to Vazir Fonts license in README 2021-06-09 08:17:53 +03:00
Alexander Bushnev
d752aa3481 Add volume controls to the PiP window
Add volume toggle and volume level controls to the PiP window.
2021-06-09 08:17:32 +03:00
John Preston
afc5191644 Update mallocng. 2021-06-07 16:21:55 +04:00
John Preston
254b02ad6b Fix Release build on Windows. 2021-06-07 16:21:55 +04:00
23rd
885365a1c2 Fixed Github CI Windows build. 2021-06-04 11:47:32 +03:00
23rd
245be4cd63 Fixed Github CI macOS build. 2021-06-04 11:47:32 +03:00
Ilya Fedin
ce413f2946 Update tg_owt in snap 2021-06-04 11:47:01 +03:00
Ilya Fedin
0d84ba406f Exclude some development files from snap 2021-06-04 11:47:01 +03:00
Ilya Fedin
9047b3c121 Prime tg_owt dependencies 2021-06-04 11:47:01 +03:00
Ilya Fedin
3ff9543106 Fix rnnoise installation path 2021-06-04 11:47:01 +03:00
Ilya Fedin
46b4a5fc5a Fix snap build 2021-06-02 14:00:43 +03:00
Ilya Fedin
bd456568ed Set -DTG_OWT_BUILD_AUDIO_BACKENDS=OFF in snapcraft.yaml 2021-06-01 19:33:43 +03:00
Ilya Fedin
93fa0e1df5 Add rnnoise to snapcraft.yaml 2021-06-01 19:33:43 +03:00
Ilya Fedin
fe4c5155eb Fix some warnings from GCC 11 2021-06-01 19:33:19 +03:00
John Preston
24c435bb5f Improve hide media viewer workaround on Windows. 2021-06-01 16:56:38 +04:00
John Preston
e6977b2c33 Start sharing without source choosing in case of PipeWire. 2021-06-01 14:58:30 +04:00
John Preston
28f83f2af4 Show participants Bio when not speaking. 2021-06-01 14:16:55 +04:00
John Preston
5a6e8a0a8c Improve style of desktop capture source choosing. 2021-06-01 13:58:15 +04:00
John Preston
003da28699 Beta version 2.7.6: Update submodules. 2021-05-31 23:54:09 +04:00
John Preston
e8dd969e78 Fix paint-image vertex shader on macOS. 2021-05-31 23:53:41 +04:00
John Preston
acce2a217d Beta version 2.7.6: Fix build on macOS. 2021-05-31 21:51:47 +04:00
Ilya Fedin
b964c681f8 Get system dark mode state asynchronously on Linux 2021-05-31 20:31:24 +03:00
Ilya Fedin
c6dcc57c5e Set _KDE_NET_WM_DESKTOP_FILE on X11 2021-05-31 20:30:51 +03:00
John Preston
cf8e1cfd0f Beta version 2.7.6.
- Optimized video playback in media viewer and Picture-in-Picture
on Windows and Linux.
- Added integration with System Media Transport Controls
on Windows 10.
- Added "Archive Sticker" into the "..." menu of the Sticker Set Box.
- Fixed memory not being freed on Linux.
- Several crash fixes.
2021-05-31 21:30:21 +04:00
John Preston
78b40a1f66 Revert test code in 'tgcalls'. 2021-05-31 21:27:14 +04:00
John Preston
2fe75f8296 Add large / small video animation. 2021-05-31 21:25:15 +04:00
John Preston
b22363224f Track tiles visibility separately from geometry. 2021-05-31 18:40:53 +04:00
John Preston
b3c92ed3f4 Rejoin if the call started accepting video. 2021-05-31 18:00:41 +04:00
John Preston
464b0a0f30 Use old media viewer hide workaround on macOS. 2021-05-31 17:39:15 +04:00
John Preston
dfcc13c7e6 Warn user about pinning of his screencast. 2021-05-31 17:35:41 +04:00
John Preston
ba6cee6f81 Add video/screencast pinned/unpinned toasts. 2021-05-31 17:10:30 +04:00
John Preston
bcdfd2150d Auto-pin new screencasts. 2021-05-31 15:53:15 +04:00
John Preston
d19d6bbcd9 Group call owner chat/channel is always admin. 2021-05-31 15:52:51 +04:00
John Preston
4080fa9bdc Allow mute for me even force-muted participants. 2021-05-31 15:46:15 +04:00
John Preston
ce091b0b63 Fix second click in media viewer double-click. 2021-05-31 14:54:56 +04:00
John Preston
136e930362 Paint outline in raster mode. 2021-05-31 08:54:23 +04:00
23rd
78dfe940ef Added Windows SMTC support.
System Media Transport Controls.
2021-05-31 08:54:23 +04:00
23rd
690fbe83fd Unified and moved to single place generating of song name from SongData. 2021-05-31 08:54:22 +04:00
23rd
f98e8f3e04 Fixed stuck of forward bar when using -sendpath argument.
Regression was introduced in b3d1602354.
2021-05-31 08:54:22 +04:00
23rd
63febef3ed Added Dock menu for macOS. 2021-05-30 23:39:55 +03:00
23rd
2599ae45d6 Fixed handle of last message on Up arrow in sections with key modifiers. 2021-05-30 23:39:55 +03:00
23rd
bfb03621c2 Fixed GIFs in EditCaptionBox on Retina screens. 2021-05-30 23:39:55 +03:00
23rd
be53bd5293 Added ability to start recording voice chat without title. 2021-05-30 23:39:55 +03:00
23rd
a429500b57 Fixed first animation of album thumbs in SendFilesBox on Retina screens. 2021-05-30 23:39:55 +03:00
John Preston
ec9fa00f46 Bring second large peer video to the top. 2021-05-31 00:07:11 +04:00
John Preston
6a001f2e6c Auto-switch large video by speaking participant. 2021-05-30 23:52:01 +04:00
John Preston
8bde53cd0f Add Back button to large video tiles. 2021-05-30 21:08:54 +04:00
John Preston
090d7d7112 Show video large on click. 2021-05-30 19:14:08 +04:00
John Preston
97c7c0742c Rename LargeVideo to Video in voice chats. 2021-05-30 18:46:51 +04:00
John Preston
90efbf1210 Remove some experimental code. 2021-05-30 18:21:11 +04:00
John Preston
38506d27a1 Hide member rows with active small videos. 2021-05-30 18:09:59 +04:00
John Preston
8a693bc932 Move 'Invite members' button to the bottom. 2021-05-30 14:56:54 +04:00
John Preston
0e49bf5dee Add video tiles in narrow members column. 2021-05-29 23:57:21 +04:00
John Preston
6a967948de Optimize uploading of textures. 2021-05-29 23:27:12 +04:00
John Preston
0771fc14db Use unique_id for tiles instead of PeerData*. 2021-05-29 22:58:11 +04:00
John Preston
e1614a280f Add blur effect for video tile background. 2021-05-29 17:00:09 +04:00
John Preston
ddf81c949b Add green outline to speaking video tiles. 2021-05-28 21:05:28 +04:00
John Preston
b906b2f625 Closed alpha version 2.7.5.7. 2021-05-28 19:11:07 +04:00
John Preston
3f2b473287 Add tooltips for wide mode controls. 2021-05-28 19:08:11 +04:00
John Preston
9a9430b5e1 Move some logging to DEBUG_LOG instead of LOG. 2021-05-28 15:21:15 +04:00
John Preston
d659200a42 Show unmute button tooltip about space bar. 2021-05-28 14:47:41 +04:00
John Preston
cb630c69f0 Fix tooltip colors in default dark green theme. 2021-05-28 13:39:38 +04:00
John Preston
9a812090a2 Add some error tooltips in group calls. 2021-05-28 13:23:24 +04:00
John Preston
5b0278847d Add context menu to video tile right click. 2021-05-27 23:20:16 +04:00
John Preston
9d07bb2946 Remove 'Share Screen' menu item in scheduled chats. 2021-05-27 22:47:18 +04:00
John Preston
b27d314fa7 Skip deleted users in voice chat invites. 2021-05-27 22:46:20 +04:00
John Preston
df666ff724 Implement more robust reconnect management. 2021-05-27 17:09:36 +04:00
John Preston
3709714339 Make '[un]registerLeaveSubscription' work in all windows. 2021-05-27 09:34:33 +04:00
John Preston
deecf80f20 Add OpenGL media viewer glitches workaround. 2021-05-27 08:39:01 +04:00
John Preston
6ea66bc527 Fix joining broadcasted streams in voice chats. 2021-05-27 00:37:05 +04:00
John Preston
513c8d1a65 Fix PiP drag pausing the video. 2021-05-26 23:49:33 +04:00
John Preston
49f71f4e1e Use av_packet_alloc instead of av_init_packet. 2021-05-26 22:53:54 +04:00
John Preston
0c5258b43a Closed alpha version 2.7.5.6. 2021-05-26 18:35:35 +04:00
John Preston
a0506f009a Update tg_owt revision. 2021-05-26 18:35:25 +04:00
John Preston
9f93dae6f9 Update FFmpeg to 4.4. 2021-05-26 18:22:30 +04:00
John Preston
45cca35724 Implement menu in wide video mode. 2021-05-26 18:21:50 +04:00
John Preston
1c42513e44 Fix pinning video from narrow mode. 2021-05-26 15:29:26 +04:00
John Preston
f3e6f5e772 Cancel outgoing video when muted by admin. 2021-05-26 15:12:00 +04:00
John Preston
c6f44e7928 Hide video button if the call doesn't support video. 2021-05-26 14:27:48 +04:00
John Preston
7b6b32db74 Fix name display in group call video tiles. 2021-05-26 13:35:01 +04:00
John Preston
e39f9bef1f Fix voice message recording with FFmpeg 4.2. 2021-05-26 09:59:25 +04:00
John Preston
479b604c0e Closed alpha version 2.7.5.5. 2021-05-25 23:34:55 +04:00
John Preston
e7ef3c4b6d Fix crash in GL_RED textures uploading. 2021-05-25 23:34:55 +04:00
John Preston
87cae1c3a7 Fix build on macOS. 2021-05-25 23:34:55 +04:00
John Preston
562fc74481 Closed alpha version 2.7.5.4. 2021-05-25 22:11:11 +04:00
John Preston
51d8e9c43d Skip empty rects in painting. 2021-05-25 17:23:50 +04:00
John Preston
e50a7a2e42 Toggle wide mode only when videos with frames. 2021-05-25 16:55:01 +04:00
John Preston
aaad250a77 Show names in OpenGL renderer. 2021-05-25 16:26:41 +04:00
John Preston
699730b7f4 Show mute icon in OpenGL renderer. 2021-05-25 14:56:26 +04:00
John Preston
302cffba1c Display pin button in OpenGL renderer. 2021-05-25 12:08:06 +04:00
John Preston
e299aa032d Update tg_owt to webrtc m91. 2021-05-25 12:07:49 +04:00
John Preston
ca6f70746c Closed alpha version 2.7.5.3. 2021-05-24 22:45:16 +04:00
John Preston
2af1d95650 Fix scheduled voice chat creation. 2021-05-24 22:45:16 +04:00
John Preston
df6f5d83d6 Make shaders work on OpenGL 2.1. 2021-05-24 22:45:16 +04:00
John Preston
42baa3e1bc Convert YUV420 -> ARGB32 in fragment shader. 2021-05-24 22:45:16 +04:00
John Preston
5f393babd6 Fix video wrap geometry in narrow column. 2021-05-24 22:45:16 +04:00
John Preston
b864563f47 Support mode switching in single widget Viewport. 2021-05-24 22:45:16 +04:00
John Preston
3edb2d08ba Optimize frame shader, apply rotation. 2021-05-24 22:45:16 +04:00
John Preston
d44f923277 OpenGL render of frames in single widget. 2021-05-24 22:45:16 +04:00
John Preston
ec468431b4 Raster render of wide mode in single widget. 2021-05-24 22:45:16 +04:00
John Preston
4774f438a9 Update API scheme. 2021-05-24 22:45:16 +04:00
John Preston
f40659a7b4 Round corners of LargeVideo. 2021-05-24 22:45:16 +04:00
John Preston
047989abcf Fill solid background in OpenGL renderer. 2021-05-24 22:45:16 +04:00
John Preston
3e79b67032 Start OpenGL renderer for group calls. 2021-05-24 22:45:16 +04:00
John Preston
ca4b1e6ae0 Fix build for macOS. 2021-05-24 22:45:16 +04:00
John Preston
b56749426b Fix build on Clang/GCC. 2021-05-24 22:45:16 +04:00
John Preston
cbe6e1caad Closed alpha version 2.7.5.2. 2021-05-24 22:45:16 +04:00
John Preston
748eb9ff12 Remove labels from wide mode buttons. 2021-05-24 22:45:16 +04:00
John Preston
385b98ff3d Nice three-button narrow mode with gradient fading. 2021-05-24 22:45:16 +04:00
John Preston
c12a50544e Allow force-disabling OpenGL. 2021-05-24 22:45:15 +04:00
John Preston
c64e953174 Choose OpenGL / Raster in media viewer. 2021-05-24 22:45:15 +04:00
John Preston
ccc599c83e Fix PiP window first show. 2021-05-24 22:45:15 +04:00
John Preston
a45064257a Choose OpenGL / Raster surface at runtime. 2021-05-24 22:45:15 +04:00
John Preston
9510ba07f7 Drop old sticker set cover locations. 2021-05-24 22:45:15 +04:00
John Preston
8e3dc76dd7 Disable tg_owt audio backends explicitly. 2021-05-24 22:45:15 +04:00
John Preston
451332b2e7 Closed alpha version 2.7.5.1. 2021-05-24 22:45:15 +04:00
John Preston
445c798bbc Improve pin video button design and controls hiding. 2021-05-24 22:45:15 +04:00
John Preston
c48c4d4283 Use QOpenGLWidget on all systems. 2021-05-24 22:45:15 +04:00
John Preston
b421d0c5cc Build Qt with dynamic OpenGL on Windows. 2021-05-24 22:45:15 +04:00
John Preston
f7454a4284 Fix crash on quit in idle state. 2021-05-24 22:45:15 +04:00
John Preston
9144f4ea7b Fix streaming frames prepare. 2021-05-24 22:45:15 +04:00
John Preston
aaea367fba Hide controls when mouse is out of video area. 2021-05-24 22:45:15 +04:00
John Preston
e0e878cbb1 Update tg_owt to webrtc m90. 2021-05-24 22:45:15 +04:00
John Preston
b905a18161 Destroy all tgcalls instances before quit. 2021-05-24 22:45:15 +04:00
John Preston
f4ae7ecbe7 Remove tracking of video ssrc-s. 2021-05-24 22:45:15 +04:00
John Preston
9a8812d00b Move participants list to the right of the window. 2021-05-24 22:45:15 +04:00
John Preston
13b3de683a Improve narrow participants column design. 2021-05-24 22:45:15 +04:00
John Preston
64243d1437 Fix crash in joining active video chat. 2021-05-24 22:45:15 +04:00
John Preston
a730c88491 Add icons and improve narrow participants column. 2021-05-24 22:45:15 +04:00
John Preston
bd90cc4134 Fix closing of pre-launch windows. 2021-05-24 22:45:15 +04:00
John Preston
316f0537c4 Implement video pin / controls hiding in video tiles. 2021-05-24 22:45:15 +04:00
John Preston
7f739065e8 First version of tiled layout. 2021-05-24 22:45:15 +04:00
John Preston
bd83ed8130 Add 'pin screencast' context menu item. 2021-05-24 22:45:15 +04:00
John Preston
e39ffbc83c Update tgcalls, request required video channels. 2021-05-24 22:45:15 +04:00
John Preston
1471e9b8e2 Destroy group call instances async. 2021-05-24 22:45:15 +04:00
John Preston
4c23d51be5 Fix volume icon over video. 2021-05-24 22:45:15 +04:00
John Preston
412cfb24d2 Stop video when rejoining-as, handle errors. 2021-05-24 22:45:15 +04:00
John Preston
2a5977e97f Support enlarge / minimize of video. 2021-05-24 22:45:15 +04:00
John Preston
64c34b7029 Hide controls in wide video mode. 2021-05-24 22:45:15 +04:00
John Preston
0db0abe608 Use LargeVideo in the default mode. 2021-05-24 22:45:15 +04:00
John Preston
5f4903a279 Show controls in the middle of wide video. 2021-05-24 22:45:14 +04:00
John Preston
20ff79abf4 Fix camera / screen self track activation. 2021-05-24 22:45:14 +04:00
John Preston
3a321d64f6 Switch between videos by left click. 2021-05-24 22:45:14 +04:00
John Preston
7e8d1f7974 Toggle video pin from LargeVideo. 2021-05-24 22:45:14 +04:00
John Preston
9f41461209 Load .dll symbols in a similar way. 2021-05-24 22:45:14 +04:00
John Preston
6b10045b7b Enable screen sharing on Linux. 2021-05-24 22:45:14 +04:00
John Preston
9ca6d0d893 Build tg_owt with desktop_capture support. 2021-05-24 22:45:14 +04:00
John Preston
2830049a53 Add support for DirectX desktop capturer backend. 2021-05-24 22:45:14 +04:00
John Preston
50558de591 Show name and information on wide large video. 2021-05-24 22:45:14 +04:00
John Preston
80e3e8a01e Extract MembersRow from calls_group_members module. 2021-05-24 22:45:14 +04:00
John Preston
d38780c94d Add shadow under name over video. 2021-05-24 22:45:14 +04:00
John Preston
801435e57c Show participant names in narrow column. 2021-05-24 22:45:14 +04:00
John Preston
8001efe6ab Track peer together with video endpoint. 2021-05-24 22:45:14 +04:00
John Preston
909a3cef9b Create a new Instance for each screencast. 2021-05-24 22:45:14 +04:00
John Preston
9ac510a1ad Fix title of wide mode video chat. 2021-05-24 22:45:14 +04:00
John Preston
00ce302b38 Improve narrow participants column design. 2021-05-24 22:45:14 +04:00
John Preston
0dcc7a05f7 Fix crash in pinned video switching. 2021-05-24 22:45:14 +04:00
John Preston
54c2769d8a Improve voice /video chat members management. 2021-05-24 22:45:14 +04:00
John Preston
2e400d88d3 Fix creating group calls. 2021-05-24 22:45:14 +04:00
John Preston
d9aa660253 Handle members slice loaded. 2021-05-24 22:45:14 +04:00
John Preston
ba1dade4b0 New API/tgcalls with two outgoing videos. 2021-05-24 22:45:14 +04:00
John Preston
a48649987e Improve screencast source choosing design. 2021-05-24 22:45:14 +04:00
John Preston
022c0a1327 Update tgcalls library. 2021-05-24 22:45:14 +04:00
John Preston
69ceed5bbc Update API scheme to layer 129. 2021-05-24 22:45:14 +04:00
John Preston
b3fcb4ef36 Allow 'mute for me' of muted by admin participants. 2021-05-24 22:45:14 +04:00
John Preston
8342b2d275 Fix bug with video_muted flag. 2021-05-24 22:45:14 +04:00
John Preston
36888f844f Disable (crashing) capturer on Linux. 2021-05-24 22:45:14 +04:00
John Preston
75f220c3d9 Fix build for Linux. 2021-05-24 22:45:14 +04:00
John Preston
1a784fc678 Track video_muted from API. 2021-05-24 22:45:14 +04:00
John Preston
dac9017df1 Improve video chat controls layout. 2021-05-24 22:45:14 +04:00
John Preston
7b3b5a1463 Use 'Screencast' video content type. 2021-05-24 22:45:14 +04:00
John Preston
b7fc3f67d7 Add toggle video and screen sharing buttons. 2021-05-24 22:45:13 +04:00
John Preston
e0bfaad3a2 Make style of mute button customizable. 2021-05-24 22:45:13 +04:00
John Preston
24c77a8956 Fix build on macOS. 2021-05-24 22:45:13 +04:00
John Preston
380a0d1f86 Improve wide video layout. 2021-05-24 22:45:13 +04:00
John Preston
b7f6fc9a2d Update API scheme. 2021-05-24 22:45:13 +04:00
John Preston
e12fe974b2 Add pinned video in wide mode. 2021-05-24 22:45:13 +04:00
John Preston
b15623d435 Allow pinning video to top of members list. 2021-05-24 22:45:13 +04:00
John Preston
eb8f709943 Show members list in PanelMode::Wide. 2021-05-24 22:45:13 +04:00
John Preston
c93ddf6aac Separate Call/GroupCall delegates and Instance. 2021-05-24 22:45:13 +04:00
John Preston
6e34360f7e Move some group call modules. 2021-05-24 22:45:13 +04:00
John Preston
c9d07cd0f8 Proof-of-concept desktop capture source picker. 2021-05-24 22:45:13 +04:00
John Preston
9ff6b57b94 Use common desktop_capturer code on Windows. 2021-05-24 22:45:13 +04:00
John Preston
fb49b0ca27 Add proof-of-concept screen sharing on macOS. 2021-05-24 22:45:13 +04:00
John Preston
fef1f80570 Disable video preview in Settings when in group call. 2021-05-24 22:45:13 +04:00
John Preston
38cb1b195d Add proof-of-concept screen sharing on Windows. 2021-05-24 22:45:13 +04:00
John Preston
ebdbe4a8d6 Show video instead of userpics in members list. 2021-05-24 22:45:13 +04:00
John Preston
ba02a5c46a Resolve video chat participants by unknown ssrcs. 2021-05-24 22:45:13 +04:00
John Preston
a6f379a17a Parse and serialize video parameters. 2021-05-24 22:45:13 +04:00
John Preston
a41b7b62ac Build and link rnnoise on Windows. 2021-05-24 22:45:13 +04:00
Ilya Fedin
5010c9033b Specify buildtype for meson 2021-05-22 17:31:26 +03:00
23rd
93e4161d5e Fixed NuGet link in instructions for Windows build. 2021-05-19 14:39:22 +03:00
Ilya Fedin
e0d6faf45b Fix build with LTO 2021-05-19 12:26:07 +03:00
John Preston
fbe4e3f0ec Fix build with mallocng. 2021-05-17 13:38:28 +04:00
John Preston
8e02c50f7d Fix build on Linux. 2021-05-17 13:07:39 +04:00
Ilya Fedin
837485974a Use mallocng on Linux 2021-05-17 10:35:18 +03:00
Ilya Fedin
3cf739eca9 Use event filter to get surface expose event 2021-05-17 10:00:01 +03:00
Ilya Fedin
cfee688feb Replace call_delayed with InvokeQueued in MainWindow::handleVisibleChanged 2021-05-17 10:00:01 +03:00
Ilya Fedin
30d8894c30 Use nodiscard in WaylandIntegration 2021-05-17 10:00:01 +03:00
Ilya Fedin
0b86feeeb5 Implement appmenu on Wayland with org_kde_kwin_appmenu protocol 2021-05-17 10:00:01 +03:00
Ilya Fedin
434ef34378 Implement taskbar icon hidding on Wayland with org_kde_plasma_shell protocol 2021-05-17 10:00:01 +03:00
Ilya Fedin
166c28c215 Get rid of default_delete 2021-05-17 10:00:01 +03:00
Ilya Fedin
17c514e851 Use surface as XdgExporter parent 2021-05-17 10:00:01 +03:00
Ilya Fedin
f7489592d6 Fix BIO_new_mem_buf leaks 2021-05-17 09:53:02 +03:00
Ilya Fedin
3cb9312805 NEON support for ARMv7 is fixed in tg_owt 2021-05-16 11:28:11 +03:00
Ilya Fedin
3722486b19 Add new tg_owt dependencies to snap 2021-05-16 11:28:11 +03:00
John Preston
57b3982346 Update tg_owt in Snap build. 2021-05-14 15:22:39 +04:00
John Preston
a8807bc915 Fix voice recoding with FFmpeg 4.4.
Fixes #16217.
2021-05-13 15:36:27 +04:00
John Preston
71deaa48af Don't crash on voice recording error.
Fixes #16217.
2021-05-13 15:36:24 +04:00
John Preston
e7ca35a276 Fix possible deadlock in debug logs. 2021-05-13 15:36:08 +04:00
John Preston
2d8f43bd8c Fix text color for crash report window. 2021-05-13 15:35:36 +04:00
John Preston
383acf0ffc Fix crash in native notifications on Linux. 2021-05-12 12:10:55 +04:00
c0re100
ee156fc6a8 Add "Archive Sticker" into Sticker Box 3dots menu 2021-05-11 10:54:25 +03:00
Ilya Fedin
680a9a7ca7 Implement parent setting for portal and gtk dialogs on Wayland via xdg-foreign-v2 2021-05-11 10:53:32 +03:00
Ilya Fedin
7de8d6f9ac Fix resetting of available geometry fix in some cases 2021-05-11 10:43:04 +03:00
John Preston
d79fab8b3c Build ffmpeg with 'CONFIG_SAFE_BITSTREAM_READER' on macOS. 2021-05-10 16:45:21 +04:00
John Preston
0cb32181c5 Handle small SLOWMODE_WAIT as FLOOD_WAIT. 2021-05-10 16:44:28 +04:00
John Preston
dba3c39726 Skip 'enhancement' issues by stale bot. 2021-05-10 13:53:54 +04:00
Ilya Fedin
95b4435396 Resubscribe to signal when running with old xdg-desktop-portal 2021-05-07 18:32:02 +03:00
John Preston
f1a9884011 Beta version 2.7.5.
- Add "Voice chats" filter in "Recent actions" for channels.
- Write local drafts to disk on a background thread.
- Support autoupdate for Telegram in write-protected folders on Linux.
- Fix crash in native notifications on Linux.
- Fix crash in file dialog on Linux.
2021-05-04 00:27:59 +04:00
John Preston
691dcb8ae1 Fix build on macOS and Linux. 2021-05-04 00:02:24 +04:00
John Preston
db6b571f60 Add voice chat admin event log filter in channels. 2021-05-03 23:05:58 +04:00
John Preston
5ce1b00291 Fix build on Windows #2. 2021-05-03 23:05:22 +04:00
John Preston
8332ba8450 Fix build on Windows. 2021-05-03 21:39:50 +04:00
John Preston
b1c4524612 Fix crash dump generation on Linux. 2021-05-03 17:34:33 +04:00
Ilya Fedin
9a857659ce Check action type before launching new version 2021-05-03 14:53:21 +03:00
Ilya Fedin
68dc00be27 Move weak_ptr include to .cpp in linux notifications 2021-05-03 14:39:24 +03:00
Ilya Fedin
ee00f12131 Launch new version directly in write-protected mode 2021-05-03 14:39:24 +03:00
John Preston
7444f17c4e Use sendfile only on Linux. 2021-05-03 14:59:24 +04:00
Ilya Fedin
99e70f7783 Build Qt with libproxy 2021-05-03 13:03:54 +03:00
Ilya Fedin
578833446d Add support for write-protected update on Linux 2021-05-03 12:54:08 +03:00
John Preston
4fae827f1e Use a separate string for voice chat ending in groups. 2021-05-03 13:23:28 +04:00
John Preston
98180d3a9e Always guard and send on_main in native notifications. 2021-05-03 13:08:50 +04:00
John Preston
434a4af9ef Fix sendfile() arguments. 2021-05-03 12:43:36 +04:00
John Preston
298215542e Fix legacy-style connect in Intro. 2021-05-03 12:29:21 +04:00
John Preston
197b3c1cb5 Push all QSaveFile-s to background thread. 2021-05-03 12:27:45 +04:00
John Preston
3cad89f299 Fix build, add logs for sendfile(). 2021-05-03 11:21:38 +04:00
Ilya Fedin
99b9a46428 Update lib_base 2021-05-03 10:20:26 +03:00
Ilya Fedin
56a5363eb9 Move keyPressed out of GSDMediaKeys::Private 2021-05-03 10:20:26 +03:00
Ilya Fedin
b1c95d719a Use crl::guard in XDPFileDialog 2021-05-03 10:20:26 +03:00
Ilya Fedin
d87ea056c6 Fix a crash in NotificationData::show 2021-05-03 10:20:26 +03:00
Ilya Fedin
34534a9653 Use kernel accelerated sendfile to copy files on Linux 2021-05-03 09:59:58 +03:00
GitHub Action
5d0222b1c1 Update User-Agent for DNS to Chrome 90.0.4430.85. 2021-05-02 10:45:06 +03:00
Ilya Fedin
b72260f420 Avoid 30s freeze when opening file dialog in broken envirionments 2021-04-30 08:43:25 +03:00
Ilya Fedin
896eee9841 Check whether portal dialog is failed to open 2021-04-30 08:43:25 +03:00
Ilya Fedin
0d96657c33 Fix check for disconnected error 2021-04-30 08:43:25 +03:00
Ilya Fedin
41078869a9 Update submodules 2021-04-30 08:41:05 +03:00
Ilya Fedin
89b11ef084 Move gtk initialization back to ThirdParty::start 2021-04-30 08:41:05 +03:00
Ilya Fedin
26d3995424 Move wayland helper to cmake_helpers 2021-04-30 08:41:05 +03:00
John Preston
b6fad35146 Improve library loading on Linux. 2021-04-29 12:05:32 +04:00
John Preston
70bf328e7d Load wayland-client dynamically and provide functions. 2021-04-29 11:21:57 +04:00
John Preston
404538c989 Fix build with dummy notifications manager on Linux. 2021-04-29 11:21:57 +04:00
John Preston
9c9fc9e881 Version 2.7.4: Fix build for macOS. 2021-04-28 14:08:02 +04:00
John Preston
1d089366ff Version 2.7.4.
- Fix crash in viewing an invoice after a payment is made.
- Respect Focus Assist only for native notifications.
- Mark messages as read only in active window.
2021-04-28 13:16:01 +04:00
John Preston
fe40464e33 Force separate panel into the screen geometry. 2021-04-28 13:16:00 +04:00
John Preston
728b1efb9a Respect Focus Assist only for native notifications.
Fixes #16215.
2021-04-28 11:20:39 +04:00
John Preston
175f3d7a38 Use our fork of 'snapcraft-desktop-helpers'. 2021-04-28 10:46:03 +04:00
Stepan Skryabin
ae1fb8841a Update supported operating systems 2021-04-28 09:39:58 +03:00
Ilya Fedin
16ba20f898 Prefer portal file dialog in all environments 2021-04-28 09:39:20 +03:00
Daniil
d8ffc114d3 Revert number keys check 2021-04-28 09:38:23 +03:00
Daniil
23bd76a8dd Expand moderating mode some more
Revert key check, since number keys stopped working if bot have 
Add missing commands since last PR, also add keys to respect both keypad and regular keyboard users.
2021-04-28 09:38:23 +03:00
John Preston
d85981cca0 Revert "Check if the window is not overlapped when is not active"
This reverts commit 6b1bc1e845.

Fixes #16188. Maybe add an option later.
2021-04-28 10:36:15 +04:00
Ilya Fedin
7b466e0643 Take shadow into account when saving/restoring window geometry 2021-04-28 10:13:54 +04:00
John Preston
d984c5924d Fix crash in invoice view.
Fixes #16210.
2021-04-27 22:18:35 +04:00
23rd
cfa3352caf Added NuGet to Github CI for Windows. 2021-04-27 21:16:26 +03:00
Ilya Fedin
05d2fc819c Bind path to WebkitWebProcess 2021-04-27 17:44:41 +03:00
Ilya Fedin
cb930a89ce Silence ServiceUnknown and Disconnected errors for native notifications 2021-04-27 17:44:16 +03:00
John Preston
3808874da0 Version 2.7.3.
- Fix crash on some versions of Linux.
- Fix video not stopping when PiP window is closed.
- Fix messages marking as read if the Windows session is locked.
2021-04-27 14:15:25 +04:00
John Preston
3be8521b9a Fix 'Start Now' in scheduled voice chats. 2021-04-27 14:15:25 +04:00
John Preston
9fb72e1c3e Add 'MM / YY' and 'CVC' to langpack. 2021-04-27 14:15:25 +04:00
John Preston
e26e666135 Hide native notification details on lock screen. 2021-04-27 13:51:52 +04:00
John Preston
e9196bbbb5 Fix closing PiP that was opened without media viewer.
Fixes #16193.
2021-04-27 13:31:51 +04:00
John Preston
819ce06dfb Don't mark messages as read when screen is locked. 2021-04-27 13:31:51 +04:00
John Preston
da1168fb00 Fix crash on Linux.
Fixes #16198.
2021-04-27 13:12:04 +04:00
John Preston
ffdcda5a90 Version 2.7.2.
- Offer real goods and services for sale in any group,
channel or bot – Telegram doesn't charge a commission.
- Pay for goods securely using one of the 8 integrated
payment providers – Telegram doesn't collect your payment info.
- See how this works in our @TestStore.
- Schedule voice chats to let participants know about them in advance.
- View a countdown to the voice chat and get notified when it starts.
- Try two new, fully-featured versions of Telegram Web – both
supporting animated stickers, dark mode, chat folders and more:
https://webk.telegram.org/ and https://webz.telegram.org/.
2021-04-26 16:51:32 +04:00
John Preston
06292e7442 Fix crash and glitch in video-in-PiP preserve. 2021-04-26 16:51:32 +04:00
John Preston
5bb73d8d3d Move recent emoji and variants to common settings.
Fixes #16163, fixes #4018, partially fixes #10123.
2021-04-26 10:51:10 +04:00
John Preston
68e35b232d Fix updating langs in payments form buttons. 2021-04-26 10:51:10 +04:00
John Preston
2843500ce3 Add url with the Focus Assist API information.
Thanks https://www.withinrafael.com/2019/09/19/
determine-if-your-app-is-in-a-focus-assist-profiles-priority-list/
2021-04-26 10:51:10 +04:00
John Preston
2730ab1596 Query Focus Assist state on Windows. 2021-04-23 08:04:43 +04:00
Luis Alfredo Figueroa Bracamontes
3a28be1e16 Update README.md to split VS2019 32 and 64 bits
Since there are different methods to build for VS for 32 and 64 bits, I think it'd be good to split the label
2021-04-22 10:12:58 +03:00
John Preston
03214ab522 Add IsOverlapped implementation for macOS to lib_ui. 2021-04-20 16:47:58 +04:00
Ilya Fedin
6b1bc1e845 Check if the window is not overlapped when is not active 2021-04-20 15:44:09 +03:00
John Preston
1d64b53cd0 Improve black-and-white QR code border. 2021-04-20 16:42:43 +04:00
John Preston
c360bb9da4 Use LOG/DEBUG_LOG from lib_base. 2021-04-20 16:42:43 +04:00
John Preston
08e170a068 Backport Qt deadlock fix in patches. 2021-04-19 11:27:24 +04:00
John Preston
42d40a6f8f Remove 'Restrict user' button in gigagroups. 2021-04-19 11:26:04 +04:00
John Preston
d93d47f2cf Always use black-over-white login QR code.
Some android devices don't read light-on-dark QRs.

Fixes #10077. Fixes #16152.
2021-04-19 11:26:04 +04:00
John Preston
25470cde3c Fix unread badge styles on palette changes. 2021-04-19 11:26:04 +04:00
John Preston
c242a61e8c Fix money input field limit without decimal separator. 2021-04-19 11:26:04 +04:00
John Preston
286cb74620 Make WebLoadManager live on the main thread only. 2021-04-19 11:26:04 +04:00
Loïc Molinari
336405b3c7 Fix voice record button infinite animation
Enabling animations triggers an animation of the voice record button
that keeps firing uselessly at ~120 calls per second until the button
is manually toggled. The animation callback cannot stop itself since
it expects the button to be visible.

This commit fixes the issue by preventing spawning the animation if
the widget is hidden.
2021-04-15 16:22:29 +03:00
Ilya Fedin
2eda5bb2d8 Add webkit dependency to snap 2021-04-15 16:20:59 +03:00
Loïc Molinari
06618a5253 Use fine grained session timers
The check of sent requests and containers is done unconditionally
every second even though the request timeout is 10 seconds and the
container timeout is 600 seconds. This commit uses fine grained timers
instead in order to avoid useless system wake-up events.

The check of sent requests is now scheduled on demand when a new
request is queued. Then the callback, while parsing queued requests,
computes the delta to the closest expiring request and automatically
schedules the next check if necessary.

Given the high value of the container timeout, its callback is called
repeatedly every 600 seconds, unless it computes a lower delta for an
expiring container using the same logic as for the requests.
2021-04-15 16:20:42 +03:00
aburmagin
de70df0b6b added CLion-generated files to .gitignore 2021-04-14 08:50:32 +03:00
John Preston
cf6dbfaf55 Fix a crash in case of corrupt local data. 2021-04-14 09:45:51 +04:00
John Preston
6cbee72b8a Closed alpha version 2.7.1.3. 2021-04-13 19:47:28 +04:00
John Preston
0a0803de6f Fix couple of crashes. 2021-04-13 19:46:42 +04:00
John Preston
bee6a1dc06 Second click on Tips button resets tips to $0. 2021-04-13 19:04:27 +04:00
John Preston
155fcb6dde Fix build on Linux with different options. 2021-04-13 19:02:30 +04:00
John Preston
3e5e0cb9df Fix crash on right click in ConfirmBox with link. 2021-04-13 19:02:17 +04:00
John Preston
be74a391ba Show floor()-ed days count till voice chat start. 2021-04-13 18:27:38 +04:00
John Preston
d71b6effd6 Return request for code resend on auth. 2021-04-13 17:54:12 +04:00
John Preston
5ff70315cb Fix crash in GTK + Qt initialization. 2021-04-13 17:30:28 +04:00
John Preston
04c0d79ccc Add payment button icon to the corner. 2021-04-13 17:21:24 +04:00
John Preston
34c5ce16d0 Fix contract violation in shutdown with webview. 2021-04-13 16:52:40 +04:00
John Preston
e52f947f98 Improve webview progress style. 2021-04-13 16:38:38 +04:00
John Preston
40e46e8480 Hide webview progress instantly. 2021-04-13 15:37:25 +04:00
Ilya Fedin
c87802ce65 Move GTK initialization before Qt initialization
To ensure Qt doesn't load GTK earlier than us and gdk_set_allowed_backends respected
2021-04-13 14:03:00 +03:00
John Preston
73c63cb2c7 Hide payments webview progress when destroying. 2021-04-13 14:05:31 +04:00
John Preston
0ead0879d7 Support blocking progress in payment panel. 2021-04-12 19:24:36 +04:00
John Preston
52b5c4cbe0 Fix animated stickers with BOM.
Regression was introduced in 98afc99a8f (RapidJSON update in rlottie).
2021-04-12 17:48:16 +04:00
John Preston
a9422111a2 Fix crash in leaving Recent Actions with GIFs. 2021-04-12 17:46:46 +04:00
John Preston
e5ac7a1416 Fix creating a scheduled voice chat. 2021-04-12 15:36:19 +04:00
Alexander Bushnev
99501d844d Remember that media view was switched to PIP and open it as PIP again.
Very useful, especially on large monitors.
Since the permanent opening of the video in full screen interferes and hide other applications.
This functionality allows remembering (in the current session) that the window has been switched to a PIP mode and will open a new video directly in the PIP mode.
2021-04-12 12:03:48 +03:00
Loïc Molinari
46ee5598f5 Remove dangling timer in MTP Session
Commit bdc7f4114f got rid of
_timeouter's callback without removing the timer that still fires
every second.
2021-04-12 12:03:15 +03:00
John Preston
aa843ee978 Update lib_ui. 2021-04-12 13:02:53 +04:00
Ilya Fedin
ad0c93cbb1 Take shadow into account when saving/restoring window geometry 2021-04-12 11:55:30 +03:00
John Preston
35ff621b5b Show toast on successfull payment. 2021-04-12 12:50:31 +04:00
John Preston
a2d2c8a208 Update tgcalls library. 2021-04-12 12:50:14 +04:00
John Preston
0e1a445614 Fix serializing peers. 2021-04-12 10:48:17 +04:00
John Preston
13d0d15a50 Closed alpha version 2.7.1.2. 2021-04-12 10:48:17 +04:00
John Preston
16f1875fdc Fix crash in reading StorageFileLocation. 2021-04-12 10:48:17 +04:00
John Preston
4625e7613b Use data_peer_id in export. 2021-04-12 10:48:17 +04:00
John Preston
a100048cce Fix build on macOS and Linux. 2021-04-12 10:48:17 +04:00
John Preston
188070d03f Closed alpha version 2.7.1.1. 2021-04-12 10:48:17 +04:00
23rd
23996d14d3 Fixed display of chat buttons on main touchbar after audio touchbar.
Fixed #10361.
2021-04-12 10:48:17 +04:00
23rd
07c65dfd74 Fixed song covers for voice chat records. 2021-04-12 10:48:17 +04:00
23rd
61741b53c3 Fixed display of rescheduling selected messages in other sections. 2021-04-12 10:48:16 +04:00
John Preston
ae74c8a6b8 Show voice chat start time in service message. 2021-04-12 10:48:16 +04:00
John Preston
4ecd1049b2 Allow scheduling voice chats for up to 7 days. 2021-04-12 10:48:16 +04:00
John Preston
71c4cc9623 Pass theme params to payments.GetPaymentForm. 2021-04-12 10:48:16 +04:00
John Preston
d41bd1483e Queue skipped self updates in voice chats. 2021-04-12 10:48:16 +04:00
John Preston
0e47c6b415 Show 'Late by' state and glow in ForceMuted state. 2021-04-12 10:48:16 +04:00
John Preston
4d91ab7079 Update lottie icons in voice chats. 2021-04-12 10:48:16 +04:00
John Preston
dc2192d5ca Invoke click handler from a closed ConfirmBox.
Fixes #10597.
2021-04-09 15:05:00 +04:00
John Preston
1342077dcb Use 48 bit [User/Chat/Channel]Id, 56 bit PeerId. 2021-04-09 15:05:00 +04:00
John Preston
61d0cc38b0 Add native card input support through smartglocal. 2021-04-08 12:49:28 +04:00
John Preston
79f7aa703a Allow clearing saved payments information. 2021-04-07 15:43:32 +04:00
John Preston
65dd9b82c0 Share instead of Settings for scheduled voice chats. 2021-04-07 14:56:53 +04:00
John Preston
96bc4858c1 Add schedule voice chat link in ConfirmBox. 2021-04-07 11:21:59 +04:00
John Preston
27fc61c676 Add confirm for starting scheduled voice chat early. 2021-04-06 20:09:52 +04:00
John Preston
8c7217ad56 Fix build on macOS. 2021-04-06 18:53:03 +04:00
John Preston
bd42c68978 Fix members list after schedule voice chat start. 2021-04-06 18:41:16 +04:00
John Preston
c2900db061 Allow change join_as in scheduled call. 2021-04-06 18:41:16 +04:00
John Preston
d7e90fec1a Add a nice countdown to scheduled voice chat panel. 2021-04-06 18:41:16 +04:00
John Preston
66e7f05df1 Improve scheduled voice chat top bar design. 2021-04-06 18:41:16 +04:00
John Preston
088fda4ed8 Correctly track mute button scheduled state. 2021-04-06 18:41:16 +04:00
John Preston
15d17c8b0e Add creating of a scheduled group call. 2021-04-06 18:41:16 +04:00
John Preston
e6587f2556 Add limited webview support on Linux. 2021-04-06 18:41:16 +04:00
John Preston
d40687adb8 Remove testing code. 2021-04-06 18:41:16 +04:00
John Preston
ee098d00ad Add better error reporting to payments. 2021-04-06 18:41:16 +04:00
John Preston
e106bd143e Add a warning once per bot on payment. 2021-04-06 18:41:16 +04:00
John Preston
62684ab9bb Warn before closing payment panel. 2021-04-06 18:41:16 +04:00
John Preston
69b70cda54 Explain registration from mobiles only. 2021-04-06 18:41:16 +04:00
John Preston
b6c86fd298 Add nice tips buttons. 2021-04-06 18:41:16 +04:00
John Preston
d55d7f37d7 Close payments panel by escape. 2021-04-06 18:41:16 +04:00
John Preston
b1c122a260 Add ' (Test)' to checkout panel titles. 2021-04-06 18:41:16 +04:00
John Preston
bdffdea358 Always jump to next field in payments. 2021-04-06 18:41:16 +04:00
John Preston
491ec2db7f Always show footer in webview in payments. 2021-04-06 18:41:16 +04:00
John Preston
cd4a9d7c16 Show 'phone/email passed to provider' in payments. 2021-04-06 18:41:16 +04:00
John Preston
7cbe158d00 Update API scheme. 2021-04-06 18:41:16 +04:00
John Preston
1cc1f380d0 Implement a nice money input field. 2021-04-06 18:41:16 +04:00
John Preston
0188719d04 Fix payments with zero tips. 2021-04-06 18:41:16 +04:00
John Preston
e6ba6050e7 Update button on paid invoices to 'Receipt'. 2021-04-06 18:41:16 +04:00
John Preston
889e0dc035 Fix build for macOS / Linux. 2021-04-06 18:41:16 +04:00
John Preston
663db64688 Allow saving and using saved credentials. 2021-04-06 18:41:16 +04:00
John Preston
2e58993181 Use title/description from paymentReceipt. 2021-04-06 18:41:16 +04:00
John Preston
f09a468a7c Improve design of payment bottom buttons. 2021-04-06 18:41:16 +04:00
John Preston
b08d9fe0b8 Reactivate window on payment close. 2021-04-06 18:41:16 +04:00
John Preston
619f70ab22 Improve design of shipping option selection. 2021-04-06 18:41:16 +04:00
John Preston
21b502c754 Format money amount same way as server does. 2021-04-06 18:41:16 +04:00
John Preston
8cac76931e Support adding tips in payments. 2021-04-06 18:41:15 +04:00
John Preston
00c915e58d Add support for inline invoices. 2021-04-06 18:41:15 +04:00
John Preston
8889329415 Support sending live location in inline bot results. 2021-04-06 18:41:15 +04:00
John Preston
3ec3f6484f Update API scheme to layer 128. 2021-04-06 18:41:15 +04:00
John Preston
c7a1771dec Simple receipt viewing. 2021-04-06 18:41:15 +04:00
John Preston
320adcd389 Fix showing comments from the beginning. 2021-04-06 18:41:15 +04:00
John Preston
1050447eed Add phone format and validation in payments. 2021-04-06 18:41:15 +04:00
John Preston
0af6c4b0b6 Add local validation for card information. 2021-04-06 18:41:15 +04:00
John Preston
e077163322 Add nice country choosing in payments. 2021-04-06 18:41:15 +04:00
John Preston
47fdef1e38 Improve checkout information / card page design. 2021-04-06 18:41:15 +04:00
John Preston
fafea73ea7 Improve checkout main page design. 2021-04-06 18:41:15 +04:00
John Preston
56031a6402 Handle native / non-native payment methods (same way). 2021-04-06 18:41:15 +04:00
John Preston
5e4bc200c2 Support entering card details natively. 2021-04-06 18:41:15 +04:00
John Preston
5bc6e6533f Fix jumping of Media Viewer in some DEs. 2021-04-06 18:41:15 +04:00
John Preston
76b4e18518 Port required parts of Stripe SDK to lib_stripe. 2021-04-06 18:41:15 +04:00
John Preston
994dbf9eb5 Validate saved information on payment form open. 2021-04-06 18:41:15 +04:00
John Preston
212497413c Show some payment errors, focus fields. 2021-04-06 18:41:15 +04:00
John Preston
0d44736575 First full-featured version of payments, no design. 2021-04-06 18:41:15 +04:00
John Preston
4c707bff29 Start proper payments processing. 2021-04-06 18:41:15 +04:00
John Preston
25bbde2739 Use navigation cancel in Webview. 2021-04-06 18:36:09 +04:00
John Preston
c74e240d30 Update lib_webview. 2021-04-06 18:36:09 +04:00
John Preston
7b277aa770 Start Linux support. 2021-04-06 18:36:09 +04:00
John Preston
f93527442d Use lib_webview implementation on macOS. 2021-04-06 18:36:09 +04:00
John Preston
35610da750 Use lib_webview implementation on Windows. 2021-04-06 18:36:09 +04:00
John Preston
21228783da Fix webview on macOS. 2021-04-06 18:36:09 +04:00
John Preston
b323e5ffcf 3DSecure in Proof-Of-Concept payments. 2021-04-06 18:36:09 +04:00
John Preston
7c979144fc Proof-Of-Concept simplest invoice payment. 2021-04-06 18:36:09 +04:00
John Preston
fd85efa9ba Link Telegram with lib_webview. 2021-04-06 18:36:09 +04:00
John Preston
22da48d231 Add webview / lib_webview submodules. 2021-04-06 18:36:09 +04:00
Ilya Fedin
3343880ed0 Watch for network availability changes 2021-04-06 16:40:29 +03:00
Ilya Fedin
df73bda1ff Update lib_ui 2021-04-05 10:19:24 +03:00
Ilya Fedin
75a782cced Workaround force setting of WM_TRANSIENT_HINT in Qt's xcb backend 2021-04-05 10:19:24 +03:00
Ilya Fedin
0e126e2550 More advanced logging about... logging 2021-04-05 09:22:04 +03:00
Ilya Fedin
cffb615a4d Fix build 2021-04-05 09:22:04 +03:00
Ilya Fedin
7ab3be3631 Handle any audio type with MPRIS 2021-04-05 09:08:33 +03:00
Ilya Fedin
591488c497 Close players instead of quitting the app 2021-04-05 09:08:33 +03:00
Ilya Fedin
ae54c8af6a Add support for setting cover with MPRIS 2021-04-05 09:08:33 +03:00
Ilya Fedin
30c86523ff Remove redudant indenattion level in MPRIS XML 2021-04-05 09:08:33 +03:00
Ilya Fedin
9a6e571154 Move XDP file dialog to glibmm mime type & regex methods 2021-04-05 08:30:04 +03:00
Ilya Fedin
13a497cf5d Update lib_base 2021-04-05 08:25:47 +03:00
Ilya Fedin
6463890b11 Workaround snap's activation restriction 2021-04-05 08:25:47 +03:00
Ilya Fedin
073b5b106c Get rid of modal parent hack
It was introduced to workaround the absence of size hints propagating in Qt 5.12 Wayland backend, there's no need in it anymore
2021-04-05 08:03:46 +03:00
Ilya Fedin
0cd8cc67c5 Scale window icon manually when getting from icon theme 2021-04-05 08:02:50 +03:00
Nicholas Guriev
f528a240d9 Rely on QT_STRINGIFY instead of custom macro 2021-04-05 07:59:18 +03:00
GitHub Action
a814c3f428 Update User-Agent for DNS to Chrome 89.0.4389.90. 2021-04-02 20:49:20 +03:00
Ilya Fedin
81d052adfc Add a way to get dark mode state on KDE 2021-04-02 20:30:47 +03:00
Ilya Fedin
822c1cafd2 Fix a space on end of a line in linux_mpris_support 2021-04-02 20:30:47 +03:00
Ilya Fedin
c08a148baf Fix build on 32-bit systems 2021-03-23 18:21:07 +03:00
John Preston
a38a94ed9c Update submodules. 2021-03-22 22:38:22 +04:00
John Preston
4d579f873c Remove tested 110% scale. 2021-03-22 19:52:51 +04:00
John Preston
56c8327746 Fix emoji picker button in boxes in non-default scale. 2021-03-22 19:41:13 +04:00
John Preston
0e6d4291a2 Fix close window button paint in theme preview. 2021-03-22 19:40:12 +04:00
John Preston
8ca622d077 Remove 100% from voice chat 'speaking' status. 2021-03-22 18:55:07 +04:00
John Preston
4d24f28fd0 By voicechat link open the channel as well. 2021-03-22 17:24:53 +04:00
John Preston
2b3469ef22 Remove CAPS in calls / voice chats top bar. 2021-03-22 16:44:00 +04:00
John Preston
03a868a6e3 Allow skipping stuck files in data export.
Fixes #6423.
2021-03-22 16:32:40 +04:00
Ilya Fedin
12db51fe75 Avoid removing portal platformtheme plugin in snap 2021-03-22 07:57:18 +03:00
Ilya Fedin
ce5579e8f9 Unify gtk/xdp file dialog getters 2021-03-22 07:57:18 +03:00
Ilya Fedin
a16b7fbb83 Fix path to executable in ComputeExternalUpdater 2021-03-21 09:04:43 +03:00
Ilya Fedin
9f6f7f7c9b Fix build without dbus 2021-03-21 08:59:19 +03:00
John Preston
a82d1e863e Version 2.7.1: Fix channels ban in admin log. 2021-03-20 18:19:31 +04:00
John Preston
26d97a3636 Version 2.7.1.
- Fix editing 'Manage Voice Chats' rights for channel admins.
- Fix verification check display in voice chat participants list.
- Allow removing and blocking channels from voice chats.
2021-03-20 16:23:41 +04:00
John Preston
7b8e421996 Allow markup in some voice chat toasts. 2021-03-20 16:23:41 +04:00
John Preston
2bc2a0e459 Fix possible integer overflow. 2021-03-20 16:03:58 +04:00
John Preston
7cb4b4f8ab Don't try to use WebRTC built-in audio backends. 2021-03-20 15:43:35 +04:00
John Preston
b439ecce16 Allow all toasts to be multiline in voice chats. 2021-03-20 15:43:35 +04:00
John Preston
a33a4c0589 Fix maximize/restore voice chat title bar button. 2021-03-20 15:43:35 +04:00
John Preston
5278e2201f Make red 'Remove' in voice chat participant menu. 2021-03-20 15:43:35 +04:00
John Preston
3bd6b2268f Allow blocking channels in voice chats. 2021-03-20 15:43:35 +04:00
John Preston
a0a13c3b86 Update API scheme to layer 126. 2021-03-20 15:43:35 +04:00
John Preston
0052c7938f Fix verified icon in voice chat participants list. 2021-03-20 15:43:35 +04:00
John Preston
a14db3e492 Allow editing 'Manage Voice Chats' admin right in channels. 2021-03-20 15:43:35 +04:00
Ilya Fedin
7979b3b6c8 Fix devtoolset version in linux action 2021-03-20 14:33:02 +03:00
Ilya Fedin
3f25e92afd Add build options for libtgvoip backends
libtgvoip has options to disbale some backends, but they never were exposed via tdesktop's cmake

Since libtgvoip autoconf build system doesn't work anymore, it's worth to have these options in tdesktop's cmake.
2021-03-20 14:33:02 +03:00
Ilya Fedin
3d1cddaca5 Add a way to change default handler in snap 2021-03-20 14:20:09 +03:00
John Preston
eeecc42c25 Version 2.7.
- Start limitless Voice Chats in Groups and Channels.
- Host discussions that can be listened to
by millions of people simultaneously.
- Record voice chats to share or publish in Channels later.
- See that a chat is being recorded
from the red dot next to its title.
- See user bio texts right from the list of participants.
- Raise your hand to show admins you want to speak.
- Create separate Voice Chat Invite Links for listeners or speakers.
- Change the title of your Voice Chat
to give people an idea of the current topic.
- Join Voice Chats as one of your Channels
to hide your personal account.
2021-03-19 14:15:26 +04:00
John Preston
e22ecafc1d Add confirmation on create / anonymous admin join. 2021-03-19 14:10:02 +04:00
John Preston
ba41da7b28 Fix discarded group call handle. 2021-03-19 00:57:16 +04:00
John Preston
9cfbccf9e7 Beta version 2.6.8.
- Fix connecting and getting allowed to speak on voice chats.
- MPRIS support on Linux.
2021-03-18 22:56:42 +04:00
John Preston
2b6f50e114 Fix joining / unmuting. 2021-03-18 22:56:42 +04:00
Ilya Fedin
d2f57b72c3 Add mpris permission for snap 2021-03-18 21:55:06 +03:00
Ilya Fedin
85ac983a27 Add MPRIS support 2021-03-18 21:55:06 +03:00
John Preston
ac397e6e19 Beta version 2.6.7.
- Improve voice chat participants list updating.
2021-03-18 18:05:43 +04:00
John Preston
38e15c9bdb Fix saving legacy chat admins without migration.
Fixes #10558.
2021-03-18 17:27:33 +04:00
John Preston
00d65fa978 Request one participants slice on voice chat reload. 2021-03-18 16:58:05 +04:00
John Preston
3fea9cca08 Subscribe to channel updates in voice chat. 2021-03-18 15:54:28 +04:00
John Preston
b390e0766b Apply all queued updates on reload. 2021-03-18 15:30:58 +04:00
John Preston
2f75e6bbe2 Add some logging for voice chat updates. 2021-03-18 15:22:55 +04:00
Ilya Fedin
decbbb9a73 Check for openal fork updates in Dockerfile 2021-03-18 07:51:57 +03:00
Ilya Fedin
b4b80822c8 Set glib's application name and prgname 2021-03-18 07:51:57 +03:00
John Preston
bc82cdc3b3 Call dump_syms and strip outside of docker. 2021-03-18 02:33:29 +04:00
John Preston
ebc67d25f0 Migrate docker build to GCC 9. 2021-03-18 00:30:12 +04:00
John Preston
348b4d54ba Revert "Workaround build issues on GCC."
This reverts commit 3defb06783.
2021-03-18 00:30:12 +04:00
John Preston
6f86ce595b Beta version 2.6.6.
- Fix joining popular voice chats.
2021-03-18 00:26:53 +04:00
John Preston
8c53a3c19e Don't skip updateGroupCallParticipants while in getDifference. 2021-03-18 00:25:53 +04:00
John Preston
67623072d6 Fix joining a voice chat. 2021-03-18 00:24:36 +04:00
John Preston
1291f1c80d Beta version 2.6.5.
- Improvements and fixes in new voice chat features.
2021-03-17 21:16:55 +04:00
John Preston
0684db9bd8 Improve participants sorting in voice chats. 2021-03-17 20:37:55 +04:00
John Preston
db7b61a77b Rewrite voice chat members list management. 2021-03-17 20:37:55 +04:00
John Preston
d392633b90 Send speaking typings in channels. 2021-03-17 20:37:55 +04:00
John Preston
76e08af26a Apply updateGroupCallParticipants before updateGroupCall. 2021-03-17 20:37:55 +04:00
John Preston
b23f16e6e4 Don't show 'allowed to speak' on first join. 2021-03-17 20:37:54 +04:00
23rd
23156d523c Fixed Github CI Windows build. 2021-03-17 18:59:20 +03:00
Ilya Fedin
04b0e2e9e6 Update submodules 2021-03-17 18:58:02 +03:00
Ilya Fedin
ace5740125 Use QProcess::startDetached for xdg-open
Since it may running continously
2021-03-17 15:39:26 +03:00
John Preston
bc67b79023 Beta version 2.6.4: 110% UI scale on macOS Retina. 2021-03-17 00:07:08 +04:00
John Preston
528c98af67 Beta version 2.6.4.
- Fix freeze in voice chats.
2021-03-17 00:02:05 +04:00
John Preston
311a2f2753 Fix freeze in voice chats. 2021-03-16 23:54:58 +04:00
John Preston
3defb06783 Workaround build issues on GCC. 2021-03-16 22:26:58 +04:00
John Preston
5708b5e849 Fix confirmation when joining by link. 2021-03-16 21:06:36 +04:00
705 changed files with 44399 additions and 17392 deletions

3
.gitattributes vendored
View File

@@ -4,3 +4,6 @@
# Ensure diffs have LF endings
*.diff text eol=lf
*.bat text eol=crlf
# Ensure lottie animations are treated as binary files
*.lottie binary

2
.github/stale.yml vendored
View File

@@ -3,7 +3,7 @@ daysUntilStale: 180
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 30
# Issues with these labels will never be considered stale
exemptLabels: []
exemptLabels: [ "enhancement" ]
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable

View File

@@ -55,7 +55,7 @@ jobs:
defaults:
run:
shell: scl enable devtoolset-8 -- bash --noprofile --norc -eo pipefail {0}
shell: scl enable devtoolset-9 -- bash --noprofile --norc -eo pipefail {0}
strategy:
matrix:
@@ -65,6 +65,8 @@ jobs:
- "DESKTOP_APP_DISABLE_X11_INTEGRATION"
- "DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION"
- "DESKTOP_APP_DISABLE_GTK_INTEGRATION"
- "LIBTGVOIP_DISABLE_ALSA"
- "LIBTGVOIP_DISABLE_PULSEAUDIO"
env:
UPLOAD_ARTIFACT: "false"
@@ -91,6 +93,9 @@ jobs:
DEFINE=""
if [ -n "${{ matrix.defines }}" ]; then
DEFINE="-D ${{ matrix.defines }}=ON"
if [ "${{ matrix.defines }}" == "DESKTOP_APP_DISABLE_DBUS_INTEGRATION" ]; then
DEFINE="$DEFINE -D DESKTOP_APP_DISABLE_GTK_INTEGRATION=ON"
fi
echo Define from matrix: $DEFINE
echo "ARTIFACT_NAME=Telegram_${{ matrix.defines }}" >> $GITHUB_ENV
else

View File

@@ -205,6 +205,16 @@ jobs:
cd $LibrariesPath
sudo cp -R opus-cache/. /
- name: Rnnoise.
run: |
cd $LibrariesPath
git clone $GIT/desktop-app/rnnoise.git
mkdir -p rnnoise/out/Debug
cd rnnoise/out/Debug
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug ../..
ninja
- name: Libiconv cache.
id: cache-libiconv
uses: actions/cache@v2
@@ -240,7 +250,7 @@ jobs:
git clone $GIT/FFmpeg/FFmpeg.git ffmpeg
cd ffmpeg
git checkout release/4.2
git checkout release/4.4
CFLAGS=`freetype-config --cflags`
LDFLAGS=`freetype-config --libs`
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/X11/lib/pkgconfig
@@ -317,7 +327,6 @@ jobs:
--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 \
@@ -490,6 +499,7 @@ jobs:
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DTG_OWT_SPECIAL_TARGET=mac \
-DTG_OWT_BUILD_AUDIO_BACKENDS=OFF \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=$PREFIX/include \
-DTG_OWT_OPENSSL_INCLUDE_PATH=`pwd`/../../../openssl_$OPENSSL_VER/include \
-DTG_OWT_OPUS_INCLUDE_PATH=$PREFIX/include/opus \

View File

@@ -114,6 +114,11 @@ jobs:
- name: Choco installs.
run: choco install --no-progress -y nasm yasm jom ninja
- name: NuGet sources.
run: |
nuget sources Disable -Name "Microsoft Visual Studio Offline Packages"
nuget sources Add -Source https://api.nuget.org/v3/index.json & exit 0
- name: Patches.
shell: bash
run: |
@@ -128,7 +133,7 @@ jobs:
shell: bash
run: |
echo "Find any version of Python 2."
p=`ls /c/hostedtoolcache/windows/python | grep 2 | tail -1`
p=`ls /c/hostedtoolcache/windows/python | grep "^2" | tail -1`
if [ -z "$p" ]; then
echo "Python 2 is not found."
exit 1
@@ -279,6 +284,17 @@ jobs:
msbuild -m opus.sln /property:Configuration=Debug /property:Platform="Win32"
msbuild -m opus.sln /property:Configuration=Release /property:Platform="Win32"
- name: Rnnoise.
shell: cmd
run: |
%VC%
git clone %GIT%/desktop-app/rnnoise.git
mkdir rnnoise\out
cd rnnoise\out
cmake -A Win32 ..
cmake --build . --config Debug
- name: FFmpeg cache.
id: cache-ffmpeg
uses: actions/cache@v2
@@ -293,7 +309,7 @@ jobs:
git clone %GIT%/FFmpeg/FFmpeg.git ffmpeg
cd ffmpeg
git checkout release/4.2
git checkout release/4.4
set CHERE_INVOKING=enabled_from_arguments
set MSYS2_PATH_TYPE=inherit
call c:\tools\msys64\usr\bin\bash --login ../patches/build_ffmpeg_win.sh
@@ -332,7 +348,7 @@ jobs:
-confirm-license ^
-static ^
-static-runtime -I "%SSL%\include" ^
-no-opengl ^
-opengl dynamic ^
-openssl-linked ^
OPENSSL_LIBS_DEBUG="%SSL%\out32.dbg\libssl.lib %SSL%\out32.dbg\%LIBS%" ^
OPENSSL_LIBS_RELEASE="%SSL%\out32\libssl.lib %SSL%\out32\%LIBS%" ^
@@ -372,6 +388,7 @@ jobs:
cmake -G Ninja ^
-DCMAKE_BUILD_TYPE=Debug ^
-DTG_OWT_SPECIAL_TARGET=win ^
-DTG_OWT_BUILD_AUDIO_BACKENDS=OFF ^
-DTG_OWT_LIBJPEG_INCLUDE_PATH=%cd%/../../../mozjpeg ^
-DTG_OWT_OPENSSL_INCLUDE_PATH=%cd%/../../../openssl_%OPENSSL_VER%/include ^
-DTG_OWT_OPUS_INCLUDE_PATH=%cd%/../../../opus/include ^
@@ -400,6 +417,9 @@ jobs:
fi
echo "TDESKTOP_BUILD_DEFINE=$DEFINE" >> $GITHUB_ENV
- name: Free up some disk space.
run: del /S *.pdb
- name: Telegram Desktop build.
if: env.ONLY_CACHE == 'false'
run: |
@@ -409,6 +429,7 @@ jobs:
-D TDESKTOP_API_TEST=ON ^
-D DESKTOP_APP_USE_PACKAGED=OFF ^
-D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF ^
-D DESKTOP_APP_NO_PDB=ON ^
%TDESKTOP_BUILD_DEFINE% ^
-DCMAKE_SYSTEM_VERSION=%SDK%

2
.gitignore vendored
View File

@@ -48,3 +48,5 @@ stage
/Linux/
/Telegram/Makefile
*.*~
.idea/
cmake-build-debug/

9
.gitmodules vendored
View File

@@ -76,9 +76,6 @@
[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/fcitx5-qt"]
path = Telegram/ThirdParty/fcitx5-qt
url = https://github.com/fcitx/fcitx5-qt.git
@@ -88,3 +85,9 @@
[submodule "Telegram/ThirdParty/tgcalls"]
path = Telegram/ThirdParty/tgcalls
url = https://github.com/TelegramMessenger/tgcalls.git
[submodule "Telegram/lib_webview"]
path = Telegram/lib_webview
url = https://github.com/desktop-app/lib_webview.git
[submodule "Telegram/lib_waylandshells"]
path = Telegram/lib_waylandshells
url = https://github.com/desktop-app/lib_waylandshells.git

View File

@@ -31,6 +31,7 @@ include(cmake/target_link_static_libraries.cmake)
include(cmake/target_link_frameworks.cmake)
include(cmake/init_target.cmake)
include(cmake/generate_target.cmake)
include(cmake/nuget.cmake)
include(cmake/options.cmake)

View File

@@ -15,7 +15,8 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
The latest version is available for
* [Windows 7 and above](https://telegram.org/dl/desktop/win) ([portable](https://telegram.org/dl/desktop/win_portable))
* [Windows 7 and above (64 bit)](https://telegram.org/dl/desktop/win64) ([portable](https://telegram.org/dl/desktop/win64_portable))
* [Windows 7 and above (32 bit)](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)
* [Linux static build for 64 bit](https://telegram.org/dl/desktop/linux)
* [Snap](https://snapcraft.io/telegram-desktop)
@@ -52,17 +53,17 @@ Version **1.8.15** was the last that supports older systems
* Guideline Support Library ([MIT License](https://github.com/Microsoft/GSL/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))
* Vazir font ([SIL Open Font License 1.1](https://github.com/rastikerdar/vazir-font/blob/master/OFL.txt))
* 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))
* Hunspell ([LGPL](https://github.com/hunspell/hunspell/blob/master/COPYING.LESSER))
## Build instructions
* [Visual Studio 2019][msvc]
* Visual Studio 2019 [(32 bits)][msvc32] [(64 bits)][msvc64]
* [Xcode 12][xcode]
* [CMake on GNU/Linux][cmake]
@@ -72,7 +73,8 @@ Version **1.8.15** was the last that supports older systems
[telegram_api]: https://core.telegram.org
[telegram_proto]: https://core.telegram.org/mtproto
[license]: LICENSE
[msvc]: docs/building-msvc.md
[msvc32]: docs/building-msvc.md
[msvc64]: docs/building-msvc-x64.md
[xcode]: docs/building-xcode.md
[xcode_old]: docs/building-xcode-old.md
[cmake]: docs/building-cmake.md

View File

@@ -18,7 +18,11 @@ endif()
add_subdirectory(lib_storage)
add_subdirectory(lib_lottie)
add_subdirectory(lib_qr)
if (LINUX AND NOT DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION)
add_subdirectory(lib_waylandshells)
endif()
add_subdirectory(lib_webrtc)
add_subdirectory(lib_webview)
add_subdirectory(codegen)
get_filename_component(src_loc SourceFiles REALPATH)
@@ -26,6 +30,7 @@ get_filename_component(res_loc Resources REALPATH)
include(cmake/telegram_options.cmake)
include(cmake/lib_ffmpeg.cmake)
include(cmake/lib_stripe.cmake)
include(cmake/lib_tgvoip.cmake)
include(cmake/lib_tgcalls.cmake)
include(cmake/td_export.cmake)
@@ -35,6 +40,11 @@ include(cmake/td_scheme.cmake)
include(cmake/td_ui.cmake)
include(cmake/generate_appdata_changelog.cmake)
if (WIN32)
include(cmake/generate_midl.cmake)
generate_midl(Telegram ${src_loc}/platform/win/windows_quiethours.idl)
endif()
set_target_properties(Telegram PROPERTIES AUTOMOC ON AUTORCC ON)
target_link_libraries(Telegram
@@ -55,7 +65,9 @@ PRIVATE
desktop-app::lib_storage
desktop-app::lib_lottie
desktop-app::lib_qr
desktop-app::lib_webview
desktop-app::lib_ffmpeg
desktop-app::lib_stripe
desktop-app::external_lz4
desktop-app::external_rlottie
desktop-app::external_zlib
@@ -81,7 +93,6 @@ if (LINUX)
target_link_libraries(Telegram
PRIVATE
desktop-app::external_statusnotifieritem
desktop-app::external_dbusmenu_qt
)
endif()
@@ -95,11 +106,13 @@ if (LINUX)
if (NOT DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION)
target_link_libraries(Telegram
PRIVATE
desktop-app::lib_waylandshells
desktop-app::external_kwayland
)
endif()
if (NOT DESKTOP_APP_DISABLE_GTK_INTEGRATION)
target_link_libraries(Telegram PRIVATE rt)
find_package(PkgConfig REQUIRED)
if (DESKTOP_APP_USE_PACKAGED AND NOT DESKTOP_APP_USE_PACKAGED_LAZY)
@@ -111,7 +124,7 @@ if (LINUX)
target_link_libraries(Telegram PRIVATE PkgConfig::X11)
endif()
else()
pkg_search_module(GTK REQUIRED gtk+-3.0 gtk+-2.0)
pkg_check_modules(GTK REQUIRED gtk+-3.0)
target_include_directories(Telegram PRIVATE ${GTK_INCLUDE_DIRS})
if (NOT DESKTOP_APP_DISABLE_X11_INTEGRATION)
@@ -249,8 +262,6 @@ PRIVATE
boxes/sessions_box.h
boxes/share_box.cpp
boxes/share_box.h
boxes/single_choice_box.cpp
boxes/single_choice_box.h
boxes/sticker_set_box.cpp
boxes/sticker_set_box.h
boxes/stickers_box.cpp
@@ -259,23 +270,39 @@ PRIVATE
boxes/url_auth_box.h
boxes/username_box.cpp
boxes/username_box.h
calls/group/calls_choose_join_as.cpp
calls/group/calls_choose_join_as.h
calls/group/calls_group_call.cpp
calls/group/calls_group_call.h
calls/group/calls_group_common.h
calls/group/calls_group_invite_controller.cpp
calls/group/calls_group_invite_controller.h
calls/group/calls_group_members.cpp
calls/group/calls_group_members.h
calls/group/calls_group_members_row.cpp
calls/group/calls_group_members_row.h
calls/group/calls_group_menu.cpp
calls/group/calls_group_menu.h
calls/group/calls_group_panel.cpp
calls/group/calls_group_panel.h
calls/group/calls_group_settings.cpp
calls/group/calls_group_settings.h
calls/group/calls_group_toasts.cpp
calls/group/calls_group_toasts.h
calls/group/calls_group_viewport.cpp
calls/group/calls_group_viewport.h
calls/group/calls_group_viewport_opengl.cpp
calls/group/calls_group_viewport_opengl.h
calls/group/calls_group_viewport_raster.cpp
calls/group/calls_group_viewport_raster.h
calls/group/calls_group_viewport_tile.cpp
calls/group/calls_group_viewport_tile.h
calls/group/calls_volume_item.cpp
calls/group/calls_volume_item.h
calls/calls_box_controller.cpp
calls/calls_box_controller.h
calls/calls_call.cpp
calls/calls_call.h
calls/calls_choose_join_as.cpp
calls/calls_choose_join_as.h
calls/calls_group_call.cpp
calls/calls_group_call.h
calls/calls_group_common.h
calls/calls_group_members.cpp
calls/calls_group_members.h
calls/calls_group_menu.cpp
calls/calls_group_menu.h
calls/calls_group_panel.cpp
calls/calls_group_panel.h
calls/calls_group_settings.cpp
calls/calls_group_settings.h
calls/calls_emoji_fingerprint.cpp
calls/calls_emoji_fingerprint.h
calls/calls_instance.cpp
@@ -290,8 +317,8 @@ PRIVATE
calls/calls_userpic.h
calls/calls_video_bubble.cpp
calls/calls_video_bubble.h
calls/calls_volume_item.cpp
calls/calls_volume_item.h
calls/calls_video_incoming.cpp
calls/calls_video_incoming.h
chat_helpers/bot_keyboard.cpp
chat_helpers/bot_keyboard.h
chat_helpers/emoji_keywords.cpp
@@ -340,6 +367,8 @@ PRIVATE
core/core_cloud_password.h
core/core_settings.cpp
core/core_settings.h
core/core_settings_proxy.cpp
core/core_settings_proxy.h
core/crash_report_window.cpp
core/crash_report_window.h
core/crash_reports.cpp
@@ -365,6 +394,7 @@ PRIVATE
data/stickers/data_stickers_set.h
data/stickers/data_stickers.cpp
data/stickers/data_stickers.h
data/data_abstract_sparse_ids.h
data/data_abstract_structure.cpp
data/data_abstract_structure.h
data/data_auto_download.cpp
@@ -383,16 +413,18 @@ PRIVATE
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_media.cpp
data/data_document_media.h
data/data_document_resolver.cpp
data/data_document_resolver.h
data/data_drafts.cpp
data/data_drafts.h
data/data_folder.cpp
data/data_folder.h
data/data_file_click_handler.cpp
data/data_file_click_handler.h
data/data_file_origin.cpp
data/data_file_origin.h
data/data_flags.h
@@ -415,6 +447,8 @@ PRIVATE
data/data_notify_settings.h
data/data_peer.cpp
data/data_peer.h
data/data_peer_id.cpp
data/data_peer_id.h
data/data_peer_values.cpp
data/data_peer_values.h
data/data_photo.cpp
@@ -696,6 +730,8 @@ PRIVATE
main/main_session.h
main/main_session_settings.cpp
main/main_session_settings.h
media/system_media_controls_manager.h
media/system_media_controls_manager.cpp
media/audio/media_audio.cpp
media/audio/media_audio.h
media/audio/media_audio_capture.cpp
@@ -750,14 +786,25 @@ PRIVATE
media/streaming/media_streaming_video_track.h
media/view/media_view_group_thumbs.cpp
media/view/media_view_group_thumbs.h
media/view/media_view_overlay_opengl.cpp
media/view/media_view_overlay_opengl.h
media/view/media_view_overlay_raster.cpp
media/view/media_view_overlay_raster.h
media/view/media_view_overlay_renderer.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_pip_opengl.cpp
media/view/media_view_pip_opengl.h
media/view/media_view_pip_raster.cpp
media/view/media_view_pip_raster.h
media/view/media_view_pip_renderer.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_open_common.h
mtproto/config_loader.cpp
mtproto/config_loader.h
mtproto/connection_abstract.cpp
@@ -796,8 +843,6 @@ PRIVATE
passport/passport_panel.h
passport/passport_panel_controller.cpp
passport/passport_panel_controller.h
passport/passport_panel_details_row.cpp
passport/passport_panel_details_row.h
passport/passport_panel_edit_contact.cpp
passport/passport_panel_edit_contact.h
passport/passport_panel_edit_document.cpp
@@ -808,14 +853,17 @@ PRIVATE
passport/passport_panel_form.h
passport/passport_panel_password.cpp
passport/passport_panel_password.h
payments/payments_checkout_process.cpp
payments/payments_checkout_process.h
payments/payments_form.cpp
payments/payments_form.h
platform/linux/linux_desktop_environment.cpp
platform/linux/linux_desktop_environment.h
platform/linux/linux_gdk_helper.cpp
platform/linux/linux_gdk_helper.h
platform/linux/linux_gsd_media_keys.cpp
platform/linux/linux_gsd_media_keys.h
platform/linux/linux_gtk_file_dialog.cpp
platform/linux/linux_gtk_file_dialog.h
platform/linux/linux_gtk_integration_dummy.cpp
platform/linux/linux_gtk_integration_p.h
platform/linux/linux_gtk_integration.cpp
platform/linux/linux_gtk_integration.h
@@ -823,6 +871,7 @@ PRIVATE
platform/linux/linux_gtk_open_with_dialog.h
platform/linux/linux_notification_service_watcher.cpp
platform/linux/linux_notification_service_watcher.h
platform/linux/linux_wayland_integration_dummy.cpp
platform/linux/linux_wayland_integration.cpp
platform/linux/linux_wayland_integration.h
platform/linux/linux_xdp_file_dialog.cpp
@@ -835,6 +884,7 @@ PRIVATE
platform/linux/launcher_linux.h
platform/linux/main_window_linux.cpp
platform/linux/main_window_linux.h
platform/linux/notifications_manager_linux_dummy.cpp
platform/linux/notifications_manager_linux.cpp
platform/linux/notifications_manager_linux.h
platform/linux/specific_linux.cpp
@@ -844,6 +894,7 @@ PRIVATE
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
@@ -1005,8 +1056,6 @@ PRIVATE
ui/widgets/level_meter.h
ui/widgets/multi_select.cpp
ui/widgets/multi_select.h
ui/widgets/separate_panel.cpp
ui/widgets/separate_panel.h
ui/countryinput.cpp
ui/countryinput.h
ui/empty_userpic.cpp
@@ -1022,8 +1071,8 @@ PRIVATE
ui/search_field_controller.h
ui/special_buttons.cpp
ui/special_buttons.h
ui/special_fields.cpp
ui/special_fields.h
ui/text/format_song_document_name.cpp
ui/text/format_song_document_name.h
ui/unread_badge.cpp
ui/unread_badge.h
window/main_window.cpp
@@ -1037,6 +1086,8 @@ PRIVATE
window/section_memento.h
window/section_widget.cpp
window/section_widget.h
window/window_adaptive.cpp
window/window_adaptive.h
window/window_connecting_widget.cpp
window/window_connecting_widget.h
window/window_controller.cpp
@@ -1113,6 +1164,8 @@ if (DESKTOP_APP_DISABLE_DBUS_INTEGRATION)
remove_target_sources(Telegram ${src_loc}
platform/linux/linux_gsd_media_keys.cpp
platform/linux/linux_gsd_media_keys.h
platform/linux/linux_mpris_support.cpp
platform/linux/linux_mpris_support.h
platform/linux/linux_notification_service_watcher.cpp
platform/linux/linux_notification_service_watcher.h
platform/linux/linux_xdp_file_dialog.cpp
@@ -1121,38 +1174,41 @@ if (DESKTOP_APP_DISABLE_DBUS_INTEGRATION)
platform/linux/linux_xdp_open_with_dialog.h
platform/linux/notifications_manager_linux.cpp
)
nice_target_sources(Telegram ${src_loc}
PRIVATE
else()
remove_target_sources(Telegram ${src_loc}
platform/linux/notifications_manager_linux_dummy.cpp
)
endif()
if (DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION)
remove_target_sources(Telegram ${src_loc} platform/linux/linux_wayland_integration.cpp)
nice_target_sources(Telegram ${src_loc} PRIVATE platform/linux/linux_wayland_integration_dummy.cpp)
remove_target_sources(Telegram ${src_loc}
platform/linux/linux_wayland_integration.cpp
)
else()
remove_target_sources(Telegram ${src_loc}
platform/linux/linux_wayland_integration_dummy.cpp
)
endif()
if (DESKTOP_APP_DISABLE_GTK_INTEGRATION)
remove_target_sources(Telegram ${src_loc}
platform/linux/linux_gdk_helper.cpp
platform/linux/linux_gdk_helper.h
platform/linux/linux_gtk_file_dialog.cpp
platform/linux/linux_gtk_file_dialog.h
platform/linux/linux_gtk_integration_p.h
platform/linux/linux_gtk_integration.cpp
platform/linux/linux_gtk_open_with_dialog.cpp
platform/linux/linux_gtk_open_with_dialog.h
)
nice_target_sources(Telegram ${src_loc}
PRIVATE
else()
remove_target_sources(Telegram ${src_loc}
platform/linux/linux_gtk_integration_dummy.cpp
)
endif()
if (NOT DESKTOP_APP_USE_PACKAGED)
nice_target_sources(Telegram ${src_loc} PRIVATE platform/mac/mac_iconv_helper.c)
if (DESKTOP_APP_USE_PACKAGED)
remove_target_sources(Telegram ${src_loc}
platform/mac/mac_iconv_helper.c
)
endif()
nice_target_sources(Telegram ${res_loc}
@@ -1188,8 +1244,6 @@ if (WIN32)
# $<IF:${release},"Appending compatibility manifest.","Finalizing build.">
# )
elseif (APPLE)
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()
@@ -1304,6 +1358,32 @@ endif()
set_target_properties(Telegram PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${output_folder})
if (WIN32)
target_link_options(Telegram
PRIVATE
/DELAYLOAD:secur32.dll
/DELAYLOAD:winmm.dll
/DELAYLOAD:ws2_32.dll
/DELAYLOAD:user32.dll
/DELAYLOAD:gdi32.dll
/DELAYLOAD:advapi32.dll
/DELAYLOAD:shell32.dll
/DELAYLOAD:ole32.dll
/DELAYLOAD:oleaut32.dll
/DELAYLOAD:shlwapi.dll
/DELAYLOAD:iphlpapi.dll
/DELAYLOAD:gdiplus.dll
/DELAYLOAD:version.dll
/DELAYLOAD:dwmapi.dll
/DELAYLOAD:crypt32.dll
/DELAYLOAD:bcrypt.dll
/DELAYLOAD:imm32.dll
/DELAYLOAD:netapi32.dll
/DELAYLOAD:userenv.dll
/DELAYLOAD:wtsapi32.dll
)
endif()
if ((NOT DESKTOP_APP_DISABLE_AUTOUPDATE OR APPLE) AND NOT build_macstore AND NOT build_winstore)
add_executable(Updater WIN32)
init_target(Updater)
@@ -1320,8 +1400,26 @@ if ((NOT DESKTOP_APP_DISABLE_AUTOUPDATE OR APPLE) AND NOT build_macstore AND NOT
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)
if (WIN32)
get_filename_component(lib_base_loc lib_base REALPATH)
nice_target_sources(Updater ${lib_base_loc}
PRIVATE
base/platform/win/base_windows_safe_library.cpp
base/platform/win/base_windows_safe_library.h
)
target_include_directories(Updater PRIVATE ${lib_base_loc})
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
target_link_options(Updater
PRIVATE
/DELAYLOAD:user32.dll
/DELAYLOAD:advapi32.dll
/DELAYLOAD:shell32.dll
/DELAYLOAD:ole32.dll
/DELAYLOAD:shlwapi.dll
)
else()
target_link_options(Updater PRIVATE -municode)
endif()
endif()
if (LINUX)

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 932 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 991 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 790 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 761 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 729 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 965 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 876 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 967 B

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 B

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 341 B

After

Width:  |  Height:  |  Size: 569 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 427 B

After

Width:  |  Height:  |  Size: 768 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 B

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 B

After

Width:  |  Height:  |  Size: 428 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 273 B

After

Width:  |  Height:  |  Size: 550 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 802 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 985 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 949 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 884 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 711 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 526 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 854 B

After

Width:  |  Height:  |  Size: 664 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -216,6 +216,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_code_desc" = "We have sent you a message with activation\ncode to your phone. Please enter it below.";
"lng_code_from_telegram" = "Please enter the code you've just received\nin your previous **Telegram** app.";
"lng_code_no_telegram" = "Send code via SMS";
"lng_code_register_phone" = "If you already signed up for Telegram, please enter the code which was sent to your mobile app.\n\nIf you havent signed up yet, please register from your phone or tablet first.";
"lng_code_call" = "Telegram will call you in {minutes}:{seconds}";
"lng_code_calling" = "Requesting a call from Telegram...";
"lng_code_called" = "Telegram dialed your number";
@@ -450,9 +451,26 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_settings_system_integration" = "System integration";
"lng_settings_performance" = "Performance";
"lng_settings_enable_animations" = "Enable animations";
"lng_settings_enable_opengl" = "Enable OpenGL rendering for media";
"lng_settings_angle_backend" = "ANGLE graphics backend";
"lng_settings_angle_backend_auto" = "Auto";
"lng_settings_angle_backend_d3d9" = "Direct3D 9";
"lng_settings_angle_backend_d3d11" = "Direct3D 11";
"lng_settings_angle_backend_d3d11on12" = "D3D11on12";
"lng_settings_angle_backend_opengl" = "OpenGL";
"lng_settings_angle_backend_disabled" = "Disabled";
"lng_settings_sensitive_title" = "Sensitive content";
"lng_settings_sensitive_disable_filtering" = "Disable filtering";
"lng_settings_sensitive_about" = "Display sensitive media in public channels on all your Telegram devices.";
"lng_settings_security_bots" = "Bots and websites";
"lng_settings_clear_payment_info" = "Clear Payment and Shipping Info";
"lng_clear_payment_info_title" = "Clear payment info";
"lng_clear_payment_info_sure" = "Are you sure you want to clear your payment and shipping info?";
"lng_clear_payment_info_shipping" = "Shipping info";
"lng_clear_payment_info_payment" = "Payment info";
"lng_clear_payment_info_clear" = "Clear";
"lng_clear_payment_info_confirm" = "Delete your shipping info and instruct all payment providers to remove your saved credit cards? Note that Telegram never stores your credit card data.";
"lng_settings_auto_night_mode" = "Auto-Night mode";
"lng_settings_auto_night_enabled" = "Match the system settings";
@@ -486,6 +504,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_background_text1" = "Ah, you kids today with techno music! You should enjoy the classics, like Hasselhoff!";
"lng_background_text2" = "I can't even take you seriously right now.";
"lng_background_bad_link" = "This background link appears to be invalid.";
"lng_background_gradient_unsupported" = "Telegram Desktop doesn't support gradient backgrounds yet.";
"lng_background_apply" = "Apply";
"lng_background_share" = "Share";
"lng_background_link_copied" = "Link copied to clipboard";
@@ -995,6 +1014,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_report_group_title" = "Report group";
"lng_report_bot_title" = "Report bot";
"lng_report_message_title" = "Report message";
"lng_report_please_select_messages" = "Please select messages to report.";
"lng_report_select_messages" = "Select messages";
"lng_report_messages_none" = "Select Messages";
"lng_report_messages_count#one" = "Report {count} Message";
@@ -1097,9 +1117,12 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_action_invite_user_chat" = "the voice chat";
"lng_action_invite_users_and_one" = "{accumulated}, {user}";
"lng_action_invite_users_and_last" = "{accumulated} and {user}";
"lng_action_group_call_started" = "{from} started {chat}";
"lng_action_group_call_started_chat" = "a voice chat";
"lng_action_group_call_started_group" = "{from} started a voice chat";
"lng_action_group_call_started_channel" = "Voice chat started";
"lng_action_group_call_scheduled_group" = "{from} scheduled a voice chat for {date}";
"lng_action_group_call_scheduled_channel" = "Voice chat scheduled for {date}";
"lng_action_group_call_finished" = "Voice chat finished ({duration})";
"lng_action_group_call_finished_group" = "{from} ended the voice chat ({duration})";
"lng_action_add_user" = "{from} added {user}";
"lng_action_add_users_many" = "{from} added {users}";
"lng_action_add_users_and_one" = "{accumulated}, {user}";
@@ -1388,6 +1411,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_stickers_search_sets" = "Search sticker sets";
"lng_stickers_nothing_found" = "No stickers found";
"lng_stickers_remove_pack_confirm" = "Remove";
"lng_stickers_archive_pack" = "Archive Stickers";
"lng_stickers_has_been_archived" = "Sticker pack has been archived.";
"lng_in_dlg_photo" = "Photo";
"lng_in_dlg_album" = "Album";
@@ -1854,11 +1879,68 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_theme_editor_menu_show" = "Show palette file";
"lng_payments_not_supported" = "Sorry, Telegram Desktop doesn't support payments yet. Please use one of our mobile apps to do this.";
"lng_payments_webview_no_card" = "Unfortunately, you can't add a new card with current system configuration.";
"lng_payments_webview_no_use" = "Unfortunately, you can't use payments with current system configuration.";
"lng_payments_webview_install_edge" = "Please install {link}.";
"lng_payments_webview_install_webkit" = "Please install WebKitGTK 4 (webkit2gtk-4.0) using your package manager.";
"lng_payments_webview_switch_mutter" = "Qt's window embedding doesn't work well with Mutter window manager. Please switch to another window manager or desktop environment.";
"lng_payments_webview_switch_wayland" = "There is no way to embed WebView window on Wayland. Please switch to X11.";
"lng_payments_sure_close" = "Are you sure you want to close this payment form? The changes you made will be lost.";
"lng_payments_receipt_label" = "Receipt";
"lng_payments_receipt_label_test" = "Test receipt";
"lng_payments_invoice_label" = "Invoice";
"lng_payments_invoice_label_test" = "Test invoice";
"lng_payments_receipt_button" = "Receipt";
"lng_payments_success" = "You paid {amount} for {title}.";
"lng_payments_checkout_title" = "Checkout";
"lng_payments_receipt_title" = "Receipt";
"lng_payments_total_label" = "Total";
"lng_payments_date_label" = "Paid";
"lng_payments_pay_amount" = "Pay {amount}";
"lng_payments_payment_method" = "Payment Method";
"lng_payments_new_card" = "New Card...";
"lng_payments_shipping_address" = "Shipping Address";
"lng_payments_address_street1" = "Address 1";
"lng_payments_address_street2" = "Address 2";
"lng_payments_address_city" = "City";
"lng_payments_address_state" = "State";
"lng_payments_address_country" = "Country";
"lng_payments_address_postcode" = "Postcode";
"lng_payments_shipping_method" = "Shipping Method";
"lng_payments_info_name" = "Name";
"lng_payments_info_email" = "Email";
"lng_payments_info_phone" = "Phone";
"lng_payments_to_provider_phone_email" = "Phone and Email will be passed to {provider} as billing info.";
"lng_payments_to_provider_email" = "Email will be passed to {provider} as billing info.";
"lng_payments_to_provider_phone" = "Phone will be passed to {provider} as billing info.";
"lng_payments_processed_by" = "Processed by {provider}";
"lng_payments_warning_title" = "Warning";
"lng_payments_warning_body" = "Neither Telegram, nor {bot1} will have access to your credit card information. Credit card details will be handled only by the payment system, {provider}.\n\nPayments will go directly to the developer of {bot2}. Telegram cannot provide any guarantees, so proceed at your own risk. In case of problems, please contact the developer of {bot3} or your bank.";
"lng_payments_shipping_address_title" = "Shipping Information";
"lng_payments_card_title" = "New Card";
"lng_payments_card_number" = "Card Number";
"lng_payments_card_cvc" = "CVC";
"lng_payments_card_expire_date" = "MM / YY";
"lng_payments_card_holder" = "Cardholder name";
"lng_payments_billing_address" = "Billing Information";
"lng_payments_billing_country" = "Country";
"lng_payments_billing_zip_code" = "Zip Code";
"lng_payments_save_information" = "Save Information for future use";
"lng_payments_need_password" = "You can save your payment information for future use. Please turn on Two-Step Verification to enable this.";
"lng_payments_password_title" = "Payment Confirmation";
"lng_payments_password_description" = "Your card {card} is on file. To pay with this card, please enter your 2-Step-Verification password.";
"lng_payments_password_submit" = "Pay";
"lng_payments_tips_label" = "Tip (Optional)";
"lng_payments_tips_box_title" = "Add Tip";
"lng_payments_tips_max" = "Max possible tip amount: {amount}";
"lng_payments_shipping_not_available" = "Shipping to the selected country is not available.";
"lng_payments_card_declined" = "Your card was declined.";
"lng_payments_payment_failed" = "Payment failed. Your card has not been billed.";
"lng_payments_precheckout_failed" = "The bot couldn't process your payment. Your card has not been billed.";
"lng_payments_already_paid" = "You have already paid for this item.";
"lng_call_status_incoming" = "is calling you...";
"lng_call_status_connecting" = "connecting...";
@@ -1925,8 +2007,15 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_group_call_inactive" = "listening";
"lng_group_call_raised_hand_status" = "wants to speak";
"lng_group_call_settings" = "Settings";
"lng_group_call_share_button" = "Share";
"lng_group_call_video" = "Video";
"lng_group_call_screen_share_start" = "Share Screen";
"lng_group_call_screen_share_stop" = "Stop Sharing";
"lng_group_call_screen_title" = "Screen {index}";
"lng_group_call_unmute_small" = "Unmute";
"lng_group_call_more" = "More";
"lng_group_call_unmute" = "Unmute";
"lng_group_call_unmute_sub" = "or hold spacebar to talk";
"lng_group_call_unmute_sub" = "Hold space bar to temporarily unmute.";
"lng_group_call_you_are_live" = "You are Live";
"lng_group_call_force_muted" = "Muted by admin";
"lng_group_call_force_muted_sub" = "You are in Listen Only mode";
@@ -1937,8 +2026,25 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_group_call_leave" = "Leave";
"lng_group_call_leave_title" = "Leave voice chat";
"lng_group_call_leave_sure" = "Are you sure you want to leave this voice chat?";
"lng_group_call_close" = "Close";
"lng_group_call_close_sure" = "Voice chat is scheduled. You can abort it or just close this panel.";
"lng_group_call_also_cancel" = "Abort voice chat";
"lng_group_call_leave_to_other_sure" = "Do you want to leave your active voice chat and join a voice chat in this group?";
"lng_group_call_create_sure" = "Do you really want to start a voice chat in this group?";
"lng_group_call_create_sure_channel" = "Are you sure you want to start a voice chat in this channel as your personal account?";
"lng_group_call_join_sure_personal" = "Are you sure you want to join this voice chat as your personal account?";
"lng_group_call_muted_no_camera" = "You can't turn on video while you're muted by admin.";
"lng_group_call_muted_no_screen" = "You can't share your screen while you're muted by admin.";
"lng_group_call_chat_no_camera" = "You can't turn on video in this chat.";
"lng_group_call_chat_no_screen" = "You can't share your screen in this chat.";
"lng_group_call_failed_screen" = "An error occured. Screencast has stopped.";
"lng_group_call_failed_camera" = "Could not enable camera. Perhaps another app is using the camera already. Try closing other apps.";
"lng_group_call_tooltip_screen" = "Share screen";
"lng_group_call_tooltip_camera" = "Your camera is off. Click here to enable camera.";
"lng_group_call_tooltip_microphone" = "You are on mute. Click here to speak.";
"lng_group_call_tooltip_camera_off" = "Disable camera";
"lng_group_call_tooltip_force_muted" = "Muted by admin. Click if you want to speak.";
"lng_group_call_tooltip_raised_hand" = "You asked to speak. We let the speakers know.";
"lng_group_call_also_end" = "End voice chat";
"lng_group_call_settings_title" = "Settings";
"lng_group_call_invite" = "Invite Member";
@@ -1961,10 +2067,15 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_group_call_ptt_delay_s" = "{amount}s";
"lng_group_call_ptt_delay" = "Push to Talk release delay: {delay}";
"lng_group_call_share" = "Share Invite Link";
"lng_group_call_noise_suppression" = "Enable Noise Suppression";
"lng_group_call_limit#one" = "Video is only available\nfor the first {count} member";
"lng_group_call_limit#other" = "Video is only available\nfor the first {count} members";
"lng_group_call_video_paused" = "Video is paused";
"lng_group_call_share_speaker" = "Users with this link can speak";
"lng_group_call_copy_speaker_link" = "Copy Speaker Link";
"lng_group_call_copy_listener_link" = "Copy Listener Link";
"lng_group_call_end" = "End Voice Chat";
"lng_group_call_cancel" = "Abort Voice Chat";
"lng_group_call_join" = "Join";
"lng_group_call_join_confirm" = "Do you want to join the voice chat {chat}?";
"lng_group_call_invite_done_user" = "You invited {user} to the voice chat.";
@@ -1980,6 +2091,12 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_group_call_context_remove_hand" = "Cancel request to speak";
"lng_group_call_context_mute_for_me" = "Mute for me";
"lng_group_call_context_unmute_for_me" = "Unmute for me";
"lng_group_call_context_pin_camera" = "Pin video";
"lng_group_call_context_unpin_camera" = "Unpin video";
"lng_group_call_context_pin_screen" = "Pin screencast";
"lng_group_call_context_unpin_screen" = "Unpin screencast";
"lng_group_call_context_remove" = "Remove";
"lng_group_call_remove_channel" = "Remove {channel} from the voice chat?";
"lng_group_call_duration_days#one" = "{count} day";
"lng_group_call_duration_days#other" = "{count} days";
"lng_group_call_duration_hours#one" = "{count} hour";
@@ -1991,12 +2108,35 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_group_call_mac_access" = "Telegram Desktop does not have access to system wide keyboard input required for Push to Talk.";
"lng_group_call_mac_input" = "Please allow **Input Monitoring** for Telegram in Privacy Settings.";
"lng_group_call_mac_accessibility" = "Please allow **Accessibility** for Telegram in Privacy Settings.\n\nApp restart may be required.";
"lng_group_call_mac_screencast_access" = "Telegram Desktop does not have access to screen recording required for Screen Sharing.";
"lng_group_call_mac_recording" = "Please allow **Screen Recording** for Telegram in Privacy Settings.";
"lng_group_call_mac_settings" = "Open Settings";
"lng_group_call_start_as_header" = "Start Voice Chat as...";
"lng_group_call_join_as_header" = "Join Voice Chat as...";
"lng_group_call_display_as_header" = "Display me as...";
"lng_group_call_join_as_about" = "Choose whether you want to be displayed as your personal account or as your channel.";
"lng_group_call_or_schedule" = "You can also {link}.";
"lng_group_call_schedule" = "schedule a voice chat";
"lng_group_call_schedule_title" = "Schedule Voice Chat";
"lng_group_call_schedule_notified_group" = "The members of the group will be notified that the voice chat will start in {duration}.";
"lng_group_call_schedule_notified_channel" = "The subscribers of the channel will be notified that the voice chat will start in {duration}.";
"lng_group_call_scheduled_status" = "Scheduled";
"lng_group_call_scheduled_title" = "Scheduled Voice Chat";
"lng_group_call_starts_short" = "Starts {when}";
"lng_group_call_starts" = "Voice Chat starts {when}";
"lng_group_call_starts_today" = "today at {time}";
"lng_group_call_starts_tomorrow" = "tomorrow at {time}";
"lng_group_call_starts_date" = "{date} at {time}";
"lng_group_call_starts_in" = "Starts in";
"lng_group_call_late_by" = "Late by";
"lng_group_call_starts_short_today" = "Today, {time}";
"lng_group_call_starts_short_tomorrow" = "Tomorrow, {time}";
"lng_group_call_starts_short_date" = "{date}, {time}";
"lng_group_call_start_now" = "Start Now";
"lng_group_call_start_now_sure" = "Are you sure you want to start the voice chat now?";
"lng_group_call_set_reminder" = "Set Reminder";
"lng_group_call_cancel_reminder" = "Cancel Reminder";
"lng_group_call_join_as_personal" = "personal account";
"lng_group_call_edit_title" = "Edit voice chat title";
"lng_group_call_switch_done" = "Members of this voice chat will now see you as **{user}**";
@@ -2006,6 +2146,15 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_group_call_recording_started" = "Voice chat recording started.";
"lng_group_call_recording_stopped" = "Voice chat recording stopped.";
"lng_group_call_recording_saved" = "Audio saved to Saved Messages.";
"lng_group_call_pinned_camera_me" = "Your video is pinned.";
"lng_group_call_pinned_screen_me" = "Your screencast is pinned.";
"lng_group_call_pinned_camera" = "{user}'s video is pinned.";
"lng_group_call_pinned_screen" = "{user}'s screencast is pinned.";
"lng_group_call_unpinned_camera_me" = "Your video is unpinned.";
"lng_group_call_unpinned_screen_me" = "Your screencast is unpinned.";
"lng_group_call_unpinned_camera" = "{user}'s video is unpinned.";
"lng_group_call_unpinned_screen" = "{user}'s screencast is unpinned.";
"lng_group_call_sure_screencast" = "{user} is screensharing. This action will make your screencast pinned for all participants.";
"lng_group_call_recording_start_sure" = "Do you want to start recording this chat and save the result into an audio file?\n\nOther members will see the chat is being recorded.";
"lng_group_call_recording_stop_sure" = "Do you want to stop recording this chat?";
"lng_group_call_recording_start_field" = "Recording Title";
@@ -2222,6 +2371,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_admin_log_stopped_poll" = "{from} stopped poll:";
"lng_admin_log_invited" = "invited {user}";
"lng_admin_log_banned" = "banned {user}";
"lng_admin_log_unbanned" = "unbanned {user}";
"lng_admin_log_restricted" = "changed restrictions for {user} {until}";
"lng_admin_log_promoted" = "changed privileges for {user}";
"lng_admin_log_transferred" = "transferred ownership to {user}";
@@ -2469,6 +2619,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_export_state_chats_list" = "Processing chats...";
"lng_export_state_chats" = "Chats";
"lng_export_state_ready_progress" = "{ready} / {total}";
"lng_export_skip_file" = "Skip this file";
"lng_export_progress" = "You can close this window now. Please don't quit Telegram until the data export is completed.";
"lng_export_stop" = "Stop";
"lng_export_sure_stop" = "Are you sure you want to stop exporting your data?\n\nIf you do, you'll need to start over.";
@@ -2670,6 +2821,12 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_mac_menu_show" = "Show Telegram";
"lng_mac_menu_emoji_and_symbols" = "Emoji & Symbols";
"lng_mac_menu_player_pause" = "Pause";
"lng_mac_menu_player_resume" = "Resume";
"lng_mac_menu_player_next" = "Next";
"lng_mac_menu_player_previous" = "Previous";
"lng_mac_menu_player_stop" = "Stop";
"lng_mac_touchbar_favorite_stickers" = "Favorite stickers";
// Keys finished

View File

@@ -59,9 +59,8 @@
<file alias="day-blue.tdesktop-theme">../../day-blue.tdesktop-theme</file>
<file alias="night.tdesktop-theme">../../night.tdesktop-theme</file>
<file alias="night-green.tdesktop-theme">../../night-green.tdesktop-theme</file>
<file alias="icons/calls/active_hand.json">../../icons/calls/active_hand.json</file>
<file alias="icons/calls/hand_muted_active.json">../../icons/calls/hand_muted_active.json</file>
<file alias="icons/calls/raised_hand.json">../../icons/calls/raised_hand.json</file>
<file alias="icons/calls/hands.lottie">../../icons/calls/hands.lottie</file>
<file alias="icons/calls/voice.lottie">../../icons/calls/voice.lottie</file>
</qresource>
<qresource prefix="/qt-project.org">
<file>../qmime/freedesktop.org.xml</file>

View File

@@ -68,7 +68,7 @@ inputMediaVenue#c13d1c11 geo_point:InputGeoPoint title:string address:string pro
inputMediaPhotoExternal#e5bbfe1a flags:# url:string ttl_seconds:flags.0?int = InputMedia;
inputMediaDocumentExternal#fb52dc99 flags:# url:string ttl_seconds:flags.0?int = InputMedia;
inputMediaGame#d33f43f3 id:InputGame = InputMedia;
inputMediaInvoice#f4e096c3 flags:# title:string description:string photo:flags.0?InputWebDocument invoice:Invoice payload:bytes provider:string provider_data:DataJSON start_param:string = InputMedia;
inputMediaInvoice#d9799874 flags:# title:string description:string photo:flags.0?InputWebDocument invoice:Invoice payload:bytes provider:string provider_data:DataJSON start_param:flags.1?string = InputMedia;
inputMediaGeoLive#971fa843 flags:# stopped:flags.0?true geo_point:InputGeoPoint heading:flags.2?int period:flags.1?int proximity_notification_radius:flags.3?int = InputMedia;
inputMediaPoll#f94e5f1 flags:# poll:Poll correct_answers:flags.0?Vector<bytes> solution:flags.1?string solution_entities:flags.1?Vector<MessageEntity> = InputMedia;
inputMediaDice#e66fbf7b emoticon:string = InputMedia;
@@ -90,8 +90,8 @@ inputSecureFileLocation#cbc7ee28 id:long access_hash:long = InputFileLocation;
inputTakeoutFileLocation#29be5899 = InputFileLocation;
inputPhotoFileLocation#40181ffe id:long access_hash:long file_reference:bytes thumb_size:string = InputFileLocation;
inputPhotoLegacyFileLocation#d83466f3 id:long access_hash:long file_reference:bytes volume_id:long local_id:int secret:long = InputFileLocation;
inputPeerPhotoFileLocation#27d69997 flags:# big:flags.0?true peer:InputPeer volume_id:long local_id:int = InputFileLocation;
inputStickerSetThumb#dbaeae9 stickerset:InputStickerSet volume_id:long local_id:int = InputFileLocation;
inputPeerPhotoFileLocation#37257e99 flags:# big:flags.0?true peer:InputPeer photo_id:long = InputFileLocation;
inputStickerSetThumb#9d84f3db stickerset:InputStickerSet thumb_version:int = InputFileLocation;
inputGroupCallStream#bba51639 call:InputGroupCall time_ms:long scale:int = InputFileLocation;
peerUser#9db1bc6d user_id:int = Peer;
@@ -113,7 +113,7 @@ userEmpty#200250ba id:int = User;
user#938458c1 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true id:int access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string = User;
userProfilePhotoEmpty#4f11bae1 = UserProfilePhoto;
userProfilePhoto#69d3ab26 flags:# has_video:flags.0?true photo_id:long photo_small:FileLocation photo_big:FileLocation dc_id:int = UserProfilePhoto;
userProfilePhoto#82d1f706 flags:# has_video:flags.0?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = UserProfilePhoto;
userStatusEmpty#9d05049 = UserStatus;
userStatusOnline#edb93949 expires:int = UserStatus;
@@ -139,7 +139,7 @@ chatParticipantsForbidden#fc900c2b flags:# chat_id:int self_participant:flags.0?
chatParticipants#3f460fed chat_id:int participants:Vector<ChatParticipant> version:int = ChatParticipants;
chatPhotoEmpty#37c1011c = ChatPhoto;
chatPhoto#d20b9f3c flags:# has_video:flags.0?true photo_small:FileLocation photo_big:FileLocation dc_id:int = ChatPhoto;
chatPhoto#1c6e1c11 flags:# has_video:flags.0?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = ChatPhoto;
messageEmpty#90a6ca84 flags:# id:int peer_id:flags.0?Peer = Message;
message#bce383d2 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true from_scheduled:flags.18?true legacy:flags.19?true edit_hide:flags.21?true pinned:flags.24?true id:int from_id:flags.8?Peer peer_id:Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?int reply_to:flags.3?MessageReplyHeader date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int forwards:flags.10?int replies:flags.23?MessageReplies edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long restriction_reason:flags.22?Vector<RestrictionReason> ttl_period:flags.25?int = Message;
@@ -186,6 +186,7 @@ messageActionGeoProximityReached#98e0d697 from_id:Peer to_id:Peer distance:int =
messageActionGroupCall#7a0d7f42 flags:# call:InputGroupCall duration:flags.0?int = MessageAction;
messageActionInviteToGroupCall#76b9f11a call:InputGroupCall users:Vector<int> = MessageAction;
messageActionSetMessagesTTL#aa1afbfd period:int = MessageAction;
messageActionGroupCallScheduled#b3a07661 call:InputGroupCall schedule_date:int = MessageAction;
dialog#2c171f72 flags:# pinned:flags.2?true unread_mark:flags.3?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage folder_id:flags.4?int = Dialog;
dialogFolder#71bd134c flags:# pinned:flags.2?true folder:Folder peer:Peer top_message:int unread_muted_peers_count:int unread_unmuted_peers_count:int unread_muted_messages_count:int unread_unmuted_messages_count:int = Dialog;
@@ -194,10 +195,10 @@ photoEmpty#2331b22d id:long = Photo;
photo#fb197a65 flags:# has_stickers:flags.0?true id:long access_hash:long file_reference:bytes date:int sizes:Vector<PhotoSize> video_sizes:flags.1?Vector<VideoSize> dc_id:int = Photo;
photoSizeEmpty#e17e23c type:string = PhotoSize;
photoSize#77bfb61b type:string location:FileLocation w:int h:int size:int = PhotoSize;
photoCachedSize#e9a734fa type:string location:FileLocation w:int h:int bytes:bytes = PhotoSize;
photoSize#75c78e60 type:string w:int h:int size:int = PhotoSize;
photoCachedSize#21e1ad6 type:string w:int h:int bytes:bytes = PhotoSize;
photoStrippedSize#e0b0bc2e type:string bytes:bytes = PhotoSize;
photoSizeProgressive#5aa86a51 type:string location:FileLocation w:int h:int sizes:Vector<int> = PhotoSize;
photoSizeProgressive#fa3efb95 type:string w:int h:int sizes:Vector<int> = PhotoSize;
photoPathSize#d8214d41 type:string bytes:bytes = PhotoSize;
geoPointEmpty#1117dd5f = GeoPoint;
@@ -222,7 +223,7 @@ peerNotifySettings#af509d20 flags:# show_previews:flags.0?Bool silent:flags.1?Bo
peerSettings#733f2961 flags:# report_spam:flags.0?true add_contact:flags.1?true block_contact:flags.2?true share_contact:flags.3?true need_contacts_exception:flags.4?true report_geo:flags.5?true autoarchived:flags.7?true invite_members:flags.8?true geo_distance:flags.6?int = PeerSettings;
wallPaper#a437c3ed id:long flags:# creator:flags.0?true default:flags.1?true pattern:flags.3?true dark:flags.4?true access_hash:long slug:string document:Document settings:flags.2?WallPaperSettings = WallPaper;
wallPaperNoFile#8af40b25 flags:# default:flags.1?true dark:flags.4?true settings:flags.2?WallPaperSettings = WallPaper;
wallPaperNoFile#e0804116 id:long flags:# default:flags.1?true dark:flags.4?true settings:flags.2?WallPaperSettings = WallPaper;
inputReportReasonSpam#58dbcab8 = ReportReason;
inputReportReasonViolence#1e22c78d = ReportReason;
@@ -355,7 +356,7 @@ updateDeleteScheduledMessages#90866cee peer:Peer messages:Vector<int> = Update;
updateTheme#8216fba3 theme:Theme = Update;
updateGeoLiveViewed#871fb939 peer:Peer msg_id:int = Update;
updateLoginToken#564fe691 = Update;
updateMessagePollVote#42f88f2c poll_id:long user_id:int options:Vector<bytes> = Update;
updateMessagePollVote#37f69f0b poll_id:long user_id:int options:Vector<bytes> qts:int = Update;
updateDialogFilter#26ffde7d flags:# id:int filter:flags.0?DialogFilter = Update;
updateDialogFilterOrder#a5d72105 order:Vector<int> = Update;
updateDialogFilters#3504914f = Update;
@@ -374,6 +375,7 @@ updatePeerHistoryTTL#bb9bb9a5 flags:# peer:Peer ttl_period:flags.0?int = Update;
updateChatParticipant#f3b3781f flags:# chat_id:int date:int actor_id:int user_id:int prev_participant:flags.0?ChatParticipant new_participant:flags.1?ChatParticipant invite:flags.2?ExportedChatInvite qts:int = Update;
updateChannelParticipant#7fecb1ec flags:# channel_id:int date:int actor_id:int user_id:int prev_participant:flags.0?ChannelParticipant new_participant:flags.1?ChannelParticipant invite:flags.2?ExportedChatInvite qts:int = Update;
updateBotStopped#7f9488a user_id:int date:int stopped:Bool qts:int = Update;
updateGroupCallConnection#b783982 flags:# presentation:flags.0?true params:DataJSON = Update;
updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State;
@@ -404,7 +406,7 @@ config#330b4067 flags:# phonecalls_enabled:flags.1?true default_p2p_contacts:fla
nearestDc#8e1a1775 country:string this_dc:int nearest_dc:int = NearestDc;
help.appUpdate#1da7158f flags:# can_not_skip:flags.0?true id:int version:string text:string entities:Vector<MessageEntity> document:flags.1?Document url:flags.2?string = help.AppUpdate;
help.appUpdate#ccbbce30 flags:# can_not_skip:flags.0?true id:int version:string text:string entities:Vector<MessageEntity> document:flags.1?Document url:flags.2?string sticker:flags.3?Document = help.AppUpdate;
help.noAppUpdate#c45a6536 = help.AppUpdate;
help.inviteText#18cb9f78 message:string = help.InviteText;
@@ -554,7 +556,7 @@ inputStickerSetShortName#861cc8a0 short_name:string = InputStickerSet;
inputStickerSetAnimatedEmoji#28703c8 = InputStickerSet;
inputStickerSetDice#e67f520e emoticon:string = InputStickerSet;
stickerSet#40e237a8 flags:# archived:flags.1?true official:flags.2?true masks:flags.3?true animated:flags.5?true installed_date:flags.0?int id:long access_hash:long title:string short_name:string thumbs:flags.4?Vector<PhotoSize> thumb_dc_id:flags.4?int count:int hash:int = StickerSet;
stickerSet#d7df217a flags:# archived:flags.1?true official:flags.2?true masks:flags.3?true animated:flags.5?true installed_date:flags.0?int id:long access_hash:long title:string short_name:string thumbs:flags.4?Vector<PhotoSize> thumb_dc_id:flags.4?int thumb_version:flags.4?int count:int hash:int = StickerSet;
messages.stickerSet#b60a24a6 set:StickerSet packs:Vector<StickerPack> documents:Vector<Document> = messages.StickerSet;
@@ -620,8 +622,8 @@ channelParticipant#15ebac1d user_id:int date:int = ChannelParticipant;
channelParticipantSelf#a3289a6d user_id:int inviter_id:int date:int = ChannelParticipant;
channelParticipantCreator#447dca4b flags:# user_id:int admin_rights:ChatAdminRights rank:flags.0?string = ChannelParticipant;
channelParticipantAdmin#ccbebbaf flags:# can_edit:flags.0?true self:flags.1?true user_id:int inviter_id:flags.1?int promoted_by:int date:int admin_rights:ChatAdminRights rank:flags.2?string = ChannelParticipant;
channelParticipantBanned#1c0facaf flags:# left:flags.0?true user_id:int kicked_by:int date:int banned_rights:ChatBannedRights = ChannelParticipant;
channelParticipantLeft#c3c6796b user_id:int = ChannelParticipant;
channelParticipantBanned#50a1dfd6 flags:# left:flags.0?true peer:Peer kicked_by:int date:int banned_rights:ChatBannedRights = ChannelParticipant;
channelParticipantLeft#1b03f006 peer:Peer = ChannelParticipant;
channelParticipantsRecent#de3f3c79 = ChannelParticipantsFilter;
channelParticipantsAdmins#b4608969 = ChannelParticipantsFilter;
@@ -632,10 +634,10 @@ channelParticipantsSearch#656ac4b q:string = ChannelParticipantsFilter;
channelParticipantsContacts#bb6ae88d q:string = ChannelParticipantsFilter;
channelParticipantsMentions#e04b5ceb flags:# q:flags.0?string top_msg_id:flags.1?int = ChannelParticipantsFilter;
channels.channelParticipants#f56ee2a8 count:int participants:Vector<ChannelParticipant> users:Vector<User> = channels.ChannelParticipants;
channels.channelParticipants#9ab0feaf count:int participants:Vector<ChannelParticipant> chats:Vector<Chat> users:Vector<User> = channels.ChannelParticipants;
channels.channelParticipantsNotModified#f0173fe9 = channels.ChannelParticipants;
channels.channelParticipant#d0d9b163 participant:ChannelParticipant users:Vector<User> = channels.ChannelParticipant;
channels.channelParticipant#dfb80317 participant:ChannelParticipant chats:Vector<Chat> users:Vector<User> = channels.ChannelParticipant;
help.termsOfService#780a0310 flags:# popup:flags.0?true id:DataJSON text:string entities:Vector<MessageEntity> min_age_confirm:flags.1?int = help.TermsOfService;
@@ -648,6 +650,7 @@ inputBotInlineMessageMediaGeo#96929a85 flags:# geo_point:InputGeoPoint heading:f
inputBotInlineMessageMediaVenue#417bbf11 flags:# geo_point:InputGeoPoint title:string address:string provider:string venue_id:string venue_type:string reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
inputBotInlineMessageMediaContact#a6edbffd flags:# phone_number:string first_name:string last_name:string vcard:string reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
inputBotInlineMessageGame#4b425864 flags:# reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
inputBotInlineMessageMediaInvoice#d7e78225 flags:# title:string description:string photo:flags.0?InputWebDocument invoice:Invoice payload:bytes provider:string provider_data:DataJSON reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
inputBotInlineResult#88bf9319 flags:# id:string type:string title:flags.1?string description:flags.2?string url:flags.3?string thumb:flags.4?InputWebDocument content:flags.5?InputWebDocument send_message:InputBotInlineMessage = InputBotInlineResult;
inputBotInlineResultPhoto#a8d864a7 id:string type:string photo:InputPhoto send_message:InputBotInlineMessage = InputBotInlineResult;
@@ -659,6 +662,7 @@ botInlineMessageText#8c7f65e2 flags:# no_webpage:flags.0?true message:string ent
botInlineMessageMediaGeo#51846fd flags:# geo:GeoPoint heading:flags.0?int period:flags.1?int proximity_notification_radius:flags.3?int reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
botInlineMessageMediaVenue#8a86659c flags:# geo:GeoPoint title:string address:string provider:string venue_id:string venue_type:string reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
botInlineMessageMediaContact#18d1cdc2 flags:# phone_number:string first_name:string last_name:string vcard:string reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
botInlineMessageMediaInvoice#354a9b09 flags:# shipping_address_requested:flags.1?true test:flags.3?true title:string description:string photo:flags.0?WebDocument currency:string total_amount:long reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
botInlineResult#11965f3a flags:# id:string type:string title:flags.1?string description:flags.2?string url:flags.3?string thumb:flags.4?WebDocument content:flags.5?WebDocument send_message:BotInlineMessage = BotInlineResult;
botInlineMediaResult#17db940b flags:# id:string type:string photo:flags.0?Photo document:flags.1?Document title:flags.2?string description:flags.3?string send_message:BotInlineMessage = BotInlineResult;
@@ -792,7 +796,7 @@ dataJSON#7d748d04 data:string = DataJSON;
labeledPrice#cb296bf8 label:string amount:long = LabeledPrice;
invoice#c30aa358 flags:# test:flags.0?true name_requested:flags.1?true phone_requested:flags.2?true email_requested:flags.3?true shipping_address_requested:flags.4?true flexible:flags.5?true phone_to_provider:flags.6?true email_to_provider:flags.7?true currency:string prices:Vector<LabeledPrice> = Invoice;
invoice#cd886e0 flags:# test:flags.0?true name_requested:flags.1?true phone_requested:flags.2?true email_requested:flags.3?true shipping_address_requested:flags.4?true flexible:flags.5?true phone_to_provider:flags.6?true email_to_provider:flags.7?true currency:string prices:Vector<LabeledPrice> max_tip_amount:flags.8?long suggested_tip_amounts:flags.8?Vector<long> = Invoice;
paymentCharge#ea02c27e id:string provider_charge_id:string = PaymentCharge;
@@ -812,14 +816,14 @@ inputWebFileGeoPointLocation#9f2221c9 geo_point:InputGeoPoint access_hash:long w
upload.webFile#21e753bc size:int mime_type:string file_type:storage.FileType mtime:int bytes:bytes = upload.WebFile;
payments.paymentForm#3f56aea3 flags:# can_save_credentials:flags.2?true password_missing:flags.3?true bot_id:int invoice:Invoice provider_id:int url:string native_provider:flags.4?string native_params:flags.4?DataJSON saved_info:flags.0?PaymentRequestedInfo saved_credentials:flags.1?PaymentSavedCredentials users:Vector<User> = payments.PaymentForm;
payments.paymentForm#8d0b2415 flags:# can_save_credentials:flags.2?true password_missing:flags.3?true form_id:long bot_id:int invoice:Invoice provider_id:int url:string native_provider:flags.4?string native_params:flags.4?DataJSON saved_info:flags.0?PaymentRequestedInfo saved_credentials:flags.1?PaymentSavedCredentials users:Vector<User> = payments.PaymentForm;
payments.validatedRequestedInfo#d1451883 flags:# id:flags.0?string shipping_options:flags.1?Vector<ShippingOption> = payments.ValidatedRequestedInfo;
payments.paymentResult#4e5f810d updates:Updates = payments.PaymentResult;
payments.paymentVerificationNeeded#d8411139 url:string = payments.PaymentResult;
payments.paymentReceipt#500911e1 flags:# date:int bot_id:int invoice:Invoice provider_id:int info:flags.0?PaymentRequestedInfo shipping:flags.1?ShippingOption currency:string total_amount:long credentials_title:string users:Vector<User> = payments.PaymentReceipt;
payments.paymentReceipt#10b555d0 flags:# date:int bot_id:int provider_id:int title:string description:string photo:flags.2?WebDocument invoice:Invoice info:flags.0?PaymentRequestedInfo shipping:flags.1?ShippingOption tip_amount:flags.3?long currency:string total_amount:long credentials_title:string users:Vector<User> = payments.PaymentReceipt;
payments.savedInfo#fb8fe43c flags:# has_saved_credentials:flags.1?true saved_info:flags.0?PaymentRequestedInfo = payments.SavedInfo;
@@ -1066,14 +1070,14 @@ chatBannedRights#9f120418 flags:# view_messages:flags.0?true send_messages:flags
inputWallPaper#e630b979 id:long access_hash:long = InputWallPaper;
inputWallPaperSlug#72091c80 slug:string = InputWallPaper;
inputWallPaperNoFile#8427bbac = InputWallPaper;
inputWallPaperNoFile#967a462e id:long = InputWallPaper;
account.wallPapersNotModified#1c199183 = account.WallPapers;
account.wallPapers#702b65a9 hash:int wallpapers:Vector<WallPaper> = account.WallPapers;
codeSettings#debebe83 flags:# allow_flashcall:flags.0?true current_number:flags.1?true allow_app_hash:flags.4?true = CodeSettings;
wallPaperSettings#5086cf8 flags:# blur:flags.1?true motion:flags.2?true background_color:flags.0?int second_background_color:flags.4?int intensity:flags.3?int rotation:flags.4?int = WallPaperSettings;
wallPaperSettings#1dc1bca4 flags:# blur:flags.1?true motion:flags.2?true background_color:flags.0?int second_background_color:flags.4?int third_background_color:flags.5?int fourth_background_color:flags.6?int intensity:flags.3?int rotation:flags.4?int = WallPaperSettings;
autoDownloadSettings#e04232f3 flags:# disabled:flags.0?true video_preload_large:flags.1?true audio_preload_next:flags.2?true phonecalls_less_data:flags.3?true photo_size_max:int video_size_max:int file_size_max:int video_upload_maxbitrate:int = AutoDownloadSettings;
@@ -1088,8 +1092,6 @@ emojiURL#a575739d url:string = EmojiURL;
emojiLanguage#b3fb5361 lang_code:string = EmojiLanguage;
fileLocationToBeDeprecated#bc7fc6cd volume_id:long local_id:int = FileLocation;
folder#ff544e65 flags:# autofill_new_broadcasts:flags.0?true autofill_public_groups:flags.1?true autofill_new_correspondents:flags.2?true id:int title:string photo:flags.3?ChatPhoto = Folder;
inputFolderPeer#fbd2c296 peer:InputPeer folder_id:int = InputFolderPeer;
@@ -1169,7 +1171,7 @@ stats.broadcastStats#bdf78394 period:StatsDateRangeDays followers:StatsAbsValueA
help.promoDataEmpty#98f6ac75 expires:int = help.PromoData;
help.promoData#8c39793f flags:# proxy:flags.0?true expires:int peer:Peer chats:Vector<Chat> users:Vector<User> psa_type:flags.1?string psa_message:flags.2?string = help.PromoData;
videoSize#e831c556 flags:# type:string location:FileLocation w:int h:int size:int video_start_ts:flags.0?double = VideoSize;
videoSize#de33b094 flags:# type:string w:int h:int size:int video_start_ts:flags.0?double = VideoSize;
statsGroupTopPoster#18f3d0f7 user_id:int messages:int avg_chars:int = StatsGroupTopPoster;
@@ -1203,11 +1205,11 @@ peerBlocked#e8fd8014 peer_id:Peer date:int = PeerBlocked;
stats.messageStats#8999f295 views_graph:StatsGraph = stats.MessageStats;
groupCallDiscarded#7780bcb4 id:long access_hash:long duration:int = GroupCall;
groupCall#c0c2052e flags:# join_muted:flags.1?true can_change_join_muted:flags.2?true id:long access_hash:long participants_count:int params:flags.0?DataJSON title:flags.3?string stream_dc_id:flags.4?int record_start_date:flags.5?int version:int = GroupCall;
groupCall#653dbaad flags:# join_muted:flags.1?true can_change_join_muted:flags.2?true join_date_asc:flags.6?true schedule_start_subscribed:flags.8?true can_start_video:flags.9?true id:long access_hash:long participants_count:int title:flags.3?string stream_dc_id:flags.4?int record_start_date:flags.5?int schedule_date:flags.7?int version:int = GroupCall;
inputGroupCall#d8aa840f id:long access_hash:long = InputGroupCall;
groupCallParticipant#19adba89 flags:# muted:flags.0?true left:flags.1?true can_self_unmute:flags.2?true just_joined:flags.4?true versioned:flags.5?true min:flags.8?true muted_by_you:flags.9?true volume_by_admin:flags.10?true self:flags.12?true peer:Peer date:int active_date:flags.3?int source:int volume:flags.7?int about:flags.11?string raise_hand_rating:flags.13?long = GroupCallParticipant;
groupCallParticipant#eba636fe flags:# muted:flags.0?true left:flags.1?true can_self_unmute:flags.2?true just_joined:flags.4?true versioned:flags.5?true min:flags.8?true muted_by_you:flags.9?true volume_by_admin:flags.10?true self:flags.12?true video_joined:flags.15?true peer:Peer date:int active_date:flags.3?int source:int volume:flags.7?int about:flags.11?string raise_hand_rating:flags.13?long video:flags.6?GroupCallParticipantVideo presentation:flags.14?GroupCallParticipantVideo = GroupCallParticipant;
phone.groupCall#9e727aad call:GroupCall participants:Vector<GroupCallParticipant> participants_next_offset:string chats:Vector<Chat> users:Vector<User> = phone.GroupCall;
@@ -1244,6 +1246,10 @@ phone.joinAsPeers#afe5623f peers:Vector<Peer> chats:Vector<Chat> users:Vector<Us
phone.exportedGroupCallInvite#204bd158 link:string = phone.ExportedGroupCallInvite;
groupCallParticipantVideoSourceGroup#dcb118b7 semantics:string sources:Vector<int> = GroupCallParticipantVideoSourceGroup;
groupCallParticipantVideo#78e41663 flags:# paused:flags.0?true endpoint:string source_groups:Vector<GroupCallParticipantVideoSourceGroup> = GroupCallParticipantVideo;
---functions---
invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
@@ -1557,7 +1563,7 @@ channels.deleteUserHistory#d10dd71b channel:InputChannel user_id:InputUser = mes
channels.reportSpam#fe087810 channel:InputChannel user_id:InputUser id:Vector<int> = Bool;
channels.getMessages#ad8c9a23 channel:InputChannel id:Vector<InputMessage> = messages.Messages;
channels.getParticipants#123e05e9 channel:InputChannel filter:ChannelParticipantsFilter offset:int limit:int hash:int = channels.ChannelParticipants;
channels.getParticipant#546dd7a6 channel:InputChannel user_id:InputUser = channels.ChannelParticipant;
channels.getParticipant#a0ab6cc6 channel:InputChannel participant:InputPeer = channels.ChannelParticipant;
channels.getChannels#a7f6bbb id:Vector<InputChannel> = messages.Chats;
channels.getFullChannel#8736a09 channel:InputChannel = messages.ChatFull;
channels.createChannel#3d5fb10f flags:# broadcast:flags.0?true megagroup:flags.1?true for_import:flags.3?true title:string about:string geo_point:flags.2?InputGeoPoint address:flags.2?string = Updates;
@@ -1572,8 +1578,8 @@ channels.inviteToChannel#199f3a6c channel:InputChannel users:Vector<InputUser> =
channels.deleteChannel#c0111fe3 channel:InputChannel = Updates;
channels.exportMessageLink#e63fadeb flags:# grouped:flags.0?true thread:flags.1?true channel:InputChannel id:int = ExportedMessageLink;
channels.toggleSignatures#1f69b606 channel:InputChannel enabled:Bool = Updates;
channels.getAdminedPublicChannels#f8b036af flags:# by_location:flags.0?true check_limit:flags.1?true for_groupcall:flags.2?true = messages.Chats;
channels.editBanned#72796912 channel:InputChannel user_id:InputUser banned_rights:ChatBannedRights = Updates;
channels.getAdminedPublicChannels#f8b036af flags:# by_location:flags.0?true check_limit:flags.1?true = messages.Chats;
channels.editBanned#96e6cd81 channel:InputChannel participant:InputPeer banned_rights:ChatBannedRights = Updates;
channels.getAdminLog#33ddf480 flags:# channel:InputChannel q:string events_filter:flags.0?ChannelAdminLogEventsFilter admins:flags.1?Vector<InputUser> max_id:long min_id:long limit:int = channels.AdminLogResults;
channels.setStickers#ea8ca4f9 channel:InputChannel stickerset:InputStickerSet = Bool;
channels.readMessageContents#eab5dc38 channel:InputChannel id:Vector<int> = Bool;
@@ -1592,10 +1598,10 @@ bots.sendCustomRequest#aa2769ed custom_method:string params:DataJSON = DataJSON;
bots.answerWebhookJSONQuery#e6213f4d query_id:long data:DataJSON = Bool;
bots.setBotCommands#805d46f6 commands:Vector<BotCommand> = Bool;
payments.getPaymentForm#99f09745 msg_id:int = payments.PaymentForm;
payments.getPaymentReceipt#a092a980 msg_id:int = payments.PaymentReceipt;
payments.validateRequestedInfo#770a8e74 flags:# save:flags.0?true msg_id:int info:PaymentRequestedInfo = payments.ValidatedRequestedInfo;
payments.sendPaymentForm#2b8879b3 flags:# msg_id:int requested_info_id:flags.0?string shipping_option_id:flags.1?string credentials:InputPaymentCredentials = payments.PaymentResult;
payments.getPaymentForm#8a333c8d flags:# peer:InputPeer msg_id:int theme_params:flags.0?DataJSON = payments.PaymentForm;
payments.getPaymentReceipt#2478d1cc peer:InputPeer msg_id:int = payments.PaymentReceipt;
payments.validateRequestedInfo#db103170 flags:# save:flags.0?true peer:InputPeer msg_id:int info:PaymentRequestedInfo = payments.ValidatedRequestedInfo;
payments.sendPaymentForm#30c3bc9d flags:# form_id:long peer:InputPeer msg_id:int requested_info_id:flags.0?string shipping_option_id:flags.1?string credentials:InputPaymentCredentials tip_amount:flags.2?long = payments.PaymentResult;
payments.getSavedInfo#227d824b = payments.SavedInfo;
payments.clearSavedInfo#d83d70c1 flags:# credentials:flags.0?true info:flags.1?true = Bool;
payments.getBankCardData#2e79d779 number:string = payments.BankCardData;
@@ -1615,20 +1621,25 @@ phone.discardCall#b2cbc1c0 flags:# video:flags.0?true peer:InputPhoneCall durati
phone.setCallRating#59ead627 flags:# user_initiative:flags.0?true peer:InputPhoneCall rating:int comment:string = Updates;
phone.saveCallDebug#277add7e peer:InputPhoneCall debug:DataJSON = Bool;
phone.sendSignalingData#ff7a9383 peer:InputPhoneCall data:bytes = Bool;
phone.createGroupCall#bd3dabe0 peer:InputPeer random_id:int = Updates;
phone.joinGroupCall#b132ff7b flags:# muted:flags.0?true call:InputGroupCall join_as:InputPeer invite_hash:flags.1?string params:DataJSON = Updates;
phone.createGroupCall#48cdc6d8 flags:# peer:InputPeer random_id:int title:flags.0?string schedule_date:flags.1?int = Updates;
phone.joinGroupCall#b132ff7b flags:# muted:flags.0?true video_stopped:flags.2?true call:InputGroupCall join_as:InputPeer invite_hash:flags.1?string params:DataJSON = Updates;
phone.leaveGroupCall#500377f9 call:InputGroupCall source:int = Updates;
phone.inviteToGroupCall#7b393160 call:InputGroupCall users:Vector<InputUser> = Updates;
phone.discardGroupCall#7a777135 call:InputGroupCall = Updates;
phone.toggleGroupCallSettings#74bbb43d flags:# reset_invite_hash:flags.1?true call:InputGroupCall join_muted:flags.0?Bool = Updates;
phone.getGroupCall#c7cb017 call:InputGroupCall = phone.GroupCall;
phone.getGroupParticipants#c558d8ab call:InputGroupCall ids:Vector<InputPeer> sources:Vector<int> offset:string limit:int = phone.GroupParticipants;
phone.checkGroupCall#b74a7bea call:InputGroupCall source:int = Bool;
phone.checkGroupCall#b59cf977 call:InputGroupCall sources:Vector<int> = Vector<int>;
phone.toggleGroupCallRecord#c02a66d7 flags:# start:flags.0?true call:InputGroupCall title:flags.1?string = Updates;
phone.editGroupCallParticipant#d975eb80 flags:# muted:flags.0?true call:InputGroupCall participant:InputPeer volume:flags.1?int raise_hand:flags.2?Bool = Updates;
phone.editGroupCallParticipant#a5273abf flags:# call:InputGroupCall participant:InputPeer muted:flags.0?Bool volume:flags.1?int raise_hand:flags.2?Bool video_stopped:flags.3?Bool video_paused:flags.4?Bool presentation_paused:flags.5?Bool = Updates;
phone.editGroupCallTitle#1ca6ac0a call:InputGroupCall title:string = Updates;
phone.getGroupCallJoinAs#ef7c213a peer:InputPeer = phone.JoinAsPeers;
phone.exportGroupCallInvite#e6aa647f flags:# can_self_unmute:flags.0?true call:InputGroupCall = phone.ExportedGroupCallInvite;
phone.toggleGroupCallStartSubscription#219c34e6 call:InputGroupCall subscribed:Bool = Updates;
phone.startScheduledGroupCall#5680e342 call:InputGroupCall = Updates;
phone.saveDefaultGroupCallJoinAs#575e1f8c peer:InputPeer join_as:InputPeer = Bool;
phone.joinGroupCallPresentation#cbea6bc4 call:InputGroupCall params:DataJSON = Updates;
phone.leaveGroupCallPresentation#1c50d144 call:InputGroupCall = Updates;
langpack.getLangPack#f2f2330a lang_pack:string lang_code:string = LangPackDifference;
langpack.getStrings#efea3803 lang_pack:string lang_code:string keys:Vector<string> = Vector<LangPackString>;
@@ -1645,4 +1656,4 @@ stats.getMegagroupStats#dcdf8607 flags:# dark:flags.0?true channel:InputChannel
stats.getMessagePublicForwards#5630281b channel:InputChannel msg_id:int offset_rate:int offset_peer:InputPeer offset_id:int limit:int = messages.Messages;
stats.getMessageStats#b6e0a3f5 flags:# dark:flags.0?true channel:InputChannel msg_id:int = stats.MessageStats;
// LAYER 125
// LAYER 129

View File

@@ -9,7 +9,7 @@
<Identity Name="TelegramMessengerLLP.TelegramDesktop"
ProcessorArchitecture="ARCHITECTURE"
Publisher="CN=536BC709-8EE1-4478-AF22-F0F0F26FF64A"
Version="2.6.3.0" />
Version="2.8.5.0" />
<Properties>
<DisplayName>Telegram Desktop</DisplayName>
<PublisherDisplayName>Telegram Messenger LLP</PublisherDisplayName>

View File

@@ -44,8 +44,8 @@ IDI_ICON1 ICON "..\\art\\icon256.ico"
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 2,6,3,0
PRODUCTVERSION 2,6,3,0
FILEVERSION 2,8,5,0
PRODUCTVERSION 2,8,5,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -62,10 +62,10 @@ BEGIN
BEGIN
VALUE "CompanyName", "Telegram FZ-LLC"
VALUE "FileDescription", "Telegram Desktop"
VALUE "FileVersion", "2.6.3.0"
VALUE "FileVersion", "2.8.5.0"
VALUE "LegalCopyright", "Copyright (C) 2014-2021"
VALUE "ProductName", "Telegram Desktop"
VALUE "ProductVersion", "2.6.3.0"
VALUE "ProductVersion", "2.8.5.0"
END
END
BLOCK "VarFileInfo"

View File

@@ -35,8 +35,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 2,6,3,0
PRODUCTVERSION 2,6,3,0
FILEVERSION 2,8,5,0
PRODUCTVERSION 2,8,5,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -53,10 +53,10 @@ BEGIN
BEGIN
VALUE "CompanyName", "Telegram FZ-LLC"
VALUE "FileDescription", "Telegram Desktop Updater"
VALUE "FileVersion", "2.6.3.0"
VALUE "FileVersion", "2.8.5.0"
VALUE "LegalCopyright", "Copyright (C) 2014-2021"
VALUE "ProductName", "Telegram Desktop"
VALUE "ProductVersion", "2.6.3.0"
VALUE "ProductVersion", "2.8.5.0"
END
END
BLOCK "VarFileInfo"

View File

@@ -47,6 +47,18 @@ typedef signed int int32;
namespace{
struct BIODeleter {
void operator()(BIO *value) {
BIO_free(value);
}
};
inline auto makeBIO(const void *buf, int len) {
return std::unique_ptr<BIO, BIODeleter>{
BIO_new_mem_buf(buf, len),
};
}
inline uint32 sha1Shift(uint32 v, uint32 shift) {
return ((v << shift) | (v >> (32 - shift)));
}
@@ -430,7 +442,15 @@ int main(int argc, char *argv[])
uint32 siglen = 0;
cout << "Signing..\n";
RSA *prKey = PEM_read_bio_RSAPrivateKey(BIO_new_mem_buf(const_cast<char*>((BetaChannel || AlphaVersion) ? PrivateBetaKey : PrivateKey), -1), 0, 0, 0);
RSA *prKey = [] {
const auto bio = makeBIO(
const_cast<char*>(
(BetaChannel || AlphaVersion)
? PrivateBetaKey
: PrivateKey),
-1);
return PEM_read_bio_RSAPrivateKey(bio.get(), 0, 0, 0);
}();
if (!prKey) {
cout << "Could not read RSA private key!\n";
return -1;
@@ -453,7 +473,15 @@ int main(int argc, char *argv[])
}
cout << "Checking signature..\n";
RSA *pbKey = PEM_read_bio_RSAPublicKey(BIO_new_mem_buf(const_cast<char*>((BetaChannel || AlphaVersion) ? PublicBetaKey : PublicKey), -1), 0, 0, 0);
RSA *pbKey = [] {
const auto bio = makeBIO(
const_cast<char*>(
(BetaChannel || AlphaVersion)
? PublicBetaKey
: PublicKey),
-1);
return PEM_read_bio_RSAPublicKey(bio.get(), 0, 0, 0);
}();
if (!pbKey) {
cout << "Could not read RSA public key!\n";
return -1;
@@ -510,7 +538,12 @@ QString countAlphaVersionSignature(quint64 version) { // duplicated in autoupdat
uint32 siglen = 0;
RSA *prKey = PEM_read_bio_RSAPrivateKey(BIO_new_mem_buf(const_cast<char*>(cAlphaPrivateKey.constData()), -1), 0, 0, 0);
RSA *prKey = [&] {
const auto bio = makeBIO(
const_cast<char*>(cAlphaPrivateKey.constData()),
-1);
return PEM_read_bio_RSAPrivateKey(bio.get(), 0, 0, 0);
}();
if (!prKey) {
cout << "Error: Could not read alpha private key!\n";
return QString();

View File

@@ -8,6 +8,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include <cstdio>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/sendfile.h>
#include <cstdlib>
#include <unistd.h>
#include <dirent.h>
@@ -87,7 +88,7 @@ void writeLog(const char *format, ...) {
va_end(args);
}
bool copyFile(const char *from, const char *to) {
bool copyFile(const char *from, const char *to, bool writeprotected) {
FILE *ffrom = fopen(from, "rb"), *fto = fopen(to, "wb");
if (!ffrom) {
if (fto) fclose(fto);
@@ -97,11 +98,6 @@ bool copyFile(const char *from, const char *to) {
fclose(ffrom);
return false;
}
static const int BufSize = 65536;
char buf[BufSize];
while (size_t size = fread(buf, 1, BufSize, ffrom)) {
fwrite(buf, 1, size, fto);
}
struct stat fst; // from http://stackoverflow.com/questions/5486774/keeping-fileowner-and-permissions-after-copying-file-in-c
//let's say this wont fail since you already worked OK on that fp
@@ -110,8 +106,35 @@ bool copyFile(const char *from, const char *to) {
fclose(fto);
return false;
}
ssize_t copied = sendfile(
fileno(fto),
fileno(ffrom),
nullptr,
fst.st_size);
if (copied == -1) {
writeLog(
"Copy by sendfile '%s' to '%s' failed, error: %d, fallback now.",
from,
to,
int(errno));
static const int BufSize = 65536;
char buf[BufSize];
while (size_t size = fread(buf, 1, BufSize, ffrom)) {
fwrite(buf, 1, size, fto);
}
} else {
writeLog(
"Copy by sendfile '%s' to '%s' done, size: %d, result: %d.",
from,
to,
int(fst.st_size),
int(copied));
}
//update to the same uid/gid
if (fchown(fileno(fto), fst.st_uid, fst.st_gid) != 0) {
if (!writeprotected && fchown(fileno(fto), fst.st_uid, fst.st_gid) != 0) {
fclose(ffrom);
fclose(fto);
return false;
@@ -210,7 +233,7 @@ void delFolder() {
rmdir(delFolder.c_str());
}
bool update() {
bool update(bool writeprotected) {
writeLog("Update started..");
string updDir = workDir + "tupdates/temp", readyFilePath = workDir + "tupdates/temp/ready", tdataDir = workDir + "tupdates/temp/tdata";
@@ -323,7 +346,7 @@ bool update() {
writeLog("Copying file '%s' to '%s'..", fname.c_str(), tofname.c_str());
int copyTries = 0, triesLimit = 30;
do {
if (!copyFile(fname.c_str(), tofname.c_str())) {
if (!copyFile(fname.c_str(), tofname.c_str(), writeprotected)) {
++copyTries;
usleep(100000);
} else {
@@ -358,6 +381,7 @@ int main(int argc, char *argv[]) {
bool needupdate = true;
bool autostart = false;
bool debug = false;
bool writeprotected = false;
bool tosettings = false;
bool startintray = false;
bool testmode = false;
@@ -383,6 +407,8 @@ int main(int argc, char *argv[]) {
tosettings = true;
} else if (equal(argv[i], "-workdir_custom")) {
customWorkingDir = true;
} else if (equal(argv[i], "-writeprotected")) {
writeprotected = true;
} else if (equal(argv[i], "-key") && ++i < argc) {
key = argv[i];
} else if (equal(argv[i], "-workpath") && ++i < argc) {
@@ -404,6 +430,7 @@ int main(int argc, char *argv[]) {
}
if (needupdate) writeLog("Need to update!");
if (autostart) writeLog("From autostart!");
if (writeprotected) writeLog("Write Protected folder!");
updaterName = CurrentExecutablePath(argc, argv);
writeLog("Updater binary full path is: %s", updaterName.c_str());
@@ -454,7 +481,7 @@ int main(int argc, char *argv[]) {
} else {
writeLog("Passed workpath is '%s'", workDir.c_str());
}
update();
update(writeprotected);
}
} else {
writeLog("Error: bad exe name!");
@@ -494,14 +521,17 @@ int main(int argc, char *argv[]) {
}
args.push_back(nullptr);
pid_t pid = fork();
switch (pid) {
case -1:
writeLog("fork() failed!");
return 1;
case 0:
execv(path, args.data());
return 1;
// let the parent launch instead
if (!writeprotected) {
pid_t pid = fork();
switch (pid) {
case -1:
writeLog("fork() failed!");
return 1;
case 0:
execv(args[0], args.data());
return 1;
}
}
writeLog("Executed Telegram, closing log and quitting..");

View File

@@ -7,6 +7,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
#include "updater.h"
#include "base/platform/win/base_windows_safe_library.h"
bool _debug = false;
wstring updaterName, updaterDir, updateTo, exeName, customWorkingDir, customKeyFile;
@@ -329,6 +331,8 @@ void updateRegistry() {
}
int APIENTRY wWinMain(HINSTANCE instance, HINSTANCE prevInstance, LPWSTR cmdParamarg, int cmdShow) {
base::Platform::InitDynamicLibraries();
openLog();
_oldWndExceptionFilter = SetUnhandledExceptionFilter(_exceptionFilter);

View File

@@ -36,10 +36,12 @@ void AttachedStickers::request(
return;
}
if (result.v.isEmpty()) {
Ui::show(Box<InformBox>(tr::lng_stickers_not_found(tr::now)));
strongController->show(
Box<InformBox>(tr::lng_stickers_not_found(tr::now)));
return;
} else if (result.v.size() > 1) {
Ui::show(Box<StickersBox>(strongController, result));
strongController->show(
Box<StickersBox>(strongController, result));
return;
}
// Single attached sticker pack.
@@ -52,12 +54,15 @@ void AttachedStickers::request(
const auto setId = (setData->vid().v && setData->vaccess_hash().v)
? MTP_inputStickerSetID(setData->vid(), setData->vaccess_hash())
: MTP_inputStickerSetShortName(setData->vshort_name());
Ui::show(
strongController->show(
Box<StickerSetBox>(strongController, setId),
Ui::LayerOption::KeepOther);
}).fail([=](const MTP::Error &error) {
_requestId = 0;
Ui::show(Box<InformBox>(tr::lng_stickers_not_found(tr::now)));
if (const auto strongController = weak.get()) {
strongController->show(
Box<InformBox>(tr::lng_stickers_not_found(tr::now)));
}
}).send();
}

View File

@@ -34,7 +34,11 @@ void CheckChatInvite(
session->api().checkChatInvite(hash, [=](const MTPChatInvite &result) {
Core::App().hideMediaView();
result.match([=](const MTPDchatInvite &data) {
const auto box = Ui::show(Box<ConfirmInviteBox>(
const auto strongController = weak.get();
if (!strongController) {
return;
}
const auto box = strongController->show(Box<ConfirmInviteBox>(
session,
data,
invitePeekChannel,
@@ -80,7 +84,10 @@ void CheckChatInvite(
return;
}
Core::App().hideMediaView();
Ui::show(Box<InformBox>(tr::lng_group_invite_bad_link(tr::now)));
if (const auto strong = weak.get()) {
strong->show(
Box<InformBox>(tr::lng_group_invite_bad_link(tr::now)));
}
});
}

View File

@@ -54,7 +54,7 @@ JoinedByLinkSlice ParseJoinedByLinkSlice(
for (const auto &importer : data.vimporters().v) {
importer.match([&](const MTPDchatInviteImporter &data) {
result.users.push_back({
.user = owner.user(data.vuser_id().v),
.user = owner.user(data.vuser_id()),
.date = data.vdate().v,
});
});
@@ -623,7 +623,7 @@ auto InviteLinks::parse(
return invite.match([&](const MTPDchatInviteExported &data) {
return Link{
.link = qs(data.vlink()),
.admin = peer->session().data().user(data.vadmin_id().v),
.admin = peer->session().data().user(data.vadmin_id()),
.date = data.vdate().v,
.startDate = data.vstart_date().value_or_empty(),
.expireDate = data.vexpire_date().value_or_empty(),

View File

@@ -65,7 +65,10 @@ void SendProgressManager::update(
SendProgressType type,
int progress) {
const auto peer = history->peer;
if (peer->isSelf() || (peer->isChannel() && !peer->isMegagroup())) {
if (peer->isSelf()
|| (peer->isChannel()
&& !peer->isMegagroup()
&& type != SendProgressType::Speaking)) {
return;
}

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