Compare commits

...

1341 Commits

Author SHA1 Message Date
John Preston
dcbda7b3af Version 5.15.2.
- Fix sending messages in new forum layout.
- Add statistics for user stars.
2025-06-05 22:55:29 +04:00
John Preston
553cc0c6ae Fix new forum messages sending. 2025-06-05 21:26:50 +04:00
23rd
067dcbfbeb Added initial entry point for self statistics of credits. 2025-06-05 19:59:02 +03:00
23rd
759258bb39 Added support of statistics availability to Credits component. 2025-06-05 19:49:25 +03:00
John Preston
3667ef551c Version 5.15.1.
- Fix launch on Windows 7.
- Fix launch on older Linux distributions.
- Fix crash in group chat message right click.
- Fix unread counters in channel direct messages.
- Don't generate "User joined" message in channel direct messages.
- Fix some other glitches in new forums and channel direct messages.
2025-06-05 19:08:28 +04:00
Ilya Fedin
a3308087a5 Fix static libstdc++ link 2025-06-05 16:57:04 +04:00
John Preston
bfb4652425 Realtime update admin status in members list. 2025-06-05 16:09:41 +04:00
John Preston
03c24e2906 Show better monoforum chat info column. 2025-06-05 15:29:26 +04:00
John Preston
dc61faace1 Handle disabling direct messages in channel. 2025-06-05 15:29:26 +04:00
John Preston
73ea86ceeb Improve monoforum chat profiles. 2025-06-05 14:24:30 +04:00
John Preston
9a622ab466 Add view channel button to monoforum info. 2025-06-05 14:09:03 +04:00
John Preston
65cfd6c81c Fix new forum layout search and topics list. 2025-06-05 13:55:55 +04:00
John Preston
08681ac1b9 Show join requests in new forums layout. 2025-06-05 13:39:33 +04:00
John Preston
f9acb5d19b Fix activation of wrong tab after new window. 2025-06-05 13:00:14 +04:00
John Preston
e9e187c58b Ctrl+Click to open subsection in a new window. 2025-06-05 12:54:59 +04:00
John Preston
3bc20c3550 Save last opened subsection within a launch. 2025-06-05 12:47:16 +04:00
John Preston
4b25406d14 Remove delay when switching subsection tabs. 2025-06-05 12:19:27 +04:00
John Preston
265b7904a8 Fix blockquote/code captions to media in reply bar. 2025-06-05 12:10:31 +04:00
John Preston
fb2274c58d Fix glitch in new forum layout opening. 2025-06-05 12:04:28 +04:00
John Preston
3cfdc9d897 Fix setting group emoji status. 2025-06-05 11:40:05 +04:00
John Preston
11986ac698 Show star in channel direct messages settings. 2025-06-05 11:33:43 +04:00
John Preston
a08436ecd2 Fix unread counters in filters with monoforums. 2025-06-05 11:04:23 +04:00
John Preston
e92adf94a7 Improve adaptive loading in subsection tabs. 2025-06-05 10:45:13 +04:00
Ilya Fedin
d25356917d Stop setting CMAKE_EXE_LINKER_FLAGS in actions 2025-06-05 09:56:19 +04:00
John Preston
0adb3b062f Use only first name in birthday notification. 2025-06-05 09:55:16 +04:00
John Preston
9316480884 Don't generate joined message in monoforums. 2025-06-05 09:22:44 +04:00
John Preston
4e5082f6c6 Fix comments root view position.
Fixes #29389.
2025-06-05 09:06:19 +04:00
John Preston
16d5dbe71c Fix crash in group chat context menu.
Fixes #29387.
2025-06-05 08:59:07 +04:00
John Preston
133d7874e3 Revert d3d compiler to 10.0.22621.3233. 2025-06-05 08:56:53 +04:00
John Preston
4659d5db5d Version 5.15.
- Send Direct Messages to Channels.
- Enable New Tab Layout for Topics.
- Create Polls with Up To 12 Options.
2025-06-04 22:56:02 +04:00
Ilya Fedin
af061125dd Fix Docker build without LTO 2025-06-04 21:33:53 +04:00
John Preston
5c4b1f6638 Show message author to admins in monoforums. 2025-06-04 21:33:27 +04:00
John Preston
ee3d70f879 Fix glitching userpics in monoforum. 2025-06-04 21:05:08 +04:00
John Preston
7dadaa1b28 Save subsection tabs layout to disk. 2025-06-04 19:39:34 +04:00
John Preston
a72782e232 Use server provided default stars count for direct. 2025-06-04 18:42:17 +04:00
John Preston
8654ffb6fb Don't show "Who Viewed" in monoforums. 2025-06-04 18:26:48 +04:00
John Preston
90e445eec9 Don't show notifications from other admins. 2025-06-04 18:26:30 +04:00
John Preston
910b6d8879 Fix unread mark badge in new forums layout. 2025-06-04 18:13:21 +04:00
John Preston
8d1c2f832d Add "Create topic" to new forum view. 2025-06-04 17:59:25 +04:00
John Preston
158d2a4124 Fix possible stack overflow in subsection tabs. 2025-06-04 17:59:10 +04:00
John Preston
66473738d6 Add simple shadow to subsection tabs. 2025-06-04 17:26:23 +04:00
John Preston
6a43107bb2 Fix possible crash in subsection tabs. 2025-06-04 16:52:44 +04:00
John Preston
28e7afa412 Even nicer empty chat. 2025-06-04 16:48:37 +04:00
John Preston
8dc151e14d Fix build on Windows. 2025-06-04 16:21:21 +04:00
John Preston
a330a3f2eb Nicer empty monoforum for non-admins. 2025-06-04 15:45:22 +04:00
Ilya Fedin
8f7195d3b2 Fix macOS action 2025-06-04 11:17:35 +04:00
Ilya Fedin
a4e4502d50 Add missing dependencies to macOS packaged action 2025-06-04 11:17:35 +04:00
GitHub Action
902da90100 Update User-Agent for DNS to Chrome 136.0.0.0. 2025-06-04 10:28:54 +04:00
John Preston
d775760f98 Support nice monoforum userpics. 2025-06-04 10:00:24 +04:00
John Preston
dfb6600104 Fix loading of horizontal avatar strip. 2025-06-04 10:00:24 +04:00
John Preston
41ed487d5e Improve opening ChatWidget at the end. 2025-06-04 10:00:24 +04:00
John Preston
d156de05a5 Allow replying in monoforum while not in it. 2025-06-04 10:00:24 +04:00
John Preston
f4582ddf36 Correctly mark monoforum chats as read. 2025-06-04 10:00:24 +04:00
John Preston
7f7b764f7b Allow ton:// links in webapps. 2025-06-04 10:00:24 +04:00
John Preston
dd8fdfc3d4 Allow forwarding polls to monoforums. 2025-06-04 10:00:24 +04:00
John Preston
6c80d443b9 Better entry point for Direct Messages. 2025-06-04 10:00:24 +04:00
John Preston
cd05586d51 Fix display of pinned messages in sublists. 2025-06-04 10:00:24 +04:00
John Preston
dfc1ec3ccf Support shared media / pins for sublists. 2025-06-04 10:00:23 +04:00
John Preston
ffe6786ad1 Support unread reactions in monoforums. 2025-06-04 10:00:23 +04:00
John Preston
6068678fa1 Improve separate window support. 2025-06-04 10:00:23 +04:00
John Preston
50b761fab2 Remove showing monoforums inside dialogs widget. 2025-06-04 10:00:23 +04:00
John Preston
0d43f16db2 Remove unsupported actions from monoforum menu. 2025-06-04 10:00:23 +04:00
John Preston
3278de9ba1 Support mark as read/unread in sublists. 2025-06-04 10:00:23 +04:00
John Preston
abe1962002 Show context menu for topics in new tabs. 2025-06-04 10:00:23 +04:00
John Preston
5b15f377cd Improve set direct message price box. 2025-06-04 10:00:23 +04:00
John Preston
d0e5ea78a5 Improve topics layout management. 2025-06-04 10:00:23 +04:00
John Preston
853757e611 Fix tabs transfer between chat widgets. 2025-06-04 10:00:22 +04:00
John Preston
c3860cfe72 Improve monoforum top bar status. 2025-06-04 10:00:22 +04:00
John Preston
90b2c077a6 Don't flood with bot requests in monoforums. 2025-06-04 10:00:22 +04:00
John Preston
fdce4bada7 Implement nice topic mode editing. 2025-06-04 10:00:22 +04:00
John Preston
4c8ff1c7ec Disable polls in monoforums, enable in Saved Messages. 2025-06-04 10:00:22 +04:00
John Preston
2a153214f6 Support polls with 12 options. 2025-06-04 10:00:22 +04:00
John Preston
d7c964afc5 Show "Messages" badge for monoforum. 2025-06-04 10:00:22 +04:00
John Preston
5943052cd1 Show badges in new tabs. 2025-06-04 10:00:22 +04:00
John Preston
8512154b45 Implement better horizontal/vertical tabs. 2025-06-04 10:00:22 +04:00
John Preston
0e5419c60b Fix opening forums with tabs. 2025-06-04 10:00:22 +04:00
John Preston
1d26482298 Update API scheme on layer 204. 2025-06-04 10:00:21 +04:00
John Preston
126749f04c Fix build with new MSVC. 2025-06-04 10:00:21 +04:00
John Preston
e0e69ce740 Support vertical tabs somehow. 2025-06-04 10:00:21 +04:00
John Preston
72b57924b7 Correctly load tab slices. 2025-06-04 10:00:21 +04:00
John Preston
fdbdeeb956 Start new tabs for monoforums. 2025-06-04 10:00:21 +04:00
John Preston
3dbdecf73d Make monoforum sender badges float. 2025-06-04 10:00:21 +04:00
John Preston
7dc8943840 Improve monoforum opening. 2025-06-04 10:00:21 +04:00
John Preston
646b852717 Correct rights check in monoforums. 2025-06-04 10:00:21 +04:00
John Preston
075f754a71 Update API scheme on layer 204. 2025-06-04 10:00:21 +04:00
John Preston
f65556acb7 Support drafts in monoforum sublists. 2025-06-04 10:00:21 +04:00
John Preston
b2c01991a6 Support unread state in sublists. 2025-06-04 10:00:21 +04:00
John Preston
4bc5e81513 Update API scheme on layer 204. 2025-06-04 10:00:19 +04:00
John Preston
2b24fe95c2 Update API scheme on layer 204. 2025-06-04 10:00:19 +04:00
John Preston
358e64f2cc Show monoforums as forums in chats list. 2025-06-04 10:00:19 +04:00
John Preston
5dc50b6d96 Respect price of messages to channels. 2025-06-04 10:00:18 +04:00
John Preston
b91a040a32 Update API scheme on layer 204. 2025-06-04 10:00:18 +04:00
John Preston
76db55ff19 Support forwarding to monoforums. 2025-06-04 10:00:18 +04:00
John Preston
e17bf18350 Update API scheme on layer 204. 2025-06-04 10:00:18 +04:00
John Preston
43b4499125 Add monoforum sender bar divider. 2025-06-04 10:00:18 +04:00
John Preston
c6d43a802c Fix sending messages in monoforums. 2025-06-04 10:00:18 +04:00
John Preston
21f8403357 Merge SublistSection into ChatSection. 2025-06-04 10:00:18 +04:00
John Preston
40053e3388 Rename RepliesWidget/Memento to ChatWidget/Memento. 2025-06-04 10:00:14 +04:00
John Preston
abcf7e3a47 Update API scheme & fix monoforum send. 2025-06-04 10:00:14 +04:00
John Preston
f8913bf9b9 Show square userpics for monoforums. 2025-06-04 10:00:14 +04:00
John Preston
51878ab38e Allow opening monoforums. 2025-06-04 10:00:14 +04:00
John Preston
d3f9a84a0a Allow enabling direct messages in channels. 2025-06-04 10:00:14 +04:00
John Preston
23eedb468f Update API scheme to layer 204. 2025-06-04 10:00:14 +04:00
John Preston
9cb89fff45 Fix dropping filter in gifts. 2025-06-04 10:00:14 +04:00
23rd
79f0b22276 Compressed lottie for media forbidden. 2025-06-03 18:30:38 +03:00
23rd
8b2a728a0d Fixed display of loading animation from search in Saved Messages. 2025-06-03 18:28:11 +03:00
23rd
b4120b156e Added nice overlay to recorded round videos. 2025-06-03 17:55:37 +03:00
23rd
1ae3122c20 Added support of suggestion to validate cloud password to settings. 2025-06-03 17:55:37 +03:00
23rd
727acca217 Updated Qt to 5.15.17 on Windows. 2025-06-03 17:55:37 +03:00
23rd
5f8d662d67 Slightly improved of forward declarations in history item. 2025-06-03 17:55:18 +03:00
23rd
81b432140c Added ability to edit caption from box even when file is uploaded. 2025-06-03 17:55:18 +03:00
23rd
adc1ee71a9 Slightly improved box to edit caption of grouped file. 2025-06-03 17:55:18 +03:00
23rd
5ac373d4aa Added simple box to edit caption of single file while it's uploading. 2025-06-03 17:55:18 +03:00
23rd
5b9e24f3f4 Slightly improved box for writing captions to be more generic. 2025-06-03 17:55:18 +03:00
23rd
0e44de2fe3 Slightly improved style of exception button in notifications settings. 2025-06-03 17:55:18 +03:00
23rd
b0125e8165 Slightly improved display of numbers approaching zero in stats charts. 2025-06-03 17:55:18 +03:00
23rd
a532067a93 Fixed dismissing of custom pending suggestions. 2025-06-03 17:55:18 +03:00
Ilya Fedin
f456071c08 Switch Dockerfile to packaged mode 2025-06-03 18:25:15 +04:00
Ilya Fedin
3896f0995c Runtime Implib detection 2025-06-03 18:25:15 +04:00
Ilya Fedin
56ff5808a3 Unify packaged/non-packaged binary name 2025-06-03 18:25:15 +04:00
Ilya Fedin
15c817dd15 Update Qt 6.9.0 -> 6.9.1 2025-06-03 15:01:48 +04:00
Ilya Fedin
7246c3f304 Set cmake OpenGL default to legacy in Dockerfile 2025-06-03 14:11:25 +04:00
Ilya Fedin
e4f59f1ec4 Build only static libraries in Dockerfile 2025-06-03 14:11:25 +04:00
Ilya Fedin
5f0e9538cf Move Implib to Dockerfile 2025-06-03 10:16:58 +04:00
Ilya Fedin
73649128f3 Update cmake_helpers 2025-06-03 09:58:11 +04:00
Ilya Fedin
edc84731ac Change debug cmake flags according to Dockerfile options 2025-06-03 09:58:11 +04:00
Ilya Fedin
108b116b06 Use lld when building without LTO in Dockerfile 2025-06-03 09:58:11 +04:00
Ilya Fedin
dda587dc6f DESKTOP_APP_USE_PACKAGED_LAZY -> DESKTOP_APP_DISABLE_QT_PLUGINS 2025-06-03 09:50:07 +04:00
Ilya Fedin
4a9dd43598 Update tg_owt 2025-06-03 09:41:49 +04:00
Ilya Fedin
a64cfe661a Add missing deps to webrtc Docker layer 2025-06-03 09:41:33 +04:00
Ilya Fedin
7e418a16ae Fix packaged conditions in lib_ffmpeg and Packer 2025-06-03 09:41:22 +04:00
Ilya Fedin
ecf1fa2bbd Get rid of lib prefixes in Docker layers 2025-06-03 09:28:44 +04:00
Ilya Fedin
a6157a34bc Update variable syntax in Dockerfile 2025-06-03 09:28:44 +04:00
Ilya Fedin
8e37e66706 Make TOOLSET variable not dependent on jinja in Dockerfile 2025-06-03 09:28:44 +04:00
Ilya Fedin
dd6a4931e5 Make QT variable local to the Docker layer 2025-06-03 09:28:44 +04:00
Ilya Fedin
2d000e826b Remove GIT variable from Dockerfile 2025-06-03 09:28:44 +04:00
Ilya Fedin
c1028e7408 Remove GIT_FREEDESKTOP variable from Dockerfile 2025-06-03 09:28:44 +04:00
Ilya Fedin
28b54fac37 Revert GIT_UPDATE_M4 in Dockerfile
This partially reverts commit 9461095c88.
2025-06-03 09:28:44 +04:00
Ilya Fedin
845fddf5f2 Use enable_language 2025-06-03 09:28:31 +04:00
Ilya Fedin
e3e2a477c1 Proper check for multi-config generator 2025-06-03 09:20:45 +04:00
Ilya Fedin
bf4442ecf5 CMAKE_CONFIG_TYPE doesn't seem to work
This partially reverts commit ae45189436.
2025-06-03 09:20:24 +04:00
Ilya Fedin
ab6375ef2a Update submodules 2025-05-27 10:56:02 +04:00
Ilya Fedin
2535b6e08c Update GCC to 14 on Linux 2025-05-27 10:56:02 +04:00
Ilya Fedin
2f003d416a Update OpenAL to 1.24.3 on Linux 2025-05-27 10:56:02 +04:00
Ilya Fedin
579b358f8b Use system gobject-introspection in Dockerfile 2025-05-27 10:56:02 +04:00
Ilya Fedin
231a583bf7 Build tg_owt in packaged mode in Dockerfile 2025-05-27 10:56:02 +04:00
Ilya Fedin
f0cfbacb4f Install Qt to global prefix in Dockerfile 2025-05-27 10:56:02 +04:00
Ilya Fedin
ae45189436 Set cmake generator, build type and parallel level globally in Dockerfile 2025-05-27 10:56:02 +04:00
Ilya Fedin
ff8292b863 Set build directory for libde265 in Dockerfile 2025-05-27 10:56:02 +04:00
Ilya Fedin
ebe45f73a0 Shorten GIT_UPDATE_M4 2025-05-27 10:56:02 +04:00
Ilya Fedin
88ce676c46 Use Python 3.11 explicitly in Docker 2025-05-20 18:55:54 +04:00
Ilya Fedin
426cc2798e Revert "Use Python 3.12 in Docker"
This reverts commit 1d2df63652.
2025-05-20 18:55:54 +04:00
Ilya Fedin
1d2df63652 Use Python 3.12 in Docker 2025-05-20 17:59:43 +04:00
John Preston
d22afa36c3 Version 5.14.3.
- Fix stale birthday suggestions removing.
- Fix notification click opening a new window.
2025-05-18 20:32:39 +04:00
John Preston
a7296f15ac Suggest to reset gifts filter. 2025-05-18 20:32:39 +04:00
John Preston
b20caee548 Check if the resale gift price changed. 2025-05-18 14:12:18 +04:00
John Preston
519832edd7 Show warnings for dangerous business bot rights. 2025-05-18 14:12:17 +04:00
John Preston
a2cea1e5bc More robust business bot editing. 2025-05-18 14:12:16 +04:00
John Preston
b3c198f0d2 Improve layout of media albums with likes. 2025-05-18 14:12:15 +04:00
23rd
b45a696b5d Fixed build of macOS on Github CI. 2025-05-17 09:22:12 +03:00
Mehran
a2b3fe6411 Add and slightly improve cloud languages 2025-05-16 12:38:04 +04:00
Ilya Fedin
13d4f37726 Use CMAKE_MSVC_DEBUG_INFORMATION_FORMAT in Windows action 2025-05-16 11:36:16 +04:00
23rd
71f34f4e31 Added ability to jump from code to phone input in intro with Space. 2025-05-15 18:19:49 +03:00
23rd
018f147de6 Slightly improved position of code input in intro step. 2025-05-15 17:58:14 +03:00
23rd
da012cbf8b Added lottie emoji to box for validate phone number in settings. 2025-05-15 17:58:14 +03:00
John Preston
3907a103fc Fix possible notification click problem.
Fixes #29293.
2025-05-15 15:34:23 +04:00
John Preston
efb566bcc7 Don't show resale gifts as "sold out". 2025-05-15 14:50:27 +04:00
John Preston
53e8df3542 Sort resale gifts by Price by default. 2025-05-15 14:50:22 +04:00
23rd
a00d262773 Added support of suggestion to validate phone number to settings. 2025-05-15 13:22:54 +03:00
23rd
b64db54793 Fixed possible incorrect display of low credits balance in top bar. 2025-05-15 10:09:24 +03:00
23rd
97c0e3d4a9 Added support of custom emoji to top bar suggestion. 2025-05-15 10:09:01 +03:00
23rd
ba31bbace8 Added refresh of top bar suggestion on day changed for birthdays. 2025-05-15 10:08:44 +03:00
23rd
606dfd29d3 Moved out data of contact birthdays to promo suggestions class. 2025-05-15 10:08:22 +03:00
23rd
9411d0781b Removed birthday suggestions for self, blocked and deleted accounts. 2025-05-15 09:22:22 +03:00
23rd
7aea200860 Fixed padding reset in top bar suggestion on suggestion changed. 2025-05-15 09:21:54 +03:00
Ilya Fedin
5d8ac95d07 Prepend PkgConfig variables with TDESKTOP_
To avoid clashes with cache variables set by third party cmake modules
2025-05-14 11:13:50 +04:00
Ilya Fedin
cd0ebb41aa Use CMAKE_COMPILE_WARNING_AS_ERROR in actions
Instead of specifying the compiler flag manually
2025-05-14 10:43:50 +04:00
Ilya Fedin
eb028b0dad Ensure clangd cache is out of build directory
It's annoying to rebuild index after cleaning the build directory
2025-05-13 10:41:42 +04:00
Ilya Fedin
61803f7516 Update submodules 2025-05-13 08:07:02 +04:00
Ilya Fedin
50bfed79be Update protobuf in snap 2025-05-13 07:48:03 +04:00
Ilya Fedin
1c77ae818e Update cmake_helpers 2025-05-12 09:41:26 +04:00
Ilya Fedin
66ede6037d Add t2e2e to snap 2025-05-12 09:41:26 +04:00
Ilya Fedin
01452b7309 Add tde2e to macOS Packaged action 2025-05-12 09:41:26 +04:00
Ilya Fedin
b5f2470b79 td -> tde2e 2025-05-12 09:41:26 +04:00
Ilya Fedin
49403e9fee Fix COPY order for libraries in Dockerfile 2025-05-12 09:41:26 +04:00
John Preston
66d512f26f Version 5.14.2.
- Buy Rare Gifts in the Marketplace.
- Sell Your Gifts for Stars.
- Set Your Channel to Auto-Translate.
2025-05-09 10:01:55 +04:00
John Preston
2ba0ebf3e8 Update cmake_helpers submodule. 2025-05-09 10:01:55 +04:00
John Preston
bbcd27d3c2 Fix possible crash in restrictions. 2025-05-09 10:01:55 +04:00
Ilya Fedin
837a3528cd Fix mozjpeg build with cmake 4 2025-05-08 03:41:54 -07:00
Ilya Fedin
f39662588f Revert "Cherry-pick mozjpeg cmake 4 compatibility"
This reverts commit 9fd1f95ab8.
2025-05-08 03:41:54 -07:00
Ilya Fedin
4b12f52029 Revert "Set CMAKE_MSVC_RUNTIME_LIBRARY for mozjpeg"
This reverts commit ce764c862f.
2025-05-08 03:41:54 -07:00
Ilya Fedin
f2920ddefb Use Docker's actions to build Docker image 2025-05-08 02:52:14 -07:00
Ilya Fedin
ce010653d5 Don't create unnecessary subfolder in Linux action
It results in a tdesktop/tdesktop/tdesktop path
2025-05-08 02:52:14 -07:00
Ilya Fedin
ce764c862f Set CMAKE_MSVC_RUNTIME_LIBRARY for mozjpeg
The cherry-pick made in 9fd1f95ab8 broke mozjpeg's own WITH_CRT_DLL variable so we have to use the cmake one
2025-05-08 02:38:45 -07:00
Ilya Fedin
60d821ae3e Use cmake --build in macOS action 2025-05-08 02:37:08 -07:00
Ilya Fedin
8f7f8fc0b5 Set CMAKE_CONFIGURATION_TYPES for actions 2025-05-08 02:37:08 -07:00
John Preston
ec45041a66 Fix empty query migrated group search. 2025-05-08 10:53:23 +04:00
Ilya Fedin
67a666b282 Return accidentally removed video formats 2025-05-07 23:19:39 -07:00
Ilya Fedin
d9404fc566 Raise minimum required cmake version to 3.25
Use policies up to 3.31
2025-05-07 23:13:01 -07:00
23rd
bcd899c641 Slightly improved phrases to admin log for channels. 2025-05-07 22:35:30 +03:00
John Preston
ec61ac29ea Fix forum showing when group not opened. 2025-05-07 22:17:49 +04:00
John Preston
180e663a43 Implement nice confcall bar text. 2025-05-07 22:10:44 +04:00
John Preston
ae1711a685 Use translated phrase for collectible upgrade. 2025-05-07 21:05:33 +04:00
John Preston
9c3b62574d Change some hard-coded phrases. 2025-05-07 20:35:01 +04:00
John Preston
a3637c12d6 Fix first message date with new peer info. 2025-05-07 18:53:21 +04:00
John Preston
cae192682b Improve notification Ctrl+Click to open a new window.
Fixes #29144.
2025-05-07 18:52:52 +04:00
23rd
6c68bacaef Added ability to open chat in window from Ctrl+click on notifications. 2025-05-07 18:09:34 +04:00
John Preston
ee7a2b564b Show "Join" button for pinned call links. 2025-05-07 18:03:59 +04:00
John Preston
fb25d90b48 Hide weird unread badge in new-window forum. 2025-05-07 18:03:46 +04:00
John Preston
9075a521f0 Correctly show global search with in-chat. 2025-05-07 18:03:18 +04:00
John Preston
00a0e595ff Don't add global posts search preview for in-chat start. 2025-05-07 17:12:00 +04:00
John Preston
694ff32b01 Always search hashtags in current chat. 2025-05-07 16:56:55 +04:00
John Preston
a74635ff56 Fix: Hide 'My gifts' tab when gifting to self 2025-05-07 16:52:57 +04:00
John Preston
8c6f3d66b5 Don't mask gift numbers in service notifications. 2025-05-07 16:44:41 +04:00
John Preston
a49cb06d77 Fix unread count update in folder strip. 2025-05-07 16:39:42 +04:00
John Preston
f96f478470 Rename linked-chat to discussion-link. 2025-05-07 14:58:47 +04:00
John Preston
1d2f713673 Fix Cursor rules files. 2025-05-07 14:50:01 +04:00
23rd
57d24d0fbf Fixed ability to dismiss of suggestion of 2+ birthdays of contacts. 2025-05-07 12:16:51 +03:00
23rd
584e55a89c Fixed crash on dismiss of birthday suggestion. 2025-05-07 12:15:50 +03:00
23rd
4560a83441 Fixed creation of new filter with selected dialog from menu. 2025-05-07 11:47:00 +03:00
23rd
f4658728e8 Fixed update of currency balance on error receiving. 2025-05-07 11:17:33 +03:00
23rd
54825dc66f Fixed button for currency withdrawal from bots. 2025-05-07 10:28:54 +03:00
23rd
d4056ac10a Slightly improved style of withdrawal widget in bot earn stats. 2025-05-07 10:04:26 +03:00
23rd
8f409a8fe2 Fixed swipe-back on strip of similar channels. 2025-05-07 10:04:26 +03:00
23rd
d369d988b0 Fixed possible crashed on local zoom of charts in stats. 2025-05-07 10:04:26 +03:00
23rd
2a74736761 Removed ability to set wallpaper to replies chat. 2025-05-07 10:04:26 +03:00
23rd
6bd0bf6e69 Made more rpl-friendly balance label in channel profile. 2025-05-07 10:04:26 +03:00
23rd
53cee177e8 Added timeout to earn requests for channels and bots. 2025-05-07 10:04:26 +03:00
23rd
a8afc62db7 Added ability to inspect earn balance from channel info. 2025-05-07 10:04:26 +03:00
23rd
14328eb601 Fixed right label for only paid reaction in edit peer info box. 2025-05-06 20:50:19 +03:00
23rd
2184755fdf Fixed ripple from top button in box about sponsored messages. 2025-05-06 20:50:19 +03:00
23rd
3a3cd1f856 Slightly improved icon position in PointDetailsWidget for stats. 2025-05-06 20:50:19 +03:00
23rd
24a3a41cd6 Slightly improved code style in PromoSuggestions. 2025-05-06 12:33:03 +03:00
23rd
197f6b05ae Added support of custom promo suggestions. 2025-05-06 12:21:42 +03:00
23rd
c2e887a86e Moved out top promo from api and suggestions from config to single file. 2025-05-06 12:21:06 +03:00
John Preston
dc1459438c Fix a crash in screen share window close. 2025-05-05 11:43:51 +04:00
John Preston
00e6da9d64 Fix build with Xcode. 2025-05-05 11:43:51 +04:00
John Preston
68b3d75705 Track and show "too early" gift transfer/resell. 2025-05-05 11:43:51 +04:00
John Preston
3e538b732a Update API scheme on layer 203. 2025-05-05 11:43:51 +04:00
John Preston
833341dea7 Show transfer price if transfer from resale. 2025-05-05 11:43:51 +04:00
John Preston
bc3efe2f4c Improve gift resale transaction entries. 2025-05-05 11:43:51 +04:00
John Preston
10e4c59f2e Correct implementation of auto-translation. 2025-05-05 11:43:51 +04:00
John Preston
d9016b7979 Update API scheme on layer 203. 2025-05-05 11:43:51 +04:00
John Preston
d975610ecd Update API scheme on layer 203. 2025-05-05 11:43:51 +04:00
John Preston
5d1251f6d8 Improve layout of resale gift counters. 2025-05-05 11:43:50 +04:00
John Preston
bdf802e64a Use TextWithEntities().append(style::IconEmoji). 2025-05-05 11:43:50 +04:00
John Preston
f2b888f9ae Use nice icons in resale gifts sorting. 2025-05-05 11:43:50 +04:00
John Preston
9583007769 Apply auto-translation from French? for test. 2025-05-05 11:43:50 +04:00
John Preston
eb81c33308 Allow saving "Autotranslation of Messages" in channels. 2025-05-05 11:43:50 +04:00
John Preston
8d734f5cc4 Update API scheme on layer 203. 2025-05-05 11:43:50 +04:00
John Preston
3375ff6152 Use correct phrases for the resold gifts. 2025-05-05 11:43:50 +04:00
John Preston
80fc58f83e Reorder privacy and security settings. 2025-05-05 11:43:50 +04:00
John Preston
17c0124747 Improve price layout in saved gifts. 2025-05-05 11:43:50 +04:00
John Preston
c220d4dd17 Handle STARGIFT_RESELL_TOO_EARLY error. 2025-05-05 11:43:50 +04:00
John Preston
15146725e3 Fix transfer of my gifts from Resale. 2025-05-05 11:43:50 +04:00
John Preston
ddfab824c3 Respect gift privacy for resell gifts. 2025-05-05 11:43:50 +04:00
John Preston
8b5a00ca27 Add separate "Change Price" context menu button. 2025-05-05 11:43:50 +04:00
John Preston
04a7f14c0e Add price tag in resale gift view. 2025-05-05 11:43:50 +04:00
John Preston
18f14b828c Allow buying resold gifts. 2025-05-05 11:43:50 +04:00
John Preston
0a92e12a62 Allow placing your gifts on sale. 2025-05-05 11:43:50 +04:00
John Preston
5b71281ec4 Update API scheme on layer 203. 2025-05-05 11:43:50 +04:00
John Preston
08fdc4f1fc Add "Resale" tab in gift selection. 2025-05-05 11:43:50 +04:00
John Preston
c726bef740 Allow buying reselling gifts. 2025-05-05 11:43:50 +04:00
John Preston
94e0ac3f54 Add resale gift sorting modes icons. 2025-05-05 11:43:50 +04:00
John Preston
284f7fc4f7 Improve resale unique gift display. 2025-05-05 11:43:50 +04:00
John Preston
e629460942 Implement filtering of resale gifts. 2025-05-05 11:43:50 +04:00
John Preston
904e531113 Show resell info in gifts choose box. 2025-05-05 11:43:49 +04:00
John Preston
ca2f2adc90 Use correct paths for the rules files. 2025-05-05 10:58:35 +04:00
Ilya Fedin
78a3e329f5 Use gperf from msys2 2025-05-03 04:46:45 -07:00
Ilya Fedin
5938e0f821 Use native versions of diffutils and pkg-config on Windows 2025-05-03 04:46:45 -07:00
Ilya Fedin
4a6ae3b46c Use ninja from Windows SDK 2025-05-03 04:46:45 -07:00
Ilya Fedin
2327d661b9 Update msys2 2025-05-03 04:46:45 -07:00
Ilya Fedin
9790e37154 Remove unused ThirdParty\cmake\bin from prepare.py 2025-05-03 04:46:45 -07:00
Ilya Fedin
f97d751343 Update tg_owt 2025-05-03 04:46:45 -07:00
Ilya Fedin
81c1f6bd8e Update rnnoise 2025-05-03 04:46:45 -07:00
Ilya Fedin
e3a5a4239b Don't override C(XX)FLAGS for static MSVC library in prepare.py
Rely solely on CMAKE_MSVC_RUNTIME_LIBRARY
2025-05-03 04:46:45 -07:00
Ilya Fedin
fcec85881f Update xz to 5.8.1 in Docker 2025-05-03 04:46:45 -07:00
Ilya Fedin
cfefb8b2e0 Update zlib to 1.3.1 2025-05-03 04:46:45 -07:00
Ilya Fedin
e81a2a5011 Update Opus to 1.5.2
This fixes compatibility with cmake 4
2025-05-03 04:46:45 -07:00
Ilya Fedin
d62b488459 Ensure ffmpeg can find static pkg-config deps 2025-05-03 04:46:45 -07:00
Ilya Fedin
932bd92b95 Cherry-pick libde265 cmake 4 compatibility 2025-05-03 04:46:45 -07:00
Ilya Fedin
9fd1f95ab8 Cherry-pick mozjpeg cmake 4 compatibility 2025-05-03 04:46:45 -07:00
Ilya Fedin
cf414cb9cb Update cmake_helpers 2025-05-03 03:09:40 -07:00
Ilya Fedin
f676d32f96 Fix tde2e include the way tdlib itself uses it 2025-05-03 03:09:40 -07:00
John Preston
7d88c48c39 Version 5.14.1.
- Fix launching on Windows 7.
2025-05-01 19:01:11 +04:00
John Preston
26337a6bd4 Partially revert "Get rid of /DELAYLOAD"
This partially reverts commit 6586791655.
2025-05-01 18:57:35 +04:00
John Preston
1263a5bfc0 Fix build on MSVC. 2025-05-01 17:59:38 +04:00
John Preston
fe21ca5b95 Update lib_ui. 2025-05-01 17:57:46 +04:00
23rd
0fe9dad515 Added initial api support of bank card entity in messages. 2025-05-01 13:51:16 +03:00
John Preston
75b33c906d Version 5.14.
- Secure Group Calls Made Easy.
- Automated Business Accounts.
- New Gifts Settings.
2025-05-01 12:43:35 +04:00
23rd
835fa77964 Fixed unpaused custom emoji in top bar of sponsored messages. 2025-05-01 12:43:35 +04:00
John Preston
3e13186560 Fix right Open button in search results. 2025-05-01 12:11:03 +04:00
John Preston
01f191289d Update cmake_helpers. 2025-05-01 11:59:54 +04:00
Ilya Fedin
6586791655 Get rid of /DELAYLOAD 2025-05-01 00:59:24 -07:00
John Preston
b4f6774ca8 Update cmake_helpers. 2025-05-01 11:52:57 +04:00
John Preston
75d346fe69 Add support for tg://stars link. 2025-05-01 11:13:22 +04:00
John Preston
27780c7327 Add xml to ip-revealing extensions.
In case you put SVG content in an .xml file it shows it in the browser.
2025-05-01 11:13:22 +04:00
John Preston
100a8882f1 Add support for svg icons in style codegen. 2025-05-01 11:13:22 +04:00
John Preston
983bd1a57b Add some Cursor rules / ignore paths. 2025-05-01 11:13:22 +04:00
John Preston
810f7949f4 Fix crash in marking message contents read. 2025-05-01 11:13:22 +04:00
23rd
28c502bd85 Fixed display of plural phrase in moderate box. 2025-05-01 11:13:22 +04:00
23rd
b8c313965f Fixed display of negative views count in message preview from stats. 2025-05-01 11:13:22 +04:00
23rd
8a2dcbbcff Removed 'new' badge from entry for messages effect in premium summary. 2025-05-01 11:13:22 +04:00
John Preston
263b9fa611 Add avrt.dll to the list of delayload libs. 2025-05-01 11:13:22 +04:00
23rd
793e15f80c Added entry point to settings section for login email change. 2025-05-01 11:13:22 +04:00
23rd
23d1394fb2 Added settings section for input of code confirm for login email. 2025-05-01 11:13:22 +04:00
23rd
f97bb23c9d Added settings section for input of new login email replacement. 2025-05-01 11:13:22 +04:00
23rd
d557739a28 Added api support to change login email. 2025-05-01 11:13:22 +04:00
23rd
8d06243b57 Added login email pattern to cloud password data. 2025-05-01 11:13:22 +04:00
23rd
9a4b73b942 Added ability to provide marked text to right label of settings button. 2025-05-01 11:13:21 +04:00
23rd
d73e0dd13c Added phrases for login email settings. 2025-05-01 11:13:21 +04:00
23rd
2f3818fe4b Added assertion on looking up for controller from top bar suggestion. 2025-05-01 11:13:21 +04:00
John Preston
d3d773079c Closed alpha version 5.13.1.5. 2025-05-01 11:13:21 +04:00
23rd
0b2acec50c Ensured to clear all top bar suggestion states on each check. 2025-05-01 11:13:21 +04:00
23rd
3501e4f44d Slightly improved check of today birthdays suggestion. 2025-05-01 11:13:21 +04:00
23rd
384c540197 Added special status to peers in gifts list with tomorrow birthday. 2025-05-01 11:13:21 +04:00
John Preston
1b78ffc018 Fix crash in joining video chats. 2025-05-01 11:13:21 +04:00
John Preston
79f4f0adbf Closed alpha version 5.13.1.4. 2025-05-01 11:13:21 +04:00
John Preston
98d71308a8 Update tgcalls, don't link libtgvoip any more. 2025-05-01 11:13:21 +04:00
23rd
4f0fa66575 Added ability to open profile of user by click on userpic in gift box. 2025-05-01 11:13:21 +04:00
23rd
ecac3a0f16 Added context menu to list in ChooseStarGiftRecipient. 2025-05-01 11:13:21 +04:00
23rd
d1898b9a0b Excluded non-today birthdays from reminder in top bar from dialogs. 2025-05-01 11:13:21 +04:00
23rd
868c7b170e Set premium grace suggestion as top priority. 2025-05-01 11:13:21 +04:00
23rd
b1c5c53687 Fixed display of chat filters strip while search in peer. 2025-05-01 11:13:21 +04:00
23rd
6704886c6e Fixed display of top bar suggestion while search in peer. 2025-05-01 11:13:21 +04:00
23rd
7e45283ba2 Added privacy link to birthday box from top bar suggestion. 2025-05-01 11:13:21 +04:00
John Preston
ff67d876b2 Respect "call_requests_disabled" for confcalls. 2025-05-01 11:13:21 +04:00
John Preston
4975a0a8d8 Update tgcalls. 2025-05-01 11:13:21 +04:00
John Preston
e34a4338a1 Closed alpha version 5.13.1.3. 2025-05-01 11:13:21 +04:00
John Preston
0b4986b47a Fix build on Windows. 2025-05-01 11:13:21 +04:00
John Preston
937eab5f27 Update tde2e/tgcalls. 2025-05-01 11:13:20 +04:00
John Preston
70378bfac8 Improve emoji animation. 2025-05-01 11:13:20 +04:00
John Preston
29d87f692a Add carousel animation for emoji fingerprint. 2025-05-01 11:13:20 +04:00
John Preston
b1b2798be1 Update tde2e library. 2025-05-01 11:13:20 +04:00
John Preston
2b74ad8b5f Disable raised-hand state in confcalls. 2025-05-01 11:13:20 +04:00
John Preston
3098fa6855 Rejoin async on e2e error. 2025-05-01 11:13:20 +04:00
John Preston
53883a7f1f Improve confcall re-create keyboard navigation. 2025-05-01 11:13:20 +04:00
John Preston
2c048376d4 Add TDLib build phases for tde2e part. 2025-05-01 11:13:20 +04:00
John Preston
b583240d58 Put prioritized users on top of inactive confcall. 2025-05-01 11:13:20 +04:00
John Preston
844be11d43 Closed alpha version 5.13.1.2. 2025-05-01 11:13:20 +04:00
John Preston
53b739139b Suggest invite to empty/discarded joining call. 2025-05-01 11:13:20 +04:00
John Preston
d09d1d72e6 Improve "Open" bot button in suggestions. 2025-05-01 11:13:20 +04:00
John Preston
01d927aceb Improve confcall join. 2025-05-01 11:13:20 +04:00
John Preston
59abfcbd6d Support "Device Storage" web app feature. 2025-05-01 11:13:20 +04:00
John Preston
4c2ec15f70 Fix "Add People" button visibility update. 2025-05-01 11:13:20 +04:00
John Preston
2b6dfbf4eb Closed alpha version 5.13.1.1. 2025-05-01 11:13:18 +04:00
John Preston
eb8372eb91 Poll sub_chain_id:1 blocks after call_create. 2025-05-01 11:13:18 +04:00
John Preston
c6b2967da0 Implement "Create New Call" interface. 2025-05-01 11:13:18 +04:00
John Preston
042f51e58f Optimize confcall join process. 2025-05-01 11:13:18 +04:00
John Preston
c72cf46db7 Implement fast confcall migration. 2025-05-01 11:13:18 +04:00
John Preston
2a7aac76d9 Update API scheme on layer 202. 2025-05-01 11:13:18 +04:00
John Preston
a569495f5d Fix discarding group call invites. 2025-05-01 11:13:18 +04:00
John Preston
59e56600bc Reuse p2p call window for migrated confcall. 2025-05-01 11:13:18 +04:00
John Preston
915dec7ba5 Show right call top bar after migration. 2025-05-01 11:13:18 +04:00
John Preston
909bd3dd2d Allow kicking from confcall by creator. 2025-05-01 11:13:18 +04:00
John Preston
d50fad615f Check confcall size limit. 2025-05-01 11:13:18 +04:00
John Preston
b036bedbc3 Support distinct calling/invited states. 2025-05-01 11:13:18 +04:00
John Preston
55c05d1a6e Allow discard invite or cancel ringing. 2025-05-01 11:13:17 +04:00
John Preston
344c0f6427 Check phone access on join. 2025-05-01 11:13:17 +04:00
John Preston
8ab1a7268b Handle all types of confcall invite responses. 2025-05-01 11:13:17 +04:00
John Preston
e5f31dbe8e Remove unnecessary stale participant check. 2025-05-01 11:13:17 +04:00
John Preston
783c5c12e9 Improve couple of phrases. 2025-05-01 11:13:17 +04:00
John Preston
c972485555 Allow revoking confcall link. 2025-05-01 11:13:17 +04:00
John Preston
c507382d19 Keep window geometry on confcall migration. 2025-05-01 11:13:17 +04:00
John Preston
fbbcbc8753 Respect conference_supported flag. 2025-05-01 11:13:17 +04:00
John Preston
a5fa595627 Update API scheme on layer 202. 2025-05-01 11:13:17 +04:00
John Preston
502045f1fa Improve mute/video migration to confcall. 2025-05-01 11:13:17 +04:00
John Preston
e9280777fd Fix confcall video encryption. 2025-05-01 11:13:17 +04:00
John Preston
c36f402b88 Fix bug in OpenAL patches on Windows. 2025-05-01 11:13:17 +04:00
John Preston
3a68dd50ce Fix applying some Data::GroupCall updates. 2025-05-01 11:13:17 +04:00
John Preston
eb06c0da08 Try migrating mute/video state. 2025-05-01 11:13:17 +04:00
John Preston
6528567746 Log applying blocks and fix sub_chain_id:1. 2025-05-01 11:13:17 +04:00
John Preston
09229812f4 Show nice confcall invites. 2025-05-01 11:13:17 +04:00
John Preston
aaa37a3e0d Update API scheme on layer 202. 2025-05-01 11:13:17 +04:00
John Preston
c5531b1bd8 Implement audio/video confcall invitations. 2025-05-01 11:13:17 +04:00
John Preston
021115b463 Nice join confcall confirm box. 2025-05-01 11:13:17 +04:00
John Preston
698d9c208f Improve confcall invite management. 2025-05-01 11:13:17 +04:00
John Preston
01a6b432f3 Improve some confcall graphics. 2025-05-01 11:13:16 +04:00
John Preston
a5f44b3ed6 Fix incorrect naming userpic as public photo. 2025-05-01 11:13:16 +04:00
John Preston
a3ba99c682 Implement incoming confcall window. 2025-05-01 11:13:16 +04:00
John Preston
7c709fddba Allow editing confcall messages. 2025-05-01 11:13:16 +04:00
John Preston
8f313b4603 Update API scheme on layer 202. 2025-05-01 11:13:16 +04:00
John Preston
41c0a5ee3b Add "Join Call" button to confcall link previews. 2025-05-01 11:13:16 +04:00
John Preston
346f7aadd6 Render confcall messages as phone calls. 2025-05-01 11:13:16 +04:00
John Preston
be611c1920 Show confcall users that are only on blockchain. 2025-05-01 11:13:16 +04:00
John Preston
e33a866a63 Give some admin rights to confcall creator. 2025-05-01 11:13:16 +04:00
John Preston
c846eeed9d Fix cal buttons positioning. 2025-05-01 11:13:16 +04:00
John Preston
d052eac019 Initial call->confcall migration. 2025-05-01 11:13:16 +04:00
John Preston
9dbd134601 Implement multi-inviting to confcalls. 2025-05-01 11:13:16 +04:00
John Preston
6451e1cfe2 Remove debug logging in swipes. 2025-05-01 11:13:16 +04:00
John Preston
9f3f715527 Allow sharing link from confcall. 2025-05-01 11:13:16 +04:00
John Preston
0d8e5b139b Add some special phrases. 2025-05-01 11:13:16 +04:00
John Preston
5d5dda548a Implement nice call link box. 2025-05-01 11:13:16 +04:00
John Preston
1d32e5267c Fix incorrect waiting blocks applying. 2025-05-01 11:13:16 +04:00
John Preston
a300a25419 Fix complicated crash in async base::Timer destroying. 2025-05-01 11:13:16 +04:00
John Preston
4eaf03b922 Update API scheme on layer 202. 2025-05-01 11:13:15 +04:00
John Preston
4401ea388c PoC confcall invite, emoji. 2025-05-01 11:13:15 +04:00
John Preston
dfe6ad3a32 Update gift icon for input field. 2025-05-01 11:13:15 +04:00
John Preston
e3ef870b29 Remove stale confcall users from blockchain. 2025-05-01 11:13:15 +04:00
John Preston
7deb5bfdf2 Update API scheme, something works now. 2025-05-01 11:13:15 +04:00
John Preston
0e46a4402a Update API scheme on layer 202. 2025-05-01 11:13:15 +04:00
John Preston
33a15e69bb Move blocks order checking to tde2e_api module. 2025-05-01 11:13:15 +04:00
John Preston
ebe11fdb1e Pass encrypt/decrypt callback to tgcalls. 2025-05-01 11:13:15 +04:00
John Preston
f9a7c46868 Update tgcalls. 2025-05-01 11:13:15 +04:00
John Preston
c80c23e8e8 PoC conference call creation. 2025-05-01 11:13:15 +04:00
John Preston
5e6c81a98e Parse e2e participant keys. 2025-05-01 11:13:15 +04:00
John Preston
214cc83d4a Update API scheme to layer 202. 2025-05-01 11:13:15 +04:00
John Preston
8e643fbf87 Add tde2e dependency. 2025-05-01 11:13:11 +04:00
23rd
6008d9e12b Added birthday sublist to contact list in gift box. 2025-05-01 11:13:01 +04:00
23rd
81da453ec4 Added suggestion to top-up low credits balance for subscriptions. 2025-05-01 11:13:01 +04:00
23rd
f34835463d Added initial ability to create credit icon as non-session custom emoji. 2025-05-01 11:13:01 +04:00
23rd
eb3419f3fc Added ability to request credits subscriptions with missing balance. 2025-05-01 11:13:01 +04:00
23rd
5886a07300 Fixed ability to renew credits subscription. 2025-05-01 11:13:01 +04:00
23rd
69e7c27fd0 Added premium grace suggestion to top bar in dialogs. 2025-05-01 11:13:01 +04:00
23rd
165cf6809f Added experimental option to display date when you joined to channel. 2025-05-01 11:13:01 +04:00
23rd
9b2b8b6796 Fixed display of top bar suggestion while display filtered dialogs. 2025-05-01 11:13:01 +04:00
23rd
3ed6d1dec1 Added strike out cost without discount in premium options in settings. 2025-05-01 11:13:00 +04:00
23rd
9ad1d1c25d Fixed some unused-but-set-variable warnings. 2025-05-01 11:13:00 +04:00
23rd
667e614bf3 Simplified proper cleanup of allocated event filters for swipe handler. 2025-05-01 11:13:00 +04:00
23rd
d49da1fdd0 Added missed label for current balance in section of bot credits earn. 2025-05-01 11:13:00 +04:00
23rd
85b0733169 Improved guard of right edge iterator in linear chart view for stats. 2025-05-01 11:13:00 +04:00
23rd
7f2bba7c4a Fixed ttl phrase for 1 year. 2025-05-01 11:13:00 +04:00
23rd
664ec62396 Slightly improved style of text in top bar suggestion. 2025-05-01 11:13:00 +04:00
23rd
b4a9e45214 Improved display of top bar suggestion in non-main chats lists. 2025-05-01 11:13:00 +04:00
23rd
2eab7044ba Added ability to emplace top bar suggestion later. 2025-05-01 11:13:00 +04:00
23rd
8d449f91c6 Fixed phrases in list of active group calls from Calls box. 2025-05-01 11:13:00 +04:00
23rd
be8a836528 Fixed clearing of inactive quick dialog actions. 2025-05-01 11:13:00 +04:00
23rd
423782fd2b Improved birthday reminder of multiple contacts in top bar from dialogs. 2025-05-01 11:13:00 +04:00
23rd
dc1dc8dffa Added today birthdays to data session. 2025-05-01 11:13:00 +04:00
23rd
16a77e2975 Removed redundant buttons from profile of bot verification. 2025-05-01 11:13:00 +04:00
23rd
df69a70dd7 Removed ability to set wallpaper to chat with bot verification. 2025-05-01 11:13:00 +04:00
23rd
0638c86211 Removed ability to set TTL to chat with bot verification. 2025-05-01 11:13:00 +04:00
23rd
8c0de22c14 Added birthday reminder of multiple contacts to top bar in dialogs. 2025-05-01 11:13:00 +04:00
23rd
f83568c6c9 Added birthday reminder of single contact to top bar in dialogs. 2025-05-01 11:13:00 +04:00
23rd
10d472728c Added userpic suggestion to top bar in dialogs. 2025-05-01 11:13:00 +04:00
23rd
2c3cb3f5ce Added suggestion for restore premium to top bar in dialogs. 2025-05-01 11:12:59 +04:00
23rd
fbfe3fd5ed Added suggestion for upgrade to premium to top bar in dialogs. 2025-05-01 11:12:59 +04:00
23rd
b280a26317 Replaced management of top bar for suggestion in dialogs with rpl. 2025-05-01 11:12:59 +04:00
23rd
640db8af7d Added suggestion for annual premium to top bar in dialogs. 2025-05-01 11:12:59 +04:00
23rd
98d9357208 Added auto clean of top bar in dialogs on empty. 2025-05-01 11:12:59 +04:00
23rd
f3b6c7c09b Added birthday suggestion to top bar in dialogs. 2025-05-01 11:12:59 +04:00
23rd
3a622f111a Added initial dummy draft for top bar suggestions in dialogs. 2025-05-01 11:12:59 +04:00
23rd
e0b1ed87e8 Fixed ability to trigger quick dialog action with non-middle button. 2025-05-01 11:12:59 +04:00
23rd
63578affa4 Added toasts to quick dialog actions. 2025-05-01 11:12:59 +04:00
23rd
74b188fa46 Fixed ability to click on bot app button in narrowed chat list. 2025-05-01 11:12:59 +04:00
Ilya Fedin
fadaf852b7 Update lib_lottie 2025-04-30 23:43:46 -07:00
Ilya Fedin
ac6124951a Use C++/WinRT from SDK 2025-04-30 23:43:46 -07:00
Ilya Fedin
89e42af149 Update cmake_helpers 2025-04-30 23:42:10 -07:00
Ilya Fedin
cf5987b2b4 Update protobuf in Docker 2025-04-30 23:42:10 -07:00
Ilya Fedin
069d8d376c Unify libtgvoip options handling 2025-04-30 23:42:10 -07:00
Ilya Fedin
fe3d8ea2be Don't check non-MSVC options with MSVC for tgcalls 2025-04-30 23:42:10 -07:00
Ilya Fedin
3ac03b43e1 Add missing dependency on win_directx_helper 2025-04-30 23:42:10 -07:00
Ilya Fedin
eaf1a532f4 Remove workaround to find the right OpenAL in macOS packaged action 2025-04-30 23:42:10 -07:00
Ilya Fedin
f2b0116c1e Don't require PkgConfig for libtgvoip 2025-04-30 23:42:10 -07:00
Ilya Fedin
155b5fa831 Don't link openh264 to td_ui
It's not used directly
2025-04-30 23:42:10 -07:00
Ilya Fedin
130c77a305 Update disptach to 6.1 2025-04-30 23:32:45 -07:00
GitHub Action
2e168d152f Update User-Agent for DNS to Chrome 135.0.0.0. 2025-04-30 23:02:17 -07:00
Yagiz Nizipli
635ed02198 update ada-url to v3.2.2 2025-04-24 00:06:56 -07:00
dependabot[bot]
cd81a54062 Bump jinja2 from 3.1.5 to 3.1.6 in /Telegram/build/docker/centos_env
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.5 to 3.1.6.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.5...3.1.6)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-version: 3.1.6
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-24 00:06:11 -07:00
GitHub Action
1035d787ab Update User-Agent for DNS to Chrome 134.0.0.0. 2025-04-24 00:05:39 -07:00
Ilya Fedin
29567df407 Re-enable ffmpeg optimizations on Linux
By disabling LTO
2025-04-23 23:59:30 -07:00
Ilya Fedin
79cb4668f1 Fix a crash on Linux without actions notification capability 2025-04-23 23:58:12 -07:00
Ilya Fedin
9bdc19e2fd Format markup-lacking Linux notifications using lng_dialogs_text_with_from 2025-04-11 09:51:19 -07:00
Ilya Fedin
25cd6106f5 Use Ui::ImageExtensions in PhotoVideoFilesFilter
This allows it to have all supported image extensions just like ImagesFilter
2025-04-11 09:51:08 -07:00
Ilya Fedin
13fbe59164 Free more space in Docker action 2025-04-05 06:56:47 +05:00
Ilya Fedin
c261c3367a Fix a PiP crash with Qt 6.9 2025-04-05 06:55:06 +05:00
Ilya Fedin
8b92ab25c7 Update Qt 6.8.2 -> 6.9.0 2025-04-04 15:53:51 +05:00
Ilya Fedin
0aa1031270 Use global c(xx)flags for breakpad in Docker, just not LTO 2025-04-04 15:18:55 +05:00
Ilya Fedin
dec8bdb39d Update breakpad in Docker to v2024.02.16 2025-04-04 15:18:55 +05:00
Ilya Fedin
f318aeb67c Don't base Docker libjxl stage on patches
There's nothing the stage uses in it
2025-04-04 13:13:31 +05:00
nyakze
8b791e77d6 Update mime_type.cpp
add m3u to ip revealing types
2025-04-01 18:22:09 +05:00
Ilya Fedin
260b72fec1 Check location picker support early 2025-03-31 00:17:18 +05:00
Ilya Fedin
7d0beafce0 Ensure currentImageBack isn't null 2025-03-28 23:07:55 +05:00
Ilya Fedin
3c2f8b65ce Let QIcon::fromTheme check whether the tray icon is valid
QIcon::fromTheme overload with a fallback does a smarter check whether the icon is valid, use it to prevent getting a half-valid QIcon.
2025-03-27 21:58:36 +05:00
John Preston
5f73e8b3bf Version 5.13.1.
- Fix crash in group/channel stories.
2025-03-26 23:25:46 +05:00
John Preston
74afeeb85f Fix crash in group/channel stories. 2025-03-26 23:22:14 +05:00
John Preston
f8920e5fef Version 5.13.
- Allow transferring my unique gifts from Send Gift section.
- Edit type of gifts you accept in Settings > Privacy and Security.
- Swipe navigation using swipe gesture on touchpads / touchscreens.
- Choose chat list quick action for swipe or middle click.
2025-03-26 13:23:36 +05:00
John Preston
dd76313084 Fix shell prepare running on macOS. 2025-03-26 13:23:36 +05:00
John Preston
627ff6f26e Fix build with GCC. 2025-03-26 11:51:26 +04:00
John Preston
705db0b9cf Fix build with Xcode. 2025-03-26 12:27:55 +05:00
John Preston
47a958d81d Update lib_ui. 2025-03-26 07:13:52 +04:00
John Preston
906fc9cc1d Show more frozen errors. 2025-03-26 07:13:16 +04:00
John Preston
44d9525476 Update send gift icon visibility. 2025-03-26 07:13:16 +04:00
John Preston
8b2a549fab Fix crash in gifts repaint. 2025-03-26 07:13:15 +04:00
John Preston
7312e34f46 Update icons for gifts privacy. 2025-03-26 07:13:15 +04:00
John Preston
696be858f6 Load my gifts while scrolling in Send Gift. 2025-03-26 07:13:15 +04:00
John Preston
e1f4fd0c7b Remove blue border from gifts. 2025-03-26 07:13:15 +04:00
John Preston
f51320d1bc Add some more frozen restrictions. 2025-03-26 07:13:15 +04:00
John Preston
a0764190f2 Support sponsored peers in search results. 2025-03-26 07:13:15 +04:00
John Preston
33c5b35444 Send sponsored peers click requests. 2025-03-26 07:13:15 +04:00
John Preston
04e10f81b5 Send sponsored peers view requests. 2025-03-26 07:13:15 +04:00
John Preston
7f2545a9ef Request sponsored peers in global search. 2025-03-26 07:13:15 +04:00
John Preston
a2a16f3f23 Implement new business bots permissions. 2025-03-26 07:13:15 +04:00
John Preston
ab2a947992 Move "Show Gift Button" block up. 2025-03-26 07:13:15 +04:00
John Preston
7d0a73a6b0 Show gift button in the message field. 2025-03-26 07:13:15 +04:00
John Preston
e3c3a68566 Update API scheme on layer 201. 2025-03-26 07:13:15 +04:00
John Preston
4fc026b13c Allow transferring unique gifts from Send Gift. 2025-03-26 07:13:15 +04:00
John Preston
c0fed4d2c3 Filter out allowed gift types. 2025-03-26 07:13:15 +04:00
John Preston
b656e14453 Edit additional privacy options for gifts. 2025-03-26 07:13:11 +04:00
John Preston
fbab3964e6 Handle some frozen cases. 2025-03-26 07:11:20 +04:00
John Preston
d9b270b477 Initial frozen accounts support. 2025-03-26 07:11:20 +04:00
John Preston
7f53a19647 Update API scheme to layer 201. 2025-03-26 07:11:20 +04:00
23rd
9f1e90d007 Updated Qt to 6.2.12 on macOS. 2025-03-25 17:55:54 +03:00
23rd
9a439e1941 Added ability to switch tabs in dialogs suggestions with swipe. 2025-03-24 22:58:04 +03:00
23rd
4e4c69993c Ensured proper cleanup of allocated event filters for swipe handler. 2025-03-24 22:58:04 +03:00
23rd
0d085d500f Added ability to provide custom swipe handler to Info::ContentWidget. 2025-03-24 22:58:04 +03:00
23rd
f734c0475b Replaced SetupSwipeHandler signature from arguments to struct. 2025-03-24 22:58:04 +03:00
23rd
a30951dc91 Fixed swipe handler for small chat lists. 2025-03-24 22:58:04 +03:00
23rd
c4b37950a9 Added filename as fallback for audio files while export chat history.
Fixed #28920.
2025-03-24 22:58:04 +03:00
23rd
7cf832a2f4 Replaced div tags with span for reactions in export chat history. 2025-03-24 22:58:04 +03:00
23rd
1f07e7978d Improved background buttons in box for share QR box on different scales. 2025-03-24 22:58:04 +03:00
23rd
5adab2739b Fixed icon scale in call panel when recipient has low level of battery. 2025-03-24 22:58:04 +03:00
23rd
2be76760de Slightly improved style of settings for quick dialog action. 2025-03-24 22:58:04 +03:00
23rd
28c125a3ec Added some special cases when quick dialog action can't be performed. 2025-03-21 17:59:26 +03:00
23rd
bdf8a37a8f Guarded repaint of special quick dialog actions that lead to de-listing. 2025-03-21 17:59:21 +03:00
23rd
838711e2ac Added maximum of lifetime to every deactivated quick dialog action. 2025-03-21 17:26:50 +03:00
23rd
c085691c54 Moved out active quick action from total list of quick dialog actions. 2025-03-21 16:47:55 +03:00
23rd
47506d70ed Simplified signature of ResolveQuickDialogLottieIconName. 2025-03-21 16:47:46 +03:00
23rd
efc7cc4980 Added convenient bool operator to SwipeContextData. 2025-03-21 16:44:50 +03:00
John Preston
f2016a8aa5 Don't ensure cursor visibility on modifier keys.
Fix #29108.
2025-03-21 09:35:00 +04:00
Yagiz Nizipli
d6bbc375c4 Update prepare.py 2025-03-21 09:26:42 +04:00
Yagiz Nizipli
885996c5cf update ada-url to v3.2.1 2025-03-21 09:26:42 +04:00
John Preston
4e4604e00a Beta version 5.12.6.
- Allow customizing chats list swipe left action.
- Fix custom emoji in poll results view.
- Fix crash in main menu swipe closing.
2025-03-20 18:37:30 +04:00
John Preston
b057d4fcb7 Allow folder switching by swipes in vertical mode. 2025-03-20 18:23:17 +04:00
John Preston
cdf27296e4 Fix deselecting dialog rows between them. 2025-03-20 18:04:14 +04:00
23rd
889f111300 Slightly improved saving of quick dialog action in settings. 2025-03-20 16:59:33 +03:00
23rd
520b4f92ab Improved phrases for quick dialog actions in settings. 2025-03-20 16:59:33 +03:00
23rd
feb1d4ebcc Fixed dialog dragging with pressed quick dialog action. 2025-03-20 16:59:33 +03:00
23rd
c11a7589e2 Added initial ability to trigger quick dialog action with middle click. 2025-03-20 16:59:33 +03:00
23rd
c332b7cb40 Added initial handler for middle mouse click on dialogs. 2025-03-20 16:59:33 +03:00
23rd
418dcedc4e Replaced single QuickActionContext in dialogs widget with flat map. 2025-03-20 16:59:33 +03:00
23rd
a21eb9d59e Moved out quick actions enum for dialog to separated module. 2025-03-20 16:59:33 +03:00
23rd
25ed8fe044 Renamed swipe dialog action to quick dialog action. 2025-03-20 16:59:33 +03:00
23rd
b079c79390 Added correspond colors for every swipe dialog action. 2025-03-20 16:59:33 +03:00
23rd
d7a89ef122 Added implementation for all swipe dialog actions. 2025-03-20 16:59:33 +03:00
23rd
b95035e7a2 Added initial ability to change swipe dialog action from chat settings. 2025-03-20 16:59:33 +03:00
23rd
e28d29f276 Added initial implementation of swipe action to dialogs. 2025-03-20 16:59:33 +03:00
23rd
c29d78ac0d Added ability to provide reach ratio speed to swipe. 2025-03-20 16:59:33 +03:00
23rd
ad9106b815 Added ability to request reach out ratio of swipe. 2025-03-20 16:59:33 +03:00
John Preston
f3ea24f9f9 Update lib_ui. 2025-03-20 17:47:21 +04:00
John Preston
96fdece478 Fix mini-thumbs in channel last message preview. 2025-03-20 17:46:27 +04:00
John Preston
c30a5782df Revert "Fixed blinking of message preview from user's personal channel."
This reverts commit 75e454f3fd.
2025-03-20 17:46:27 +04:00
John Preston
c924fcb91f Fix custom emoji in poll results view. 2025-03-20 17:46:27 +04:00
John Preston
46e7b6d6df Implement "Choose gift to unpin" box feature. 2025-03-20 17:46:27 +04:00
John Preston
bb8ecf2f84 Fix spoiler hiding of ellipse image preview. 2025-03-20 17:46:27 +04:00
John Preston
7123a6d647 Hide image preview of ttl rounds behind spoiler. 2025-03-20 17:46:27 +04:00
John Preston
eb4ef8b3d7 Replace Reply with Forward for specific bots. 2025-03-20 17:46:26 +04:00
23rd
0d346610a2 Fixed sort of received star gifts. 2025-03-20 10:36:41 +03:00
John Preston
fe0c1acd79 Fix crash in main menu swipes on macOS. 2025-03-17 10:45:23 +04:00
John Preston
af35beefc2 Beta version 5.12.5: Fix build with Qt 6. 2025-03-14 17:23:54 +04:00
John Preston
532258bea8 Beta version 5.12.5.
- Support swipe navigation on touchscreens.
- Close main menu by swipe navigation.
2025-03-14 17:06:42 +04:00
Ilya Fedin
5b257293eb Update patches on Linux 2025-03-14 16:50:58 +04:00
John Preston
8e6d23ddd6 Support tg://settings/phone_privacy links. 2025-03-14 16:40:50 +04:00
John Preston
6d5d61c842 Label 'Add users' for Remove Fee. 2025-03-14 16:40:50 +04:00
John Preston
9d2e2a1739 Fix processing of video qualities.
Regression was introduced in b618d1e56a.
2025-03-14 16:40:49 +04:00
John Preston
19e2642ec1 Improve paid messages in groups layout. 2025-03-14 16:40:49 +04:00
John Preston
f9df522b41 Show error not-found on comment link click. 2025-03-14 16:40:49 +04:00
John Preston
b3e5c4a4aa Fix send button size on chat switch. 2025-03-14 16:40:49 +04:00
John Preston
06ed6c81a7 Remove 'delete also for' in Deleted Accounts. 2025-03-14 16:40:44 +04:00
John Preston
d1e4dbb603 Fix animated emoji in folder name. 2025-03-14 16:40:44 +04:00
John Preston
abe8079296 Allow temp-set of wearable as a status. 2025-03-14 16:40:44 +04:00
John Preston
033cb2790c Remove debug widget in the info section. 2025-03-14 16:03:58 +04:00
John Preston
188edce258 Support swipe-back from main menu. 2025-03-14 15:03:27 +04:00
John Preston
34858b36c1 Fix swipe gestures on touchscreens. 2025-03-14 14:36:13 +04:00
Ilya Fedin
044ef3447c Add the missing 5.12.4 changelog part 2025-03-14 11:14:28 +04:00
Ilya Fedin
2660439160 Fix Platform::ApplicationIconName for snap
Looks like it broke through rebases
2025-03-14 10:22:24 +04:00
John Preston
3f6f96cfb4 Fix typo in lcms2 build commands for Windows. 2025-03-12 21:15:30 +04:00
John Preston
99a1c98ae0 Beta version 5.12.4.
- Touchpad swipe back to go back in navigation history.
- Touchpad swipe between folders if they're horizontal.

Out-of-the-box monochrome tray icon on Linux
with GTK icon recolorization support.

Files telegram{,{,-attention,-mute}-panel} are renamed
to org.telegram.desktop{,{,-attention,-mute}-symbolic} for
unified icon lookup in multiple (sometimes sandboxed) builds
and GTK icon recolorization support.

Snap package got icon theming support,
the icon names are snap.telegram-desktop.{,{,-attention,-mute}-symbolic}
(notice the name ends with a dot in case of no suffix!)
2025-03-12 18:26:46 +04:00
John Preston
fd718dfd5c Allow more Info sections swipe-back. 2025-03-12 18:02:47 +04:00
Ilya Fedin
31cb2f1999 Switch tray to symbolic icons
This allows to rely on GTK recoloring rather than requiring the user to have an icon theme
2025-03-12 14:54:41 +04:00
Ilya Fedin
a6a8e32be7 Install app icon in a spec-compilant way 2025-03-12 14:54:41 +04:00
Ilya Fedin
594bb8a76b Support icon themes in snap 2025-03-12 14:54:41 +04:00
Ilya Fedin
228bbc1e8e Always use app ID based icon name
This allows to unify it between flatpak and non-flatpak builds and corresponds to what most other GUI apps on Linux do
2025-03-12 14:54:41 +04:00
Ilya Fedin
b14c2878b3 Revert "Move icon name getter to cross-platform header"
This reverts commit d9318c9935.
2025-03-12 14:54:41 +04:00
Ilya Fedin
57f10040e1 Get rid of XEmbed mentions
The code goes through Qt abstractions which not necessarily go through XEmbed
2025-03-12 14:53:43 +04:00
Ilya Fedin
0fb67c78a9 Add a method to calculate instance hash to Launcher 2025-03-12 14:53:21 +04:00
John Preston
ff0f7f49da Fix new swipes on Windows. 2025-03-12 14:02:04 +04:00
23rd
9682e37547 Added shortcut to open chat preview from dialogs. 2025-03-12 11:59:20 +04:00
23rd
7197d9480b Added ability to swipe between chats filters. 2025-03-12 11:59:20 +04:00
23rd
3315c9c7f4 Added ability to open main menu with swipe-to-back. 2025-03-12 11:59:20 +04:00
23rd
f57eff4195 Added ability to mirror icon from widget for swipe-to-back. 2025-03-12 11:59:20 +04:00
23rd
f0c8e48403 Added ability to keep ratio of swipe within range. 2025-03-12 11:59:20 +04:00
23rd
de87bed375 Moved out data for swipe handler from history view to ui controls. 2025-03-12 11:59:20 +04:00
23rd
5cdfaab2db Moved out swipe handler from history view to ui controls. 2025-03-12 11:59:20 +04:00
23rd
acb0b029b9 Added ability to switch tab in tabbed selector with swipe. 2025-03-12 11:59:20 +04:00
23rd
4c74cbbbe9 Added ability to set swipe back widget on opposite side. 2025-03-12 11:59:20 +04:00
23rd
ad64e068db Allowed swipe-to-back in side info section. 2025-03-12 11:59:20 +04:00
23rd
6bed3f3f09 Increased speed of swipe-to-back. 2025-03-12 11:59:20 +04:00
23rd
d02e55da06 Added ability to swipe-to-back to all info sections with narrow type. 2025-03-12 11:59:20 +04:00
23rd
d662a8f2b9 Added ability to swipe-to-back to other sections. 2025-03-12 11:59:20 +04:00
23rd
13a93102a5 Added ability to swipe-to-back to admin log section. 2025-03-12 11:59:20 +04:00
23rd
0d6a1e6610 Added ability to swipe-to-back to replies section. 2025-03-12 11:59:20 +04:00
23rd
05cd9eebb8 Added ability to swipe-to-back to dialogs widget. 2025-03-12 11:59:20 +04:00
23rd
d93d8ab1cc Added ability to provide ElasticScroll to SetupSwipeHandler. 2025-03-12 11:59:12 +04:00
23rd
540fa0e669 Added ability to swipe-to-back to history widget. 2025-03-12 04:36:34 +03:00
23rd
17a10cf6bb Added initial ability to handle history view swipe in both directions. 2025-03-12 04:36:24 +03:00
John Preston
11d0f9db03 Try fixing crashes on Linux. 2025-03-10 13:32:36 +04:00
John Preston
f024ceecdd Version 5.12.3.
- Fix a couple more crashes.
- Fix gift disappearing on unpin.
- Fix country emoji for Fragment numbers.
2025-03-10 11:58:20 +04:00
John Preston
08c07a0785 Don't remove last gift on unpin if all loaded. 2025-03-10 11:57:20 +04:00
John Preston
b843f91b3c Support 'FT' "country" flag emoji. 2025-03-10 11:52:42 +04:00
23rd
4b2c5b3321 Removed chat filters strip from folders and forums in separated windows. 2025-03-10 11:20:33 +04:00
23rd
2b43f2682a Fixed open of locked chats filter with shortcuts to open near filters. 2025-03-10 11:20:28 +04:00
23rd
7da0124286 Moved out lambda to jump to near chats filters to static function. 2025-03-10 11:18:43 +04:00
23rd
feaeef6482 Fixed repaint of send button when it has slowmode countdown. 2025-03-10 11:11:10 +04:00
23rd
15bcfeec1d Added pause to animation of custom emoji in status info. 2025-03-10 11:11:10 +04:00
23rd
5fb002ab4c Added ability to specify time when export data. 2025-03-10 11:11:10 +04:00
23rd
f56ddbb1e0 Added recursive animation to lock hint while recording voice. 2025-03-10 11:11:10 +04:00
John Preston
6bd2a7c962 Fix possible crash in MediaGenericTextPart. 2025-03-10 11:00:49 +04:00
John Preston
9d591ae806 Fix infinite recursion in channel reactions edit. 2025-03-10 10:59:39 +04:00
Ilya Fedin
7d30e3913c Add lcms2 dependency for Qt6 on Windows 2025-03-10 10:58:10 +04:00
Kaiyang Wu
19d7dd7aa3 fix(integration_linux): include core_settings.h with Qt version <= 6.5.0
Signed-off-by: Kaiyang Wu <self@origincode.me>
2025-03-09 20:33:20 +04:00
John Preston
45444253fd Version 5.12.2.
- Fix some crashes.
2025-03-09 09:44:47 +04:00
John Preston
308ade6a7e Fix crash in some custom emoji cases. 2025-03-09 06:55:25 +04:00
John Preston
fc67a801e3 Version 5.12.1: Fix build with Xcode. 2025-03-08 07:09:15 +04:00
John Preston
6a3657ca87 Version 5.12.1.
- Fix a crash in some chat switchings.
- Fix crashes in empty repaint callbacks.
2025-03-08 07:06:37 +04:00
John Preston
0537c5f273 Fix crashes in empty repaint callbacks. 2025-03-08 07:05:45 +04:00
John Preston
cc4a5f30b6 Fix a crash in some chat switchings. 2025-03-07 23:56:17 +04:00
John Preston
b0d7c3e9b1 Revert "Re-enable ffmpeg optimizations on Linux"
This reverts commit bd28ac6e1f.

It fails to link in Release mode with LTO.
2025-03-07 22:20:18 +04:00
John Preston
3bf7c44fc9 Version 5.12.
- Set a fee for incoming messages from unknown users.
- Set a fee for messages in groups or channel comments.
- Show some information about who's messaging you.
- Pin gifts on your profile.
2025-03-07 20:50:29 +04:00
John Preston
4ff4e63a11 Fix sending paid intro sticker. 2025-03-07 19:03:41 +04:00
John Preston
72a35ba58b Show new-peer-info photo/name change. 2025-03-07 19:03:41 +04:00
John Preston
b6a31979f2 Add the same enter/leave check to ListWidget. 2025-03-07 19:03:40 +04:00
John Preston
7c710e22cc Always process mouse input in active window.
Fixes #29008.
2025-03-07 19:03:40 +04:00
John Preston
ab58e7a225 Show common groups userpics in new-peer-info. 2025-03-07 19:03:40 +04:00
John Preston
c9fb97cd7c Simplify marked text context logic. 2025-03-07 19:03:40 +04:00
John Preston
789f3e1584 Add non-official account info icon. 2025-03-07 19:03:39 +04:00
John Preston
0fc8229be1 Initial new peer information display. 2025-03-07 19:03:39 +04:00
John Preston
a1e555267e Fix sending invite links to paid. 2025-03-07 19:03:39 +04:00
John Preston
0ac88c0cb5 Show special blank chat for paid messages. 2025-03-07 19:03:39 +04:00
John Preston
d43a6da62b Fix sending bot commands in paid chats. 2025-03-07 19:03:39 +04:00
John Preston
940455f786 Preload gifts for the gift to user layer. 2025-03-07 19:03:39 +04:00
John Preston
0f74456f30 Support gifts pinning. 2025-03-07 19:03:39 +04:00
John Preston
7840fa6d90 Add context menu for gifts in list. 2025-03-07 19:03:39 +04:00
John Preston
95ccc99fee Hide reply in notification for paid peers. 2025-03-07 19:03:39 +04:00
23rd
7b0a156bba Added lottie icon when have no enough info for earn stats. 2025-03-07 19:03:39 +04:00
23rd
0d8ae7bb37 Renamed creditsAmount in invoice for premium gift with represented name. 2025-03-07 19:03:39 +04:00
23rd
9491cff1df Fixed display credits in list of gift options. 2025-03-07 19:03:39 +04:00
23rd
51dc5d6e37 Fixed discount calculation for gifts options with different currencies. 2025-03-07 19:03:39 +04:00
John Preston
f4c739ab92 Improve transactions history for new stuff. 2025-03-07 19:03:39 +04:00
John Preston
0dd8ae3d77 Update submodules. 2025-03-07 19:03:39 +04:00
John Preston
7d2878d81c Support gifting premium for stars. 2025-03-07 19:03:39 +04:00
23rd
bd70a05861 Removed button to turn off sponsored messages in megagroups. 2025-03-07 19:03:39 +04:00
23rd
0605c7b2bc Added ability to display possible currency earn in megagroups in future. 2025-03-07 19:03:39 +04:00
23rd
8e83a55143 Added ability to request earn stats without currency earn in megagroups. 2025-03-07 19:03:39 +04:00
John Preston
4ab4eb8ef2 Pause voice in pay-to-send chats. 2025-03-07 19:03:39 +04:00
John Preston
d1e6150874 Don't suggest userpics to paid-restricted. 2025-03-07 19:03:38 +04:00
John Preston
4121c99f36 Allow folders submenu to have a scroll. 2025-03-07 19:03:38 +04:00
John Preston
827040f487 Use paid messages values from appConfig. 2025-03-07 19:03:38 +04:00
John Preston
9032489786 Add pays-me status bar in chat. 2025-03-07 19:03:38 +04:00
John Preston
8ea7bd4913 Simplify paid message button labeling. 2025-03-07 19:03:38 +04:00
John Preston
97b021efaf Star-count button in multi-Forward/CreatePoll. 2025-03-07 19:03:38 +04:00
John Preston
b3f9a77ba7 Star-count button in SendFilesBox/ShareBox. 2025-03-07 19:03:38 +04:00
John Preston
63fdc1f876 Update API scheme on layer 200. 2025-03-07 19:03:38 +04:00
John Preston
17cf354c58 Support custom send button for paid. 2025-03-07 19:03:38 +04:00
John Preston
c6fd8bcb99 Edit paid messages exceptions. 2025-03-07 19:03:38 +04:00
John Preston
1684465e04 Add sending paid stories replies. 2025-03-07 19:03:38 +04:00
John Preston
fe2df96953 Improve paid peer-box multi-send. 2025-03-07 19:03:38 +04:00
John Preston
ee9d0cfd99 Update API scheme, disable scheduled paid. 2025-03-07 19:03:38 +04:00
John Preston
7b7e18e752 Support paid sending in ShareBox. 2025-03-07 19:03:38 +04:00
John Preston
928be4151b Update API scheme, parse premium gifts for stars. 2025-03-07 19:03:38 +04:00
John Preston
37dd648686 Implement paid location sending. 2025-03-07 19:03:38 +04:00
John Preston
93a590774e Send paid stickers/gifs/inline-results. 2025-03-07 19:03:38 +04:00
John Preston
22b99b6d3e Send paid shared contacts. 2025-03-07 19:03:37 +04:00
John Preston
101d626d4f Support paid files-with-comment and polls. 2025-03-07 19:03:37 +04:00
John Preston
3633c19208 Update API scheme, improve service messages. 2025-03-07 19:03:37 +04:00
John Preston
e302f328f7 Don't cut confirming emoji status. 2025-03-07 19:03:37 +04:00
John Preston
f74ba95e95 Don't track caption in fullscreen video view.
Fixes #28981.
2025-03-07 19:03:37 +04:00
John Preston
c38982d286 Simplify paid stars check. 2025-03-07 19:03:37 +04:00
John Preston
fe9bac096b Refresh balance after paid message sending. 2025-03-07 19:03:37 +04:00
John Preston
5b809c4fc6 Show paid stars information above a message. 2025-03-07 19:03:37 +04:00
John Preston
4729e51e14 Improve phrases for paid messages. 2025-03-07 19:03:37 +04:00
John Preston
960cf7a34b Update API scheme, new paid. 2025-03-07 19:03:37 +04:00
John Preston
852ab19760 Update API scheme, track stars-per-message. 2025-03-07 19:03:37 +04:00
John Preston
2e45d9fc6b Allow replacing default shortcuts. 2025-03-07 19:03:37 +04:00
John Preston
74b71b92b6 Update API scheme on layer 200. 2025-03-07 19:03:37 +04:00
John Preston
bbc14ba74f Allow sending paid messages. 2025-03-07 19:03:37 +04:00
John Preston
45c7829cd8 Track stars-per-message for users and channels. 2025-03-07 19:03:37 +04:00
John Preston
f2aa3afbbb Allow editing charge-for-message privacy. 2025-03-07 19:03:37 +04:00
John Preston
909b01241b Update API scheme to layer 200. 2025-03-07 19:03:36 +04:00
Ilya Fedin
abb58c58a0 QPlatformKeyMapper -> QKeyMapper 2025-03-06 17:54:54 +04:00
Ilya Fedin
700e10d32c Use flat_map::remove in clearFrom{Topic,Item}
Now that notification closing happens in destructor, the iterator is no more needed
2025-03-06 17:30:26 +04:00
Ilya Fedin
4ac48d0e4a Fix clearFromTopic on Linux
Looks like it was broken since addition
2025-03-06 16:41:34 +04:00
Ilya Fedin
345b2cb835 Move notification closing to NotificationData destruction 2025-03-04 14:17:43 +04:00
Ilya Fedin
b962309498 Move hints.lookup_value() out of xdg_notifications_notifications_call_notify
Or it gets executed after hints.end() which clears hints
2025-03-04 12:28:37 +04:00
Eugene
e99cb9bfb8 Ensure policy check before creating Zone.Identifier for downloaded files on Windows 2025-03-04 10:47:31 +04:00
Ilya Fedin
9e12e18f90 Clean up unnecessary calls to Manager::Private::clearNotification
It was added to replicate NotificationData::close but lots of places call it after the notification is already cleared
2025-03-03 18:40:22 +04:00
Ilya Fedin
66fc9b38df Fix a race condition with asynchronous notification sending 2025-03-03 18:40:06 +04:00
Ilya Fedin
5dbe429e6b Fix NotificationData initialization 2025-03-03 18:39:55 +04:00
GitHub Action
b2481ea6c1 Update User-Agent for DNS to Chrome 133.0.0.0. 2025-03-03 18:37:13 +04:00
Ilya Fedin
86a294ce4b Subscribe to XdgNotifications signals on Manager initialization 2025-03-01 09:08:10 +04:00
Ilya Fedin
a8d1eadfbf Turn NotificationData into a struct 2025-02-28 13:20:53 +04:00
Ilya Fedin
b07d3c5403 Decouple GNotification from NotificationData 2025-02-28 12:05:09 +04:00
Ilya Fedin
892db55ae1 Get rid of NotificationData::init 2025-02-28 11:12:08 +04:00
Ilya Fedin
93615fef65 Revert "Check whether notification image has alpha channel"
This reverts commit cee593c423.

Avatars couldn't be opaque anyway while this simplifies porting out of NotificationData
2025-02-28 11:12:08 +04:00
Ilya Fedin
87452706ef Remove unused has_weak_ptr from Manager::Private 2025-02-28 11:12:08 +04:00
Ilya Fedin
3569615b21 Use gi::cstring for notification actions 2025-02-28 11:12:08 +04:00
Ilya Fedin
86f7d09d31 Pass notification icon name inline 2025-02-28 11:12:08 +04:00
Ilya Fedin
d5d1254393 Destroy NotificationData signal connections with rpl::lifetme 2025-02-28 11:12:08 +04:00
davidholio
4df90cfb9e Make sure caption items can only be interacted if not in video fullscreen. 2025-02-25 11:40:05 +04:00
Ilya Fedin
ec6862d31a Communicate PiP window margins to the OS 2025-02-25 10:15:33 +04:00
Ilya Fedin
6f23010382 Fix IconGraphic::counterSlice for Window::WithSmallCounter 2025-02-24 13:25:59 +04:00
Ilya Fedin
c672f105d3 IconGraphic::isCounterNeeded helper for Linux tray 2025-02-24 13:25:59 +04:00
Ilya Fedin
e60d501e4a Have a state struct in Linux tray 2025-02-24 13:25:59 +04:00
jovaska
0d7175058b Fix compilation with ffmpeg-4.x 2025-02-24 13:15:37 +04:00
Ilya Fedin
3b0bd9d1d1 Remove duplicate entry in qt snap part 2025-02-20 17:48:37 +04:00
Ilya Fedin
bd28ac6e1f Re-enable ffmpeg optimizations on Linux
They were disabled due to -Ofast but Dockerfile is switched to -O3 since a long time
2025-02-20 11:34:55 +04:00
Ilya Fedin
0c2d00c792 More clean up in qt snap part 2025-02-20 11:34:47 +04:00
Ilya Fedin
140ba653b9 More clean up in libjxl snap part 2025-02-20 11:34:33 +04:00
Ilya Fedin
f64f008f77 Remove fmt from snap
It's not really needed for a long time
2025-02-20 11:34:24 +04:00
Ilya Fedin
a6315bef05 Move GNotiftcation action handlers to Manager 2025-02-19 14:42:11 +04:00
Ilya Fedin
f810d7c82a Fix spaces on end of lines 2025-02-18 21:26:38 +04:00
Ilya Fedin
cf61dedc79 Simplify GNotification actions 2025-02-18 21:21:37 +04:00
Ilya Fedin
2ab9587f5f Don't wrap QByteArray into std::shared_ptr
This has no sense as QByteArray is CoW
2025-02-18 21:20:53 +04:00
Ilya Fedin
4950b52359 Don't set CMAKE_EXPORT_COMPILE_COMMANDS via cmake.configureSettings
It's controlled by cmake.exportCompileCommandsFile and defaults to true
2025-02-14 20:19:29 +04:00
Nikolai Nechaev
03af444735 Notifications: stop fading in before starting to fade out
When a notification is to start hiding (i.e., fade out), it is supposed
to start fading out from the maximum opacity, even if it was not fully
restored (which only happens if the cursor passed through the
notification too quickly). Thus, call `.stop()` for the previous
animation, if any, before `.start()`ing the next animation.
2025-02-14 20:17:02 +04:00
Nikolai Nechaev
7f6221b409 Manager::startAllHiding: don't treat fading in notifications specially
Previously, `Window::Notifications::Default::Manager` would not start
hiding notifications that are fading in when other notifications should
hide. This would lead to some notifications never hiding, e.g., when the
cursor passes through the notification too quickly and there was not
enough time for the notification to fade in completely.

Also renamed `Widget::isShowing` -> `Widget::isFadingIn` for clarity.

Fixes #28811.
2025-02-14 20:17:02 +04:00
John Preston
ef859d77e9 Version 5.11.1.
- Fix arbitrary cropping support in the image editor.
- Fix crash on round video message playback.
- Fix complex custom keyboard shortcuts.
2025-02-13 21:24:40 +04:00
John Preston
0fd752657a Fix build with latest Visual Studio. 2025-02-13 21:24:40 +04:00
23rd
f1451a1de3 Added ripple animation to button for gift to channel in history widget. 2025-02-13 21:02:44 +04:00
John Preston
fa96f25683 Fix webview with old webkitgtk. 2025-02-13 21:01:28 +04:00
John Preston
9e447383df Support Shift+.. shortcuts on Linux. 2025-02-13 21:01:16 +04:00
John Preston
5e762be32b Remove redundant new progress in round videos. 2025-02-13 20:20:47 +04:00
John Preston
75de81a3ab Update lib_webview. 2025-02-13 20:20:43 +04:00
John Preston
d26b64a5bb Fix crash in video messages. 2025-02-13 20:20:40 +04:00
John Preston
cb8d40eaf2 Fix recording shortcuts on Windows. 2025-02-13 20:20:34 +04:00
John Preston
ded0936bc4 Fix arbitrary aspect in photo editor crop. 2025-02-13 20:20:14 +04:00
John Preston
16830a410c Improve gift-to-channel button conditions. 2025-02-13 20:20:07 +04:00
John Preston
9f79dda463 Version 5.11.
- Copy video links at current time.
- Set custom video covers when posting to channels.
- Send paid reactions from the name of your channels.
2025-02-13 10:37:16 +04:00
John Preston
15dc7c74d7 Make emoji status in chat bubbles clickable. 2025-02-12 18:27:21 +04:00
John Preston
f9abef9e05 Update API scheme on layer 199. 2025-02-12 17:24:24 +04:00
John Preston
ba84499f00 Send paid reactions from channels. 2025-02-12 17:24:24 +04:00
John Preston
79ce24222a Prepare code for paid reactions from channels. 2025-02-12 17:24:24 +04:00
John Preston
6cb9264864 Update API scheme to layer 199. 2025-02-12 17:24:24 +04:00
John Preston
247a070405 Prioritize last used playback timestamp. 2025-02-12 17:24:24 +04:00
John Preston
e05bb75b8a Allow sending videos with covers. 2025-02-12 17:24:24 +04:00
John Preston
6a415cf232 Support on-hover autoplay and position save. 2025-02-12 17:24:24 +04:00
John Preston
e8034189df Use video covers in messages. 2025-02-12 17:24:24 +04:00
John Preston
107f329b4f Update API scheme on layer 198. 2025-02-12 17:24:24 +04:00
John Preston
999a13358e Allow sharing video at a timestamp. 2025-02-12 17:24:24 +04:00
John Preston
2077f51084 Open video from ?t= links. 2025-02-12 17:24:24 +04:00
John Preston
1e77a3df20 Fix file reference video cover. 2025-02-12 17:24:24 +04:00
John Preston
141a291523 Start video from required timestamp. 2025-02-12 17:24:24 +04:00
John Preston
cb03d5a9d3 Show video_timestamp progress line. 2025-02-12 17:24:24 +04:00
John Preston
b618d1e56a Parse and store video_timestamp. 2025-02-12 17:24:24 +04:00
John Preston
23ae638512 Parse video cover photos. 2025-02-12 17:24:23 +04:00
John Preston
eda749d7cb Show correct shortcut text on macOS. 2025-02-12 17:00:39 +04:00
John Preston
08d0186e53 Beta version 5.10.8.
- Edit keyboard shortcuts in Settings > Chat Settings.
- Hide controls in calls with incoming video.
- Fix several crashes.
2025-02-12 11:45:58 +04:00
John Preston
443981ba31 Fix reordering of various-height pinned chats.
Fixes #28948.
2025-02-12 11:39:26 +04:00
John Preston
f3ed7c5e19 Fix crash in Instant View in some themes.
Fixes #28604.
2025-02-12 11:39:26 +04:00
John Preston
dd2378b591 Hide call controls in one-on-one video. 2025-02-12 11:39:26 +04:00
John Preston
b885779365 Support location picker on Linux. 2025-02-12 11:39:26 +04:00
John Preston
32b95f0d9a Improve forum outlines in stories/folders. 2025-02-12 11:39:26 +04:00
John Preston
2b8eec8666 Allow fast bot mode without support mode. 2025-02-12 11:39:26 +04:00
23rd
3f24627f54 Removed reactions list for anonymous non-owner admins. 2025-02-10 23:48:09 +03:00
23rd
0c4bca312e Removed ability to set wallpaper to chat with require-premium user. 2025-02-10 22:52:25 +03:00
23rd
e36afc675e Removed ability to set TTL to chat with require-premium user. 2025-02-10 22:52:00 +03:00
23rd
d754014321 Added missed label about similar channels to box for doubled limits. 2025-02-10 22:38:42 +03:00
23rd
9f73242cc5 Improved width of voice waveform. 2025-02-10 21:22:57 +03:00
23rd
fae9649773 Added log to catch possible api errors when disable calls for account. 2025-02-10 19:42:26 +03:00
23rd
4b43f4cbec Fixed color update of right buttons in chats list on palette change. 2025-02-10 10:49:53 +04:00
23rd
b61befa210 Fixed color update of badges in chat filters strip on palette change. 2025-02-10 10:49:53 +04:00
23rd
5e2bc337bc Fixed preview display of personal channel on change of last message. 2025-02-10 10:49:53 +04:00
23rd
af1608cbfa Added rpl filter to exclude incomplete sizes. 2025-02-10 10:49:53 +04:00
John Preston
9aa80976ff Fix viewing gifts from the list. 2025-02-10 10:46:49 +04:00
John Preston
c9cfe9e90f Allow filtering users gifts. 2025-02-10 10:46:49 +04:00
John Preston
482e337762 Move shortcuts settings lower. 2025-02-10 10:46:49 +04:00
John Preston
a0821f5a01 Handle additional phone call discard reason. 2025-02-10 10:46:49 +04:00
John Preston
5ebdf3ed39 Save custom shortcuts to disk. 2025-02-10 10:46:49 +04:00
John Preston
86096db02d Apply shortcuts changes to actions. 2025-02-10 10:46:49 +04:00
John Preston
a93e01b896 Don't show Non-Unique status without Upgrade. 2025-02-10 10:46:49 +04:00
John Preston
0585e72c35 Section for shortcuts editing. 2025-02-10 10:46:48 +04:00
John Preston
c82fbefcfc Don't show Send a Gift to service users. 2025-02-10 10:46:48 +04:00
John Preston
23542a1db1 Fix boost group phrases. 2025-02-10 10:46:48 +04:00
John Preston
1bf50d60d8 Fix possible crash in stories. 2025-02-10 10:46:48 +04:00
John Preston
8596b0309e Fix bot chat scroll shift on state restore.
Fixes #28085.
2025-02-10 10:46:48 +04:00
John Preston
7f6e871b26 Fix crash in emoji color picker. 2025-02-10 10:46:48 +04:00
John Preston
8912d4d55a Fix weather widget in stories. 2025-02-10 10:46:48 +04:00
John Preston
7ac849ab12 Don't update mouse in non-active window. 2025-02-10 10:46:48 +04:00
John Preston
4cab699b04 Use larger unique gift preview. 2025-02-10 10:46:48 +04:00
John Preston
03aa05e4d2 Remove creation of telesco.pe links. 2025-02-10 10:46:48 +04:00
John Preston
428a3cf0ce Improve phrases for forward-from-saved. 2025-02-10 10:46:48 +04:00
John Preston
1c8b165a64 Show quantity of issued unique gifts. 2025-02-10 10:46:48 +04:00
John Preston
1869071ef7 Sort/Filter channel gifts by non-admins. 2025-02-10 10:46:48 +04:00
John Preston
33ca5ee39f Limited before In Stock. 2025-02-10 10:46:48 +04:00
John Preston
e46d5a86d3 Don't auto-submit /start on non-loaded history. 2025-02-10 10:46:48 +04:00
John Preston
2729bcac3b Fix multi-line description in gift box. 2025-02-10 10:46:48 +04:00
John Preston
d60ce41fa9 Add a gift button to channel bottom. 2025-02-10 10:46:48 +04:00
John Preston
958db945f3 Fix bot verify badge position. 2025-02-10 10:46:48 +04:00
John Preston
057f906ca4 Remove bot verification from saved messages. 2025-02-10 10:46:48 +04:00
23rd
8df7a45e29 Added animated arrow to toggle of business hours. 2025-02-10 10:46:47 +04:00
23rd
e4af1570cb Replaced link button for switch of business hours with small round one. 2025-02-10 10:46:47 +04:00
23rd
049ebf9027 Fixed display of credits icon in table row from gift box. 2025-02-10 10:46:47 +04:00
23rd
f2f0c7df92 Extended context menu for outgoing gifts. 2025-02-10 10:46:47 +04:00
Anton Ryzhov
bee4118513 Export media sizes 2025-02-09 12:22:37 +04:00
Ilya Fedin
bf48025d12 Update Qt 6.8.1 -> 6.8.2 2025-02-02 15:37:34 +04:00
Ilya Fedin
5e624605cf Don't print "Choosing Qt $version" multiple times 2025-02-02 15:37:34 +04:00
Ilya Fedin
026490acc6 Add geoclue and geocode-glib to snap 2025-02-02 15:37:34 +04:00
Ilya Fedin
709ce3adb8 Set UID in docker run 2025-02-01 12:54:55 +04:00
Ilya Fedin
a8d23489c4 Set up gcc toolset environment manually 2025-02-01 12:52:22 +04:00
Ilya Fedin
296df113e3 Implement getting geolocation via geoclue/geocode-glib on Linux 2025-02-01 12:51:02 +04:00
23rd
97c4e79e96 Improved title for separated windows with shared media. 2025-01-30 13:59:53 +03:00
23rd
f89bac7781 Improved handle of existing separated windows for shared media. 2025-01-30 13:59:53 +03:00
23rd
1d8a7f8fd3 Removed redundant template from Info::Media::AddCountedButton. 2025-01-30 13:59:35 +03:00
23rd
ef9f7ab27a Moved process of separated window for shared media to correspond file. 2025-01-30 13:59:00 +03:00
23rd
a676138745 Added ability to open shared media in window with Ctrl+Click. 2025-01-30 12:16:31 +03:00
23rd
7442ea7a16 Added ability to open single typed shared media in window for topics. 2025-01-30 12:04:44 +03:00
23rd
0089cad740 Replaced default shortcut to open chat menu with Ctrl+\. 2025-01-30 11:42:12 +03:00
23rd
cf1fa718a8 Improved conflict handle between IV shortcuts and Shortcuts. 2025-01-30 11:39:56 +03:00
23rd
d6ba6ac41e Added initial ability to open single typed shared media in window. 2025-01-30 11:01:04 +03:00
23rd
bbdd5feaa4 Fixed display of video userpic in short box on Retina. 2025-01-30 11:01:04 +03:00
Ilya Fedin
678527254b Add development facilities to the CentOS Dockerfile 2025-01-29 15:27:25 +01:00
John Preston
46bf7781aa Version 5.10.7: Haptic on Linux. 2025-01-27 23:43:57 +04:00
John Preston
99c547b625 Version 5.10.7: Fix gifts scrolling. 2025-01-27 23:41:07 +04:00
John Preston
6976e97de3 Fix possible crash in font selection box. 2025-01-27 23:41:07 +04:00
23rd
f8e3e70273 Added peer userpic to gift service messages. 2025-01-27 21:10:44 +03:00
23rd
23c9f7a957 Added entities support to title from ServiceBoxContent. 2025-01-27 21:10:44 +03:00
23rd
2ca763cc77 Made less strict condition to show unique status of gift in gift box. 2025-01-27 21:10:44 +03:00
John Preston
2adc811351 Version 5.10.7: Fix build. 2025-01-27 20:31:01 +04:00
23rd
be18be4a86 Added volume slider to settings box for rtmp live stream. 2025-01-27 18:35:58 +03:00
John Preston
8d7abb1b8a Version 5.10.7.
- Fix some phrases for collectible gifts.
- Fix freeze in sound reencoding on macOS and Linux.
2025-01-27 19:27:11 +04:00
John Preston
1cc5988c40 Improve gifts phrases. 2025-01-27 19:25:17 +04:00
John Preston
da426ae03b Introduce fast-buttons-bots for support mode. 2025-01-27 19:25:17 +04:00
John Preston
3cebd6d923 Fix deadlock in audio for notification repacking. 2025-01-27 18:10:38 +04:00
John Preston
f1019c8ca4 Update Qt patches in Linux build. 2025-01-27 18:07:42 +04:00
John Preston
edfb7b6b24 Add delay for anim::Disabled tabbed panel hide. 2025-01-27 18:07:42 +04:00
23rd
157a928f5a Added shortcut to open chat menu from dialogs, chat info and history. 2025-01-27 18:07:42 +04:00
Ilya Fedin
5f5a2a3ef2 Check high contrast theme for auto dark mode on Windows 2025-01-27 15:01:11 +01:00
Ilya Fedin
8534cf3756 Extract system dark mode from QPalette 2025-01-27 15:01:11 +01:00
Ilya Fedin
39b90092ff Revert "Fallback to portal on Linux if QStyleHints::colorScheme is unknown"
This reverts commit a88f48cd93.
2025-01-27 15:01:11 +01:00
John Preston
d3142ebe6d Version 5.10.6: Fix build. 2025-01-26 14:00:45 +04:00
John Preston
d914c6be2e Version 5.10.6.
- Fix crash in opening users gifts section.
- Fix unintended sound in reaction notifications.
- Fix disabling notifications sound on macOS and Linux.
2025-01-26 12:48:57 +04:00
John Preston
05c3e968df Remove 'SOON' badge for tradable feature. 2025-01-26 11:34:45 +04:00
John Preston
7756cce123 Fix viewing gifts from list of saved. 2025-01-26 11:34:44 +04:00
John Preston
8287d717f8 Fix notifications without sounds on macOS. 2025-01-26 11:34:32 +04:00
23rd
db9e60b4b5 Added amount of total voters to poll results with multiple answers.
Fixed #28879.
2025-01-26 08:49:21 +03:00
23rd
28a79bfccb Improved sort of received star gifts. 2025-01-25 20:18:42 +03:00
23rd
321490e528 Fixed ability to moderate messages from channel authors. 2025-01-25 19:32:49 +03:00
23rd
6f752357d7 Fixed ability to moderate messages from topbar in sections. 2025-01-25 19:32:49 +03:00
Ilya Fedin
e1f71baed6 Move native notifications option check logic to cross platform code 2025-01-25 18:33:13 +04:00
John Preston
df377cd5bb Version 5.10.5.
- Count all unread topics as a single chat in archive unread counter.
- Fix common groups section in bots profiles.
- Fix crash on scheduling messages from Share box.
- Fix silent notifications on macOS.
- Add support for 'sound-file' notification hint on Linux.
2025-01-24 22:23:27 +04:00
John Preston
691a0acdab Allow sound-without-toast again on macOS/Linux. 2025-01-24 22:23:27 +04:00
John Preston
5e2eda6af3 Fix webpage preview glitch. 2025-01-24 22:12:21 +04:00
23rd
17cdc2b585 Fixed search shortcut in section for comments. 2025-01-24 21:09:30 +04:00
23rd
c08266f81b Fixed reward label for point details widget in credits statistics. 2025-01-24 21:09:28 +04:00
23rd
f90a4db569 Respected pause reason in mini stars from section for main settings. 2025-01-24 21:09:27 +04:00
John Preston
22ec7a6d75 Fix notification sounds on macOS. 2025-01-24 21:08:54 +04:00
John Preston
1b16a84810 Return common groups section to bots.
Fixes #28886.
2025-01-24 20:22:16 +04:00
John Preston
d778276f5d Reuse views in gifts lists. 2025-01-24 13:40:57 +04:00
John Preston
e3030a168f Fix crash in share box scheduling. 2025-01-24 12:13:35 +04:00
John Preston
dfd07a4f4f Count all topics as one chat for outer badges. 2025-01-24 12:02:28 +04:00
John Preston
f9fc65d7de Fix webapp window top in some cases. 2025-01-24 11:14:06 +04:00
Ilya Fedin
46cf7db242 Add support for sound-file notification hint on Linux 2025-01-24 11:02:38 +04:00
John Preston
2b94cffe7e Allow getting name or path for sound. 2025-01-23 12:13:01 +04:00
John Preston
2e74ad6fbe Use common code for local sound disk cache. 2025-01-23 11:58:20 +04:00
John Preston
df7dc1583d Try settings window title for miniapps. 2025-01-23 10:55:59 +04:00
John Preston
88e80b4fae Version 5.10.4: Fix build with GCC. 2025-01-22 23:56:52 +04:00
John Preston
aea90f4b65 Version 5.10.4.
- Add messages search in channel comments.
- Allow sending your unique gifts to blockchain.
- Add option for running in backround on Linux.
- Fix possible freeze on quit on macOS.
2025-01-22 22:22:20 +04:00
John Preston
80db076f38 Improve channel gifts viewing. 2025-01-22 22:13:29 +04:00
John Preston
27bba8250a Add special phrase for unique hidden gift. 2025-01-22 22:13:29 +04:00
John Preston
3fb0fa6892 Swap confirm and password boxes on export. 2025-01-22 22:13:28 +04:00
John Preston
c3195cfcbe Improve convert-to-stars message in channel gift. 2025-01-22 22:13:28 +04:00
John Preston
51661a872c Fix channel unique gift transfer. 2025-01-22 22:13:28 +04:00
John Preston
64706ea103 Add confirmation for go-to-Fragment. 2025-01-22 22:13:28 +04:00
John Preston
ec69d557dc Add channel gifts filter. 2025-01-22 22:13:28 +04:00
John Preston
addd37fb1f Make channel gifts wearing / transferring. 2025-01-22 22:13:28 +04:00
John Preston
9dc947ecb6 Simplify run-in-background option selection. 2025-01-22 22:13:28 +04:00
John Preston
7d74d3da3a Remove dnd/focus query code on macOS. 2025-01-22 22:13:28 +04:00
John Preston
aa0c56876c Use sound in native notifications on macOS. 2025-01-22 22:13:28 +04:00
John Preston
37c7b0c6d1 Allow exporting unique gifts to blockchain. 2025-01-22 22:13:28 +04:00
John Preston
0d07d238bc Allow converting channel gifts to stars. 2025-01-22 22:13:28 +04:00
John Preston
fa4e74ffef Show and edit channel gifts notify settings. 2025-01-22 22:13:28 +04:00
John Preston
c22d76e5be Show only channel userpic in RTMP livestreams. 2025-01-22 22:13:28 +04:00
John Preston
18850ebd83 Gradient on premium gift discount badge. 2025-01-22 22:13:28 +04:00
John Preston
17abef95eb Build FFmpeg with WAV encoder/muxer. 2025-01-22 22:13:28 +04:00
John Preston
d135151477 Use native sound support in macOS notifications. 2025-01-22 22:13:28 +04:00
John Preston
07fd9b3074 Show nice collectible tooltip on wearing. 2025-01-22 22:13:27 +04:00
John Preston
0523ae705a Fix invisible chat type filter. 2025-01-22 22:13:27 +04:00
John Preston
9db2502cd0 Preserve formatting when editing links.
Fixes #28170.
2025-01-22 22:13:27 +04:00
John Preston
a174119877 Update API scheme on layer 198. 2025-01-22 22:13:27 +04:00
John Preston
569dd19932 Fix build on Xcode. 2025-01-22 22:13:27 +04:00
John Preston
530e2a1feb Support background-run options on Linux. 2025-01-22 22:13:27 +04:00
John Preston
de732ba692 Update icons for collectible wearing. 2025-01-22 22:13:27 +04:00
John Preston
c6649e84a6 Update patches for Qt 5.15. 2025-01-22 22:13:27 +04:00
John Preston
e3517aceab Improve stars in collectible emoji status. 2025-01-22 22:13:27 +04:00
John Preston
6d7abd1718 Don't use double-badge in profile, use two. 2025-01-22 22:13:27 +04:00
John Preston
e9e493707b Show left / sold gifts counts. 2025-01-22 22:13:27 +04:00
John Preston
c25adf8b57 Use a custom animated emoji for collectible status. 2025-01-22 22:13:27 +04:00
John Preston
d2be10cd4e Use "Display on my Page" big button. 2025-01-22 22:13:27 +04:00
John Preston
006ecf9a56 Fix giveaway results message sticker. 2025-01-22 22:13:27 +04:00
John Preston
a53cc52241 Ask for premium to wear a collectible. 2025-01-22 22:13:26 +04:00
John Preston
961d283325 Put on / Take off collectible wearable. 2025-01-22 22:13:26 +04:00
John Preston
4e46529eb6 Show gift on collectible status click. 2025-01-22 22:13:26 +04:00
John Preston
81001e04e9 Partially implement viewing channel gifts. 2025-01-22 22:13:26 +04:00
John Preston
2fd174ab9c Partially implement sending gifts to channels. 2025-01-22 22:13:26 +04:00
John Preston
6ff5e221ea Support similar bots section. 2025-01-22 22:13:26 +04:00
John Preston
232077b919 Allow wearing unique gifts as status. 2025-01-22 22:13:26 +04:00
John Preston
fecddb5203 Allow wearing collectibles from emoji status. 2025-01-22 22:13:26 +04:00
John Preston
d0132c0f7b Update API scheme to layer 198. 2025-01-22 22:13:26 +04:00
John Preston
37d32b32f8 Show gifts inside media view in stories. 2025-01-22 22:13:26 +04:00
John Preston
51213b499f Start showing gifts from stories. 2025-01-22 22:13:25 +04:00
John Preston
dcb98ce0fb WebPage open button doesn't inflate the preview. 2025-01-22 22:13:25 +04:00
John Preston
428e90a844 Add unique gifts link preview. 2025-01-22 22:13:25 +04:00
John Preston
017535cf7b Handle t.me/nft/slug links. 2025-01-22 22:13:25 +04:00
John Preston
409389a994 Add gift menu with Share and Transfer. 2025-01-22 22:13:25 +04:00
John Preston
ba34d92cd3 Update API scheme to layer 197. 2025-01-22 22:13:25 +04:00
23rd
b412ee258d Respected first day of week from system in calendar box. 2025-01-22 11:23:08 +03:00
23rd
f1ffe2a641 Added icon to webview buttons from bot keyboards. 2025-01-22 10:21:22 +03:00
23rd
a13ca95894 Added initial implementation of search in section for comments. 2025-01-18 01:10:28 +03:00
23rd
0989a80a57 Added ability to provide top msg id to api message search class. 2025-01-18 01:10:28 +03:00
23rd
d72c15e9d3 Added ability to set wallpaper for bots. 2025-01-17 22:08:48 +03:00
23rd
7084cf9526 Removed ability to set wallpaper for deleted accounts. 2025-01-17 22:08:48 +03:00
23rd
67cc0ef75c Removed call button from history with deleted account. 2025-01-17 22:08:48 +03:00
23rd
75714cc358 Fixed caption for personal photo in media viewer when it's single photo. 2025-01-17 22:08:48 +03:00
23rd
75e454f3fd Fixed blinking of message preview from user's personal channel. 2025-01-17 20:17:22 +03:00
23rd
97afb4e01a Added shortcut to section of public photo settings to self userpic. 2025-01-17 17:55:22 +03:00
23rd
8fcbf43410 Fixed display of reloaded boost statistics after buying of giveaway. 2025-01-17 16:52:30 +03:00
23rd
15a834b883 Fixed text color in badges from giveaway message stickers. 2025-01-17 16:37:25 +03:00
23rd
3d8396e586 Made less strict condition to show button of removed users in chat edit. 2025-01-17 16:28:11 +03:00
23rd
3257fd364a Replaced hardcoded threshold of gigagroup conversion with server value. 2025-01-17 16:09:36 +03:00
23rd
d690af99fc Fixed ripple color for top buttons in section of affiliate programs. 2025-01-17 15:45:59 +03:00
23rd
1c28495162 Fixed boost bubble position on resize container. 2025-01-17 12:46:21 +03:00
23rd
ec82d5674f Slightly improved style of section for boost statistics. 2025-01-14 20:15:11 +03:00
23rd
4a22e76bdb Fixed opening of chat export progress from history peer menu. 2025-01-14 20:15:11 +03:00
23rd
527be95618 Improved style of labels in top bar for chat export. 2025-01-14 20:15:11 +03:00
23rd
41985c0a5f Fixed ability to cancel of loading video as part of grouped media. 2025-01-09 22:52:33 +03:00
23rd
522e45ce92 Removed trial transcribe button from long voice messages. 2025-01-09 22:52:33 +03:00
John Preston
48fb0f3b1e Version 5.10.3: Fix edit of album caption. 2025-01-09 22:54:57 +04:00
John Preston
798093c58f Merge remote-tracking branch 'origin/dev' into dev 2025-01-09 22:54:43 +04:00
doliv Debian fisso
e795dad616 Fixed crash sending files in restricted permissions Group Chat 2025-01-09 22:49:40 +04:00
John Preston
c3587ff46f Fix years in affiliate program creation. 2025-01-09 22:38:18 +04:00
John Preston
dc9fa9ccf2 Add boost group item in topic groups. 2025-01-09 22:26:22 +04:00
John Preston
97c259d928 Improve "... boosted group" phrases. 2025-01-09 22:19:34 +04:00
John Preston
afffdd5bbf Don't auto-send /start in blocked bots. 2025-01-09 22:00:49 +04:00
John Preston
199e7a1d46 Fix elision of localized Verification Codes name. 2025-01-09 21:24:14 +04:00
John Preston
a1aa315187 Version 5.10.3.
- Fix a crash in legacy group opening.
2025-01-09 18:54:09 +04:00
John Preston
8c56fddc55 Fix crash in 5.10.2. 2025-01-09 18:53:25 +04:00
John Preston
277d76df3e Version 5.10.2: Update Qt patches on Linux. 2025-01-08 17:42:51 +04:00
John Preston
1ac33d30bd Version 5.10.2: Improve gifts layout. 2025-01-08 17:36:45 +04:00
23rd
658cb438f8 Added spoiler entity to email pattern in recover box. 2025-01-08 14:25:40 +03:00
23rd
2b71625ffe Moved out part of common code for cloud password to td_ui. 2025-01-08 14:25:40 +03:00
23rd
2b13fc9a24 Slightly simplified Intro::Step::setDescriptionText. 2025-01-08 14:25:40 +03:00
23rd
9e18964e7f Added spoiler entity to email pattern in intro and cloud password. 2025-01-08 14:25:40 +03:00
23rd
43dfe559a6 Added simple context for marked text. 2025-01-08 10:58:56 +03:00
23rd
aab7ba264c Added ability to open peers in window with middle button from contacts. 2025-01-07 23:45:23 +03:00
23rd
b7162b5fad Added ability to open recent peers in window with middle button. 2025-01-07 23:45:23 +03:00
23rd
ce4a081155 Added initial ability to handle middle button in peer lists. 2025-01-07 23:45:23 +03:00
23rd
5df2a048e1 Fixed ability to copy selected text with presented compose search. 2025-01-07 23:12:49 +03:00
23rd
1b6a7fafa8 Added ability to instantly delete account in test DC. 2025-01-07 23:12:49 +03:00
23rd
2ab725e5e1 Added patch for colors of strikeout format to Linux. 2025-01-07 23:12:49 +03:00
John Preston
88a310a86e Version 5.10.2: Hide unique gift userpic. 2025-01-07 21:31:06 +04:00
John Preston
86319be256 Version 5.10.2.
- Fix double verification badge in profiles.
2025-01-07 21:23:42 +04:00
John Preston
9d68ef6421 Fix bot verification showing second check. 2025-01-07 20:59:52 +04:00
John Preston
2bb1c5d39b Show verify badge on Verifications Codes. 2025-01-07 20:59:17 +04:00
John Preston
3aa15c979d Version 5.10.1.
- Show "Boost group the send messages" information.
- Fix several gifts bugs and glitches.
- Fix several crashes.
2025-01-06 21:42:23 +04:00
John Preston
c062ba3426 Fix possible crash in sticker click. 2025-01-06 21:42:23 +04:00
John Preston
343560225c Fix crash in QR code copy on scale < 100. 2025-01-06 21:42:23 +04:00
John Preston
e0dd77f0c3 Fix possible crash in forward box. 2025-01-06 21:42:23 +04:00
John Preston
92ff07f723 Fix possible crash in message translation. 2025-01-06 21:42:23 +04:00
John Preston
a23dca080a Always show "View" button in gifts. 2025-01-06 21:42:23 +04:00
John Preston
6844f88567 Improve gift layout. 2025-01-06 21:42:23 +04:00
John Preston
e6060ea277 Improve gift corner badge display. 2025-01-06 21:42:23 +04:00
John Preston
549de7fa54 Show both verify and status emoji in opened chat. 2025-01-06 21:42:23 +04:00
John Preston
ecf9faa21d Fix usernames and QR overlap. 2025-01-06 21:42:23 +04:00
John Preston
a87ebd41e7 Fix reactions for call messages. 2025-01-06 21:42:23 +04:00
John Preston
183dd40f39 Improve gift phrases usage. 2025-01-06 21:42:23 +04:00
John Preston
c722c5c46f Improve gift pattern transparency. 2025-01-06 21:42:23 +04:00
John Preston
865200db5e Improve custom verification icon display. 2025-01-06 21:42:23 +04:00
John Preston
c3e15de759 Don't show Downloads if it's empty in search. 2025-01-06 21:42:23 +04:00
John Preston
44bfdbdc83 Add global search chat type filter. 2025-01-06 21:42:23 +04:00
John Preston
5f10c1875c Ask for boosts to unlock group restrictions. 2025-01-06 21:42:23 +04:00
23rd
a7ae7a8cda Slightly improved fade effect in price categories from star gift box. 2025-01-06 20:40:17 +03:00
23rd
706f142a98 Slightly improved ripple animation for button to gift credits. 2025-01-06 20:40:17 +03:00
23rd
08df3b2dff Removed unused badge in giveaway box. 2025-01-06 20:40:17 +03:00
23rd
14672ff145 Excluded cases of divisions by zero in dates from statistics charts. 2025-01-06 20:40:17 +03:00
Nikolai Nechaev
7fcd84d08e Fix handling of notification disappearing under cursor
Previously, notifications disappearing under cursor (e.g., because closed
manually or open from another device) did not notify the manager
properly, as the leaveEventHook was not triggered. This could lead to
notifications staying around when not supposed to (see #28813).

This commit fixes that by explicitly notifying manager when the
notification widget disappears under the cursor.

Fixes #28813.
2025-01-06 09:51:09 +04:00
dependabot[bot]
12f8686326 Bump jinja2 from 3.1.4 to 3.1.5 in /Telegram/build/docker/centos_env
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.4...3.1.5)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 09:48:00 +04:00
John Preston
aa445adfff Fix possible crash in ListWidget destructor. 2025-01-04 22:00:38 +04:00
John Preston
603aa5db5f Version 5.10: Fix build with GCC. 2025-01-02 12:23:07 +04:00
John Preston
c34289036f Version 5.10: Show folder tags premium promo. 2025-01-02 11:25:08 +04:00
John Preston
5b6bec775b Version 5.10: Fix build with Xcode. 2025-01-02 11:02:33 +04:00
John Preston
3b0fe3043f Version 5.10.
- Collectible Gifts.
- Reactions for Service Messages.
- Verification from Third Parties.
- Custom Emoji in Folder Names.
2025-01-02 10:54:50 +04:00
GitHub Action
c99165891f Update copyright year to 2025. 2025-01-02 10:48:21 +04:00
John Preston
4938b18f9d Fix display of gifts from bots. 2025-01-02 10:47:37 +04:00
John Preston
8895b4e8a3 Implement buying gifts for myself. 2024-12-31 21:40:18 +04:00
John Preston
a7321c9beb Return native verify icon to the right. 2024-12-31 17:18:59 +04:00
John Preston
c23b533704 Hide shared media layer when jumping to message. 2024-12-31 16:44:22 +04:00
John Preston
de34c75788 Support custom emoji in folder menus. 2024-12-31 16:29:10 +04:00
John Preston
06341efe0d Allow disabling animations in folder emoji. 2024-12-31 15:41:13 +04:00
John Preston
c810005f86 Don't parse empty messages in channels. 2024-12-31 13:44:52 +04:00
John Preston
cdedf283ac Show correct topic buttons in admin log. 2024-12-31 13:12:16 +04:00
John Preston
acfd92e2e6 Display emoji correctly in folder tags. 2024-12-31 13:12:16 +04:00
John Preston
51b81dba87 Fix animated side buttons with locks. 2024-12-31 13:12:16 +04:00
John Preston
7f6dfcf52f Improve new gift transactions a bit. 2024-12-31 13:12:16 +04:00
John Preston
92582d8434 Implement refunded upgraded gift view. 2024-12-31 13:12:16 +04:00
John Preston
e2bff474db Show upgraded gift from old "View" button. 2024-12-31 13:12:15 +04:00
John Preston
4f702e12b7 Improve upgrade/transfer toasts. 2024-12-31 13:12:15 +04:00
John Preston
083400d1c2 Implement unique gift transfer. 2024-12-31 13:12:15 +04:00
John Preston
7491337bfd Show forward original date for edited items. 2024-12-31 13:12:15 +04:00
John Preston
d6b833fbb2 Add icons for gift upgrading. 2024-12-31 13:12:15 +04:00
John Preston
2113a2b634 Implement nice unique gifts in the list. 2024-12-31 13:12:15 +04:00
John Preston
5df632264f Allow pay for upgrade when sending. 2024-12-31 13:12:15 +04:00
John Preston
42c350243a Implement unique gift view box. 2024-12-31 13:12:15 +04:00
John Preston
522ca3b04a Pause gift view ministars in an inactive window. 2024-12-31 13:12:15 +04:00
John Preston
2d53ec5d34 Implement unique gift view in chat. 2024-12-31 13:12:15 +04:00
John Preston
13d2f70c3a Implement upgraded unique gifts. 2024-12-31 13:12:15 +04:00
John Preston
a87d19998e Support bot verifications without modify access. 2024-12-31 13:12:15 +04:00
John Preston
6ddf241293 Update API scheme on layer 196. 2024-12-31 13:12:15 +04:00
John Preston
e43ec6c4ea Add unique gift phrases. 2024-12-31 13:12:15 +04:00
John Preston
5f3db95cbd Parse unique gift fields. 2024-12-31 13:12:15 +04:00
John Preston
d874829b06 Start animating emoji in filter titles. 2024-12-31 13:12:15 +04:00
John Preston
6cfbccd955 Handle report_delivery_until_date. 2024-12-25 11:09:35 +04:00
John Preston
0d821c3630 Implement simple bot verification management. 2024-12-25 11:09:35 +04:00
John Preston
b61e3b580d Return chat type icons. 2024-12-25 11:09:35 +04:00
John Preston
5c301353ec Improve verified badge display. 2024-12-25 11:09:35 +04:00
John Preston
0363421862 Apply server side bot verifications. 2024-12-25 11:09:35 +04:00
John Preston
6f18b9b691 Proof-of-concept custom verify badges. 2024-12-25 11:09:35 +04:00
John Preston
35e40be550 Support service messages reactions. 2024-12-25 11:09:35 +04:00
John Preston
c1528f532e Update API scheme to layer 196. 2024-12-25 11:09:35 +04:00
John Preston
4505a2bf2d Beta version 5.9.2.
- Fix some jump-to-message highlightings.
- Fix some long round video messages sending.
- Fix possible crash in global photos / videos.
- Fix streaming starting for some large video files.
- Fix possible drop of top peers / recent chats cache.
- Fix possible crashes in audio on macOS (rollback OpenAL).
2024-12-24 10:44:15 +04:00
John Preston
a314380b08 Rollback OpenAL on macOS. 2024-12-23 22:51:33 +04:00
John Preston
0c07a015c6 Always show VIEW DISCUSSION from comments. 2024-12-23 22:46:43 +04:00
John Preston
a0c7697280 Fix affiliate program ending confirmation box.
Fixes #28780.
2024-12-23 22:46:42 +04:00
John Preston
04023da723 Highlight search query part in separate window chat. 2024-12-23 21:29:40 +04:00
John Preston
13ea045055 Fix collision of dice_sticker last frames. 2024-12-23 21:29:40 +04:00
John Preston
f03351d112 Allow filter gifts by "In Stock". 2024-12-23 21:29:40 +04:00
John Preston
48d9f10f5b Improve message part highlighting. 2024-12-23 21:29:39 +04:00
John Preston
2b53df98cd Fix long message parts highlighting in topics. 2024-12-23 21:29:34 +04:00
John Preston
99a7a13218 Always send video messages as not "big" files. 2024-12-23 21:27:12 +04:00
John Preston
2d2d4ac002 Reduce video message bitrate so they always fit. 2024-12-23 21:27:12 +04:00
John Preston
d12e8023e3 Fix scheduled replies loading. 2024-12-23 21:27:12 +04:00
John Preston
17181cee8f Fix possible crash in Forward folders switch. 2024-12-23 21:27:12 +04:00
23rd
a74ee911b3 Removed chats filters strip from forward box while search. 2024-12-23 11:02:09 +04:00
Ilya Fedin
b0b37172ce Fix the naming of TitleControlsLayout static methods 2024-12-23 11:01:35 +04:00
Pavel Zolotarevskiy
cccf048e3f Don't export a duplicate "text" field on star gift
Fixes #28781
2024-12-21 22:32:12 +04:00
John Preston
82e890746b Fix possible crash in global media search. 2024-12-20 21:07:20 +04:00
John Preston
188d65d700 Improve streaming of large files. 2024-12-20 21:07:20 +04:00
John Preston
4569f93e70 Fix username disappearance in My Profile. 2024-12-20 21:07:20 +04:00
23rd
bcd1d8461f Added ability to open context menu for active account from main menu. 2024-12-20 19:33:06 +03:00
23rd
183a9139f9 Moved out ability to mark as read all chats from hidden shortcut. 2024-12-20 19:33:06 +03:00
23rd
80a1e6ecf3 Fixed ability to mark as read all chats for wrong account. 2024-12-20 19:33:06 +03:00
23rd
aa1f8cfb8f Fixed display at least one injected sponsored message. 2024-12-20 15:53:43 +03:00
23rd
8060691f3d Fixed preview of chats filters in filter link box when window is small. 2024-12-19 15:54:26 +03:00
Ilya Fedin
bf26de495a Adapt to TitleControlsLayout change 2024-12-19 15:59:25 +04:00
Ilya Fedin
73b3f7e298 Adapt to TitleControlsOnLeft change 2024-12-19 15:59:25 +04:00
Ilya Fedin
22191649aa Update lib_base and lib_ui 2024-12-19 15:59:25 +04:00
bitxer
0557907310 Enhance experimental setting description 2024-12-19 15:49:24 +04:00
bitxer
0f283c484d Added experimental settings to prefer ipv6 when it is available 2024-12-19 15:49:24 +04:00
John Preston
e33ca9d316 Fix top/recent peers cache write error. 2024-12-19 13:51:47 +04:00
John Preston
f93f4c72f7 Beta version 5.9.1.
- Add global media overview tabs in chats search.
- Add main menu "My Profile" with my stories and gifts access.
- Highlight some of search query on result message open.
- Fix highlighting quotes from bottom parts of long messages.
- Allow forward and reply bars together.
- Make gift price categories scrollable.
- Auto-send deep-link /start in existing bot chats.
2024-12-18 19:12:12 +04:00
23rd
f0b9bc10c2 Added fade effect to price categories in star gift box. 2024-12-18 17:39:46 +03:00
John Preston
f583879aee Update OpenAL to 1.24.1 on Windows/macOS. 2024-12-18 18:22:54 +04:00
23rd
7ea6c6c84b Fixed width of username label with button for QR in profiles. 2024-12-18 16:21:07 +03:00
23rd
2532a0ff59 Moved out to single place ministars creation in top of box. 2024-12-18 15:47:57 +03:00
23rd
c3f354826d Fixed text color of custom icon in some phrases with links. 2024-12-18 15:01:57 +03:00
23rd
6d1e421ad7 Fixed color of strikeout format when spellcheck underline is present. 2024-12-18 11:54:26 +03:00
23rd
29b0055e39 Slightly improved some phrases on error while add participant to chat. 2024-12-18 11:03:44 +03:00
Ilya Fedin
2cb20fe342 Switch macOS packaged action to latest ffmpeg 2024-12-18 10:53:43 +04:00
Ilya Fedin
fc97fa4415 Fix snap action 2024-12-18 09:56:23 +04:00
Ilya Fedin
876a50f759 Update OpenAL to 1.24.1 on Linux 2024-12-18 09:55:58 +04:00
Ilya Fedin
eb0d2868f5 Expand "always run in background" behavior from GNOME/Pantheon to all Linux
Right now it checks the title controls layout that is typically set only by gtk based DEs and KDE matching the GNOME's and Pantheon's defaults.

There are more and more reports about window manager not to supporting both tray and minimization out of the box and title controls layout seem to typically be either unset or set to nothing leaving users with no way to run tdesktop with no window open.
2024-12-18 09:55:35 +04:00
John Preston
e215d5bc64 Fix build with Xcode. 2024-12-17 21:27:08 +04:00
John Preston
3f0d687656 Add cache for global media search requests. 2024-12-17 21:17:14 +04:00
John Preston
d59eb8e731 Support global media in chats search. 2024-12-17 21:17:14 +04:00
John Preston
04e9eed88d Reuse filters slider scroll for search. 2024-12-17 21:17:14 +04:00
John Preston
5072e95f16 Support folders strip touch-screen scroll. 2024-12-17 21:17:14 +04:00
John Preston
a2b8366477 Show forward original date in context menu. 2024-12-17 21:17:14 +04:00
John Preston
e9a6bee046 Fix sending old topic messages. 2024-12-17 21:13:29 +04:00
John Preston
080a8d7ee5 Fix "Open" miniapp button antialiasing. 2024-12-17 21:13:29 +04:00
John Preston
f94fd3118b Add "My Profile" instead of "My Stories". 2024-12-17 21:13:29 +04:00
John Preston
8ddb13d6e2 Show verified/premium badge in chat preview. 2024-12-17 21:13:29 +04:00
John Preston
c6cf8be8d4 Redesign gift visibility toggle. 2024-12-17 21:13:29 +04:00
John Preston
e92270a9ab Add "View Discussion" button to third column. 2024-12-17 21:13:29 +04:00
John Preston
65d6636a41 Add special toast title for anonymous stars. 2024-12-17 21:13:29 +04:00
John Preston
4701badb2a Highlight text in bottom of a long bubble. 2024-12-17 21:13:29 +04:00
John Preston
3565215c81 Highlight word from search query. 2024-12-17 21:13:29 +04:00
John Preston
3957fea5e4 Send start in bots auto in existing bot chats. 2024-12-17 21:13:29 +04:00
John Preston
10f1ae152d Fix crash in sending games from inline bots.
Regression was introduced in 2d1fb0562d.
2024-12-17 21:13:29 +04:00
John Preston
eb29b6bffe Allow forward+reply, options in single box. 2024-12-17 21:13:29 +04:00
John Preston
d157eb0b6e Enter selects from-row in reply-in-another-chat. 2024-12-17 21:13:29 +04:00
John Preston
0045eb4598 Make price categories scrollable. 2024-12-17 21:13:27 +04:00
23rd
b61c66c385 Fixed display of title widgets in separate panel while show animation. 2024-12-16 06:46:36 +03:00
23rd
56d6c4eb30 Fixed mouse track on right button for bots when there is unread badge. 2024-12-16 05:45:56 +03:00
23rd
a6030d708d Fixed display of unread state in chats filters strip after reorder. 2024-12-16 05:45:56 +03:00
23rd
683c3c4f36 Fixed Escape hotkey in info sections with search field. 2024-12-16 05:45:56 +03:00
23rd
bd084f9181 Fixed blink of submenu in profile section on section destroy. 2024-12-16 05:45:56 +03:00
23rd
fef133bf0a Fixed incorrect action type of userpic change with image from clipboard.
Fixed #28731.
2024-12-16 05:45:56 +03:00
23rd
15c226e6cf Removed confusing lock state from button in earn out section. 2024-12-16 05:45:56 +03:00
23rd
84f111d641 Fixed unreachable bottom button from contact media in some cases. 2024-12-16 05:45:55 +03:00
23rd
18c1e7ac60 Removed animation cache from dialogs widget on instant clear search. 2024-12-16 05:45:55 +03:00
Daniel Novomeský
ee6dbdced6 Update libjxl and libheif on Linux 2024-12-14 17:50:51 +04:00
Daniel Novomeský
cb443d797d Update kimageformats submodule 2024-12-14 17:50:51 +04:00
Daniel Novomeský
5a6497ec70 Upgrade libheif to 1.18.2, upgrade libjxl to 0.11.1 2024-12-14 17:50:51 +04:00
Andrey Egorov
893ca8bcbd Residence country instead of Citizenship 2024-12-06 18:29:17 +04:00
John Preston
f91e4c8b69 Version 5.9.
- Affiliate programs for bots.
- Add option to show folder tags in chats list.
2024-12-04 19:03:17 +04:00
Ilya Fedin
f7c777d07d Add branding colors to metainfo 2024-12-04 19:03:11 +04:00
John Preston
12a8e8616c Fix giveaway sticker badge. 2024-12-04 13:51:20 +04:00
John Preston
2fbf7e8504 Fix build with Xcode. 2024-12-04 13:51:20 +04:00
John Preston
6864e6d5bf Improve phrase for revoked starref link. 2024-12-04 13:51:20 +04:00
John Preston
09b4e0e21b Use nice format for numbers. 2024-12-04 13:51:20 +04:00
John Preston
f381005184 Add "New" badge for affiliate programs. 2024-12-04 13:51:20 +04:00
John Preston
42a2de4bf0 Add a NEW badge to "Earn Stars". 2024-12-04 13:51:20 +04:00
John Preston
1fd1e34844 Add link icon to connected starref programs. 2024-12-04 13:51:20 +04:00
John Preston
64dbbd7d09 Green badges for commissions. 2024-12-04 13:51:20 +04:00
John Preston
c137e577dc Allow sorting suggested starref programs. 2024-12-04 13:51:20 +04:00
John Preston
f592a9202f Improve arrow down in choose recipient box. 2024-12-04 13:51:20 +04:00
John Preston
cdc24d2e57 Fix states in joined/suggested lists. 2024-12-04 13:51:20 +04:00
John Preston
b8bf3f6520 Allow changing the recipients. 2024-12-04 13:51:20 +04:00
John Preston
82cec83d87 "Add {bot}" button in existing starrefs list. 2024-12-04 13:51:20 +04:00
John Preston
1e14667006 Add affiliate program point to bot info. 2024-12-04 13:51:20 +04:00
John Preston
6539d14852 Create/Update confirm box for the starref. 2024-12-04 13:51:20 +04:00
John Preston
400df0f980 Add referral link preview to the box. 2024-12-04 13:51:19 +04:00
John Preston
4cafb3f966 Make nicer footer in starref boxes. 2024-12-04 13:51:19 +04:00
John Preston
d8892c4eb4 Nice referral link icon in the box. 2024-12-04 13:51:19 +04:00
John Preston
1ebd25e76e Start/Update/End toasts for starref programs. 2024-12-04 13:51:19 +04:00
John Preston
ca89aa8377 Confirm box for revoke link / end program. 2024-12-04 13:51:19 +04:00
John Preston
ad6272bfe5 Show correct error on stopped starref. 2024-12-04 13:51:19 +04:00
John Preston
b401c37c39 Correctly show commission in stars stats. 2024-12-04 13:51:19 +04:00
John Preston
552dd318cd Implement nice starref start button. 2024-12-04 13:51:19 +04:00
John Preston
a97880132a Respect appconfig starref restrictions. 2024-12-04 13:51:19 +04:00
John Preston
89058c63c8 Check appconfig start ref prefixes. 2024-12-04 13:51:19 +04:00
John Preston
747e417809 Apply connected programs in realtime. 2024-12-04 13:51:19 +04:00
John Preston
fd26e1618c Add "Affiliate programs" to Manage Channel. 2024-12-04 13:51:19 +04:00
John Preston
86ea760011 Show list of programs in View Existing. 2024-12-04 13:51:19 +04:00
John Preston
824237deb3 Nice starref link box. 2024-12-04 13:51:19 +04:00
John Preston
ca8c70cc95 Fix creating default starref program. 2024-12-04 13:51:19 +04:00
John Preston
46fcc695a5 Add starref entry point to my/bot stars page. 2024-12-04 13:51:19 +04:00
John Preston
0e866a0266 Nice starref join confirmation box. 2024-12-04 13:51:19 +04:00
John Preston
63c36f5907 Implement nice limited duration slider. 2024-12-04 13:51:19 +04:00
John Preston
5299500d78 Implement nice commission slider. 2024-12-04 13:51:19 +04:00
John Preston
3b3d1aa9cc Update some icons for starref sections. 2024-12-04 13:51:19 +04:00
John Preston
62d2346471 Initial starref programs list implementation. 2024-12-04 13:51:19 +04:00
John Preston
1e15764bb9 Initial starref setup section implementation. 2024-12-04 13:51:19 +04:00
John Preston
a6bfd35f1a Add phrases for star referrals. 2024-12-04 13:51:18 +04:00
John Preston
3296efe46b Use correct format for double formatting. 2024-12-04 13:51:18 +04:00
John Preston
51ddfbc340 Update API scheme to layer 195. 2024-12-04 13:51:18 +04:00
23rd
42142d819a Added support of media with spoiler to export to JSON. 2024-12-04 11:48:07 +03:00
23rd
bbf9d523a6 Fixed incorrect calculation of title width in sponsored messages. 2024-12-04 11:48:07 +03:00
23rd
721877e10a Removed redundant special tab mode from PeerListBox. 2024-12-04 11:48:07 +03:00
23rd
a9e95a128f Fixed display of filters tabs on some cases of first activating. 2024-12-04 11:48:07 +03:00
John Preston
2b920eaa87 Use new Vazirmatn repository URL.
Co-authored-by: ilya-fedin <fedin-ilja2010@ya.ru>
2024-12-04 10:21:37 +04:00
Amir Hossein "Amiria" Maher
a3ec759e62 Update from 'vazir' to 'vazirmatn' 2024-12-04 10:21:37 +04:00
Ilya Fedin
3661442acd Add more screenshots to metainfo 2024-12-04 10:14:58 +04:00
Ilya Fedin
f232d329c5 Add transparency to the preview image 2024-12-04 10:14:18 +04:00
Ilya Fedin
ac5cf3bd80 Update summary in metainfo and comment in desktop file 2024-12-04 10:11:39 +04:00
Ilya Fedin
ac13ac7a2c Remove "Desktop" from application name on Linux 2024-12-04 10:08:04 +04:00
John Preston
0bccb35cb0 Use "Open" non-upper-case. 2024-12-03 17:26:46 +04:00
23rd
18d9484ab1 Removed Ui::show from LocalStorageBox. 2024-12-03 17:26:46 +04:00
23rd
fe7c06bc84 Added Enter shortcut to box for adding or removing of shared filter. 2024-12-03 17:26:46 +04:00
23rd
b6fb3bbf1d Fixed build of shortcuts settings included with another Session declare. 2024-12-03 17:26:46 +04:00
23rd
927d7a3aeb Renamed sessions_box to settings_active_sessions. 2024-12-03 17:26:46 +04:00
23rd
979973745b Fixed build of notifications type included with another Session declare. 2024-12-03 17:26:46 +04:00
23rd
afab863f11 Fixed non-closed last tag for inline buttons in HTML export. 2024-12-03 17:26:46 +04:00
23rd
168162c174 Fixed color of float button from sponsored message bar in new window. 2024-12-03 17:26:46 +04:00
23rd
2b122087c4 Re-fixed focus capture from compose search widget. 2024-12-03 17:26:46 +04:00
23rd
043d97cfdf Moved out SearchFieldController to td_ui. 2024-12-03 17:26:46 +04:00
GitHub Action
794818953d Update User-Agent for DNS to Chrome 131.0.0.0. 2024-12-03 17:22:11 +04:00
Ilya Fedin
783570fe9f Update Qt 6.8.0 -> 6.8.1 2024-12-03 12:15:46 +04:00
John Preston
b1e2a4243e Fix join requests list for legacy groups. 2024-11-29 20:18:31 +04:00
John Preston
b347308137 Show bot app name in title. 2024-11-29 20:18:31 +04:00
John Preston
b3c8a79946 Use langpack-ed about for Verification Codes. 2024-11-29 20:18:31 +04:00
23rd
9822c56f1a Removed display of right button for bots when there is unread badge. 2024-11-29 16:03:42 +03:00
23rd
cdd7ff5c6d Fixed count of current size for non-thumbed media with long bottom info. 2024-11-29 15:56:31 +03:00
23rd
5aba2f25cc Fixed drawing of currency icon with non-default scale in profile. 2024-11-29 15:56:31 +03:00
John Preston
96398daa78 Beta version 5.8.5: Fix build with Xcode. 2024-11-29 11:25:29 +04:00
John Preston
61ceb66415 Beta version 5.8.5.
- Fix pinned chats in folders.
- Fix emoji in folder tags.
- Fix several crashes.
2024-11-29 10:52:14 +04:00
John Preston
b4f173cdb3 Fix possible crash in ads preloading. 2024-11-29 10:33:29 +04:00
John Preston
03e4592082 Fix search in group/channel requests list. 2024-11-29 10:33:29 +04:00
John Preston
cf2dbe50a1 Fix crash in narrow column reactions view. 2024-11-29 10:33:29 +04:00
John Preston
e5bb5b75fe Fix crash in webview teardown on Windows. 2024-11-29 10:33:29 +04:00
23rd
cffce47eb1 Fixed emoji in chats filter tags. 2024-11-29 08:31:49 +03:00
23rd
ca0adba6cf Fixed pinned chats in chats filters.
Regression was introduced in e3465da979.
2024-11-28 22:08:22 +03:00
John Preston
8502b90c25 Beta version 5.8.4.
- Add option to show folder tags in chats list.
- Count group with topics as one chat in folder unread counter.
2024-11-28 21:10:45 +04:00
John Preston
cef43e7f06 Fix build with Xcode. 2024-11-28 21:10:45 +04:00
John Preston
18aaf3cc93 Fix build for MSVC. 2024-11-28 20:33:13 +04:00
John Preston
f13740cb7f Update lib_webview. 2024-11-28 20:27:35 +04:00
Daniel Novomeský
bddac79b40 Update kimageformats submodule 2024-11-28 20:26:18 +04:00
John Preston
e52baf555f Update video qualities list. 2024-11-28 20:21:26 +04:00
John Preston
475dec3014 Allow adding media to text with a link preview. 2024-11-28 20:21:26 +04:00
23rd
f2ed649694 Fixed focus capture from compose search widget. 2024-11-28 14:37:31 +03:00
23rd
e82506e0c4 Added ministars to button in service messages for premium requirements. 2024-11-28 12:28:12 +03:00
23rd
3071daa6f3 Replaced header style in statistics sections with classic subsections. 2024-11-27 15:58:54 +03:00
23rd
5d71286000 Fixed display of title in sponsored messages with shorter description. 2024-11-27 15:01:46 +03:00
23rd
339d7be9c1 Removed unused include directives from Application. 2024-11-27 14:38:06 +03:00
23rd
7f85494b1d Moved out UnreadState to td_ui. 2024-11-27 14:27:31 +03:00
23rd
a405794a03 Allowed to display of hundreds digit in unread badge of filters. 2024-11-27 12:25:18 +03:00
23rd
4e8e096fdb Removed display of corner badges in narrowed mode when entry has unread. 2024-11-27 12:22:33 +03:00
23rd
eb821c1f36 Improved display of unread badges in dialogs list with narrowed mode. 2024-11-27 11:58:34 +03:00
23rd
bf07b832f0 Replaced header in credits settings for credits history with subtitle. 2024-11-27 11:27:59 +03:00
23rd
5934614edb Fixed counting of unread topics from unread state in filters. 2024-11-27 11:27:59 +03:00
23rd
96b5c1d3d3 Added icons and color indices to dialogs menu to choose chats filters. 2024-11-27 11:27:59 +03:00
23rd
cb2972b145 Moved out fixing of ampersand from text in actions to single place. 2024-11-27 11:27:59 +03:00
23rd
cd5a1980c9 Fixed display of button for earn out when withdrawal is locked. 2024-11-27 11:27:59 +03:00
23rd
0e35107e17 Added ability to create new filter with selected dialog from menu. 2024-11-27 11:27:59 +03:00
23rd
10b026dfe0 Added ability to open peer in new window from short info box. 2024-11-27 11:27:59 +03:00
23rd
743c3c54a7 Added message counter to each peer in moderate box. 2024-11-27 11:27:59 +03:00
23rd
489c86dad8 Added ability to disable debug logs even for debug builds. 2024-11-27 11:27:59 +03:00
23rd
a9824fde91 Added right button for bots in list from recent dialogs. 2024-11-27 11:27:59 +03:00
23rd
6c62bbe6fb Added right button for bots in dialogs list in filtered mode. 2024-11-27 11:27:59 +03:00
23rd
8a3aa660cb Added initial implementation of right button for bots in dialogs list. 2024-11-27 11:27:59 +03:00
23rd
14cc7789d9 Allowed to choose filters from any profile of peers in chats list. 2024-11-27 11:27:59 +03:00
23rd
728d9a0993 Added ability to remove peer from chats filters when leave it. 2024-11-27 11:27:59 +03:00
23rd
aa8d543ed8 Fixed ability to remove peer from chats filter to make it empty. 2024-11-27 11:27:59 +03:00
23rd
b335981621 Removed duplicated search of correspond chat filter for tags in dialogs. 2024-11-27 11:27:59 +03:00
23rd
9d5ca1252a Added ability to pass preloaded chats filter tags toggle on logging in. 2024-11-27 11:27:59 +03:00
23rd
d5dbbd566f Fixed display tags with NoRead flag while history has fake unread state. 2024-11-27 11:27:59 +03:00
23rd
5362d54ab6 Fixed display of chats filter tag for active dialog rows. 2024-11-27 11:27:59 +03:00
23rd
1f162aa2a0 Fixed tags display when color of chats filter tag is toggled. 2024-11-27 11:27:59 +03:00
23rd
4a19f193ce Added float preview of color for chats filter to settings. 2024-11-27 11:27:59 +03:00
23rd
cfc40ee966 Added ability to set color for chats filter from settings. 2024-11-27 11:27:59 +03:00
23rd
6baba5a7b2 Added ability to disable chats filters tags from settings. 2024-11-27 11:27:59 +03:00
23rd
ba082081b3 Added api support for enabled tags of chats filters. 2024-11-27 11:27:59 +03:00
23rd
e314c68a56 Optimized height refresh of chats list for chat filters with rules. 2024-11-27 11:27:59 +03:00
23rd
889fcb3939 Optimized height refresh of non-main list on receiving chats filters. 2024-11-27 11:27:59 +03:00
23rd
632abd2225 Optimized height refresh of main list on receiving chats filters. 2024-11-27 11:27:59 +03:00
23rd
e3465da979 Switched order of data filter applying of changes from api. 2024-11-27 11:27:59 +03:00
23rd
f4523b2dba Added initial implementation of filter tags to dialog rows. 2024-11-27 11:27:59 +03:00
23rd
0d58b32914 Added ability to recount height of dialog rows by chats filter id. 2024-11-27 11:27:59 +03:00
23rd
aea2d34080 Added styles for dialog rows with tags. 2024-11-26 08:38:40 +03:00
23rd
d5dbde0a24 Added ability to cache filter colors in dialog entries. 2024-11-26 08:38:40 +03:00
23rd
f888008dc1 Removed counting of unread topics from unread state in filters. 2024-11-25 17:45:56 +03:00
23rd
021a5881c2 Improved display of history begin for channels with enabled auto-delete. 2024-11-23 14:10:04 +03:00
23rd
3e49b45418 Added chats filters list to each exception row in edit chats filter box. 2024-11-23 10:28:04 +03:00
23rd
23e22650f9 Added ability to choose filters for channel from its profile. 2024-11-23 10:28:04 +03:00
John Preston
85267a921e Version 5.8.3.
- Ctrl+Click on Reply in groups to reply in another chat.
- Fix freeze on forward messages box opening.
- Improve phrases in bot subscriptions.
- Several bugfixes.
2024-11-23 11:11:39 +04:00
John Preston
2c7089d47f Ctrl+Reply+Click replies in another chat. 2024-11-23 10:47:36 +04:00
John Preston
edc6cfe210 Replace non-started calls. 2024-11-23 10:04:55 +04:00
John Preston
03b6e2df17 Don't confirm each bot-url webapp open. 2024-11-23 09:37:26 +04:00
John Preston
5309138980 Support display of messageActionPaymentSentMe. 2024-11-23 09:36:09 +04:00
John Preston
a5e927ea4f Fix build for Windows. 2024-11-23 08:59:53 +04:00
23rd
ec83f4ae72 Removed unnecessary rebuild of chats filters strip when order is same. 2024-11-23 06:01:23 +03:00
23rd
71efd95136 Slightly shifted selection marks along x. 2024-11-23 05:28:36 +03:00
23rd
0c21eba1f8 Fixed display of preview for sticker packs. 2024-11-23 05:11:13 +03:00
23rd
2ae4e15f87 Fixed ability to copy transactions id from credits history entries.
Regression was introduced in 77e7796b3f.
2024-11-21 16:45:00 +04:00
23rd
d69905feae Added ability to subscribe again via slug from subscriptions list. 2024-11-21 16:45:00 +04:00
23rd
f795d56b2a Handled subscriptions list changes in settings section for credits. 2024-11-21 16:45:00 +04:00
23rd
4608ffcab4 Added weak pointer for rebuilder of subscription list to Data::Session. 2024-11-21 16:45:00 +04:00
23rd
9824df5f2a Added phrases for business subscriptions. 2024-11-21 16:45:00 +04:00
23rd
27a5ba4681 Added top close button to ReceiptCreditsBox. 2024-11-21 16:45:00 +04:00
23rd
73936dca73 Added mini stars to subscriptions with details in ReceiptCreditsBox. 2024-11-21 16:45:00 +04:00
23rd
213274e96c Replaced style of button to cancel subscription with hyper link. 2024-11-21 16:45:00 +04:00
23rd
7518361266 Improved style of ReceiptCreditsBox for subscription with detailed info. 2024-11-21 16:45:00 +04:00
23rd
f7aaece2f7 Extended width of ReceiptCreditsBox. 2024-11-21 16:45:00 +04:00
23rd
fbce06cb26 Added support of subscription status when it is cancelled by bot. 2024-11-21 16:45:00 +04:00
23rd
ccc0bf57a1 Added support of items with different heights in list of subscriptions. 2024-11-21 16:45:00 +04:00
23rd
ee29deee47 Improved display of detailed subscriptions in list of credits history. 2024-11-21 16:45:00 +04:00
23rd
17e54104a9 Added api support of subscription details. 2024-11-21 16:45:00 +04:00
23rd
479e369d29 Replaced list of credits subscriptions with peer list with widgets. 2024-11-21 16:45:00 +04:00
23rd
3042fb7299 Added initial very limited implementation of peer list with widgets. 2024-11-21 16:45:00 +04:00
23rd
36fa455aad Added third line to entries of list for credits history. 2024-11-21 16:45:00 +04:00
23rd
1c64e90537 Split creation of button for pagination in statistics lists. 2024-11-21 16:45:00 +04:00
23rd
09643aef82 Added support of credits subscriptions to send credits box. 2024-11-21 16:45:00 +04:00
23rd
03d9fb4115 Added api support of subscription period in credits invoices. 2024-11-21 16:45:00 +04:00
23rd
81bea04db0 Moved out peer bubble widget to separated file. 2024-11-21 16:45:00 +04:00
John Preston
9211e338e7 Fix tooltip render glitches on macOS. 2024-11-21 16:32:32 +04:00
John Preston
23464ac55f Don't repeat premium effect on chat reopen. 2024-11-21 13:13:06 +04:00
John Preston
af78e4ea29 Show scheduled limit error. 2024-11-21 13:10:59 +04:00
John Preston
e3d9216b10 Fix switch_inline_query with same_peer in topics.
Fixes #27290.
2024-11-21 11:41:46 +04:00
John Preston
9532a2e3da Fix emoji status set cancel.
Fixes #28674.
Fixes https://bugs.telegram.org/c/45691.
2024-11-21 10:01:31 +04:00
23rd
e70f50d837 Changed engine of chats filters in forward box with restoring state. 2024-11-20 16:37:49 +03:00
23rd
2dfa58aae2 Moved out some constant color indices to separated style file. 2024-11-20 16:37:49 +03:00
John Preston
c04f68f25c Version 5.8.2.
- Improve bottom label color in mini apps.
- Fix some fullscreen issues in mini apps.
- Fix miss-order of archived chats in forward box.
- Fix file dialog for Windows on ARM.
- Fix emoji status pack view from profile regression.
2024-11-19 14:32:15 +04:00
John Preston
e4902efefc Improve fullscreen miniapps on Linux. 2024-11-19 14:24:25 +04:00
John Preston
1267bcd255 Use separate window buttons only with QWindowContainer. 2024-11-19 13:16:54 +04:00
John Preston
0659ccc3f0 Fix user-driven fullscreen change on macOS. 2024-11-19 12:25:27 +04:00
23rd
bd2ae03ab4 Fixed display of long text for open button in web page views. 2024-11-19 10:39:40 +04:00
23rd
244696ae24 Fixed miss-order of archived dialogs in forward box. 2024-11-19 10:39:39 +04:00
John Preston
1438046dd4 Improve bottom label color in mini apps. 2024-11-19 10:37:47 +04:00
John Preston
5c62ba0835 Don't reopen forum on opening a link. 2024-11-18 16:37:22 +04:00
John Preston
20fadfef7f Fix file dialog for Windows on ARM. 2024-11-18 16:01:15 +04:00
John Preston
eed9541f9f Fix Withdraw button text. 2024-11-18 14:25:24 +04:00
John Preston
1594afa389 Fix emoji status pack view regression. 2024-11-18 14:17:01 +04:00
John Preston
9d74d93ed7 Fix some warnings from PVS-Studio.
Fixes #28667.

Some warnings fixed detailed in this post:
https://pvs-studio.com/en/blog/posts/cpp/1186/
2024-11-18 12:50:36 +04:00
John Preston
e4e2f47f8e Adjust build script for Windows Store ARM version. 2024-11-18 01:28:36 +04:00
John Preston
be53bec9b7 Version 5.8.1.
- Fix several possible crashes.
2024-11-17 23:33:45 +04:00
John Preston
bb32c546d4 Fix possible crash in swipe to reply. 2024-11-17 23:24:08 +04:00
John Preston
ecb4ceec7b Fix possible crash in phone click handler. 2024-11-17 23:21:16 +04:00
John Preston
c080bd4c4d Don't resubscribe on folder strip rebuild. 2024-11-17 23:09:42 +04:00
John Preston
39780f49bf Fix folder context menu Remove text color. 2024-11-17 23:00:46 +04:00
John Preston
73349c3c89 Fix crash in chats strip reorder. 2024-11-17 22:52:52 +04:00
John Preston
42a70ff7d0 Fix crash with inline results sending. 2024-11-17 22:41:52 +04:00
John Preston
fa8262cbe9 Version 5.8.
- Updates in Mini Apps platform.
- Chat folders in forward and share boxes.
- Horizontal strip mode for chat folders.
2024-11-17 16:05:22 +04:00
John Preston
7552328cdd Multi-select in mini app send prepared. 2024-11-17 15:08:17 +04:00
John Preston
60f4587d95 Sort birthday gifts to the front. 2024-11-17 15:08:17 +04:00
John Preston
572c074c42 Add gifts-to-profile privacy. 2024-11-17 15:08:17 +04:00
John Preston
3cfbd6a93b Support non-convertible star gifts from bots. 2024-11-17 15:08:16 +04:00
John Preston
d0911b6a45 Send to buy premium from miniapps emoji status. 2024-11-17 15:08:16 +04:00
John Preston
06b85442f8 Fix miniapp downloads in fullscreen. 2024-11-17 15:08:16 +04:00
John Preston
762592daff Allow RTMP for manage call admins. 2024-11-17 15:08:16 +04:00
John Preston
338122793c Implement bot downloads list UI. 2024-11-17 15:08:16 +04:00
John Preston
ef521624a0 Check file by server before downloading. 2024-11-17 15:08:16 +04:00
John Preston
341ab781b2 Implement download of files in miniapps. 2024-11-17 15:08:16 +04:00
John Preston
2fed657940 Make nice share message from miniapp. 2024-11-17 15:08:16 +04:00
John Preston
7bf78b3317 Use initial bot web app header/body colors. 2024-11-17 15:08:16 +04:00
John Preston
2d1fb0562d Prepared messages sharing from miniapp. 2024-11-17 15:08:16 +04:00
John Preston
3d77bff0c9 Support bot emoji status access. 2024-11-17 15:08:15 +04:00
John Preston
4198203a7f Implement emoji status set from miniapps. 2024-11-17 15:08:15 +04:00
John Preston
21487641c1 Support miniapp fullscreen API. 2024-11-17 15:08:15 +04:00
John Preston
c987872be8 Start fullscreen support in SeparatePanel. 2024-11-17 15:08:15 +04:00
John Preston
07e367e1a0 Update API scheme to layer 193. 2024-11-17 15:08:15 +04:00
23rd
db2e45c56e Added ability to go to top of chats list by clicking on selected filter. 2024-11-17 13:43:19 +03:00
23rd
67bbdbfc70 Added ability to change userpic with image from clipboard. 2024-11-17 13:27:57 +03:00
23rd
83df3cba66 Added debug logs for changing chats filters from context menu. 2024-11-17 13:27:57 +03:00
John Preston
f4e2b4bcbd Don't drop the old state of "systemDarkModeEnabled". 2024-11-17 14:07:22 +04:00
Ilya Fedin
6c64c22f83 Don't expand minimum window size for folders
Turn them into horizontal automatically instead
2024-11-17 14:04:27 +04:00
John Preston
702aa944dd Move read/reacted list to a layer. 2024-11-17 14:03:29 +04:00
John Preston
df45edd816 Move channel requests to a layer. 2024-11-17 14:03:29 +04:00
23rd
3f3143514e Added attention style to menu item to delete chats filter. 2024-11-17 11:20:02 +03:00
23rd
3e89910749 Replaced user info with short box for admins in section of kicked users. 2024-11-17 10:46:12 +03:00
23rd
721a642a2f Added date to info who promoted or restricted participants in menu. 2024-11-17 10:40:35 +03:00
23rd
d16ccc9dc5 Fixed display of chats filters strip on removing last chats filter. 2024-11-17 01:52:12 +03:00
23rd
77e7796b3f Fit transactions id from credits history entries to table cell. 2024-11-16 14:43:34 +03:00
23rd
983c949e8c Added ability to provide preloaded credits topup options to list. 2024-11-16 11:39:47 +03:00
23rd
e3f4f60e2d Replaced list of credits topup options with big label in settings. 2024-11-16 11:39:47 +03:00
23rd
33aa904cb7 Added shortcuts to flip photos in media viewer. 2024-11-16 11:39:40 +03:00
23rd
0248be5543 Removed from display extended credits topup options by default. 2024-11-16 07:34:08 +03:00
23rd
f7ca8212aa Moved out down arrow icon of "Show More" button to single place. 2024-11-16 07:34:02 +03:00
23rd
5eb59a1a43 Improved style of tabs for boost gifts in boosts section. 2024-11-16 06:27:07 +03:00
John Preston
7dd1e9bfbe Beta version 5.7.4: Revert accident submodules. 2024-11-16 00:04:20 +04:00
John Preston
067fd25a34 Beta version 5.7.4.
- Enable auto night mode by default.
- Use muted chats folder badge in horizontal strip.
- Fix custom userpic context menu in comments and topics.
- Fix scrolling of chats folders together with the list.
- Fix chats folders list disappearing in some cases.
- Fix topic groups in share box with chats folders.
- Fix bot commands list in some groups.
- Fix crash in channel short info box display.
- Fix crash in bot monetization section opening.
- Fix crash in bot sponsored messages destruction.
2024-11-15 23:59:52 +04:00
John Preston
7cb26ba104 Fix crash in possible ads teardown. 2024-11-15 23:53:59 +04:00
John Preston
a4212cc865 Fix point state detection on media messages. 2024-11-15 23:53:59 +04:00
John Preston
0445f7d6e8 Enable auto-night-mode by default. 2024-11-15 23:53:59 +04:00
John Preston
efe99b3f62 Fix special userpic menu in topics. 2024-11-15 23:53:59 +04:00
23rd
7f2c98f17a Fixed mouse events in chats filters strip with inner padding. 2024-11-15 22:47:39 +03:00
23rd
8f1d215851 Fixed rebuild of chats filters in strip when premium status is changed. 2024-11-15 22:47:39 +03:00
23rd
013b58f6f6 Fixed display of forums in share box with applied chats filter. 2024-11-15 20:04:42 +03:00
23rd
9d3b3476c2 Fixed display of chats filters strip in new windows. 2024-11-15 11:00:35 +03:00
23rd
715874a98f Slightly improved phrase for no results in forward box. 2024-11-15 11:00:30 +03:00
23rd
d2109dd2cb Replaced outer padding for chats filters strip with inner padding. 2024-11-15 11:00:26 +03:00
23rd
ddaf11ed6a Improved style of sponsored messages with media with max width. 2024-11-15 11:00:14 +03:00
23rd
2b5f68003d Fixed pagination of subscriptions in list. 2024-11-15 11:00:07 +03:00
23rd
1a759cc4e7 Fixed crash from short info box for non-users. 2024-11-15 10:59:40 +03:00
23rd
9e83562bf4 Fixed display of pinned chats from main list in forward box. 2024-11-15 10:57:08 +03:00
23rd
c03c19d26f Slightly improved style of chats lists strip in boxes. 2024-11-15 10:57:08 +03:00
23rd
ad9ebdf8e6 Fixed propagation scroll from chats filters strip to chats list. 2024-11-15 10:57:08 +03:00
23rd
9c1701c62a Added support of muted chats filters to chats filters strip. 2024-11-15 10:57:08 +03:00
23rd
edf6c42e9d Added short variant of unfiltered chats list to chats filters strip. 2024-11-15 10:57:08 +03:00
23rd
f0f2a71a87 Fixed disappearing of chats filters strip in forward box after search. 2024-11-15 10:57:08 +03:00
23rd
cf270bd9ce Removed chats filters strip from forum layout. 2024-11-15 10:57:08 +03:00
23rd
49223a4688 Fixed possible crash for bot owners in earn section for bots. 2024-11-15 10:57:08 +03:00
ziplantil
074bb1e66e Fix bug in ChatBotCommands::update when commands empty (#28631) 2024-11-14 11:35:57 +04:00
1067 changed files with 74848 additions and 16707 deletions

105
.cursor/rules/api_usage.mdc Normal file
View File

@@ -0,0 +1,105 @@
---
description: For tasks requiring sending Telegram server API requests or working with generated API types.
globs:
alwaysApply: false
---
# Telegram Desktop API Usage
## API Schema
The API definitions are described using [TL Language]\(https:/core.telegram.org/mtproto/TL) in two main schema files:
1. **`Telegram/SourceFiles/mtproto/scheme/mtproto.tl`**
* Defines the core MTProto protocol types and methods used for basic communication, encryption, authorization, service messages, etc.
* Some fundamental types and methods from this schema (like basic types, RPC calls, containers) are often implemented directly in the C++ MTProto core (`SourceFiles/mtproto/`) and may be skipped during the C++ code generation phase.
* Other parts of `mtproto.tl` might still be processed by the code generator.
2. **`Telegram/SourceFiles/mtproto/scheme/api.tl`**
* Defines the higher-level Telegram API layer, including all the methods and types related to chat functionality, user profiles, messages, channels, stickers, etc.
* This is the primary schema used when making functional API requests within the application.
Both files use the same TL syntax to describe API methods (functions) and types (constructors).
## Code Generation
A custom code generation tool processes `api.tl` (and parts of `mtproto.tl`) to create corresponding C++ classes and types. These generated headers are typically included via the Precompiled Header (PCH) for the main `Telegram` project.
Generated types often follow the pattern `MTP[Type]` (e.g., `MTPUser`, `MTPMessage`) and methods correspond to functions within the `MTP` namespace or related classes (e.g., `MTPmessages_SendMessage`).
## Making API Requests
API requests are made using a standard pattern involving the `api()` object (providing access to the `MTP::Instance`), the generated `MTP...` request object, callback handlers for success (`.done()`) and failure (`.fail()`), and the `.send()` method.
Here's the general structure:
```cpp
// Include necessary headers if not already in PCH
// Obtain the API instance (usually via api() or MTP::Instance::Get())
api().request(MTPnamespace_MethodName(
// Constructor arguments based on the api.tl definition for the method
MTP_flags(flags_value), // Use MTP_flags if the method has flags
MTP_inputPeer(peer), // Use MTP_... types for parameters
MTP_string(messageText),
MTP_long(randomId),
// ... other arguments matching the TL definition
MTP_vector<MTPMessageEntity>() // Example for a vector argument
)).done([=]\(const MTPResponseType &result) {
// Handle the successful response (result).
// 'result' will be of the C++ type corresponding to the TL type
// specified after the '=' in the api.tl method definition.
// How to access data depends on whether the TL type has one or multiple constructors:
// 1. Multiple Constructors (e.g., User = User | UserEmpty):
// Use .match() with lambdas for each constructor:
result.match([&]\(const MTPDuser &data) {
/* use data.vfirst_name().v, etc. */
}, [&]\(const MTPDuserEmpty &data) {
/* handle empty user */
});
// Alternatively, check the type explicitly and use the constructor getter:
if (result.type() == mtpc_user) {
const auto &data = result.c_user(); // Asserts if type is not mtpc_user!
// use data.vfirst_name().v
} else if (result.type() == mtpc_userEmpty) {
const auto &data = result.c_userEmpty();
// handle empty user
}
// 2. Single Constructor (e.g., Messages = messages { msgs: vector<Message> }):
// Use .match() with a single lambda:
result.match([&]\(const MTPDmessages &data) { /* use data.vmessages().v */ });
// Or check the type explicitly and use the constructor getter:
if (result.type() == mtpc_messages) {
const auto &data = result.c_messages(); // Asserts if type is not mtpc_messages!
// use data.vmessages().v
}
// Or use the shortcut .data() for single-constructor types:
const auto &data = result.data(); // Only works for single-constructor types!
// use data.vmessages().v
}).fail([=]\(const MTP::Error &error) {
// Handle the API error (error).
// 'error' is an MTP::Error object containing the error code (error.type())
// and description (error.description()). Check for specific error strings.
if (error.type() == u"FLOOD_WAIT_X"_q) {
// Handle flood wait
} else {
Ui::show(Box<InformBox>(Lang::Hard::ServerError())); // Example generic error handling
}
}).handleFloodErrors().send(); // handleFloodErrors() is common, then send()
```
**Key Points:**
* Always refer to `Telegram/SourceFiles/mtproto/scheme/api.tl` for the correct method names, parameters (names and types), and response types.
* Use the generated `MTP...` types/classes for request parameters (e.g., `MTP_int`, `MTP_string`, `MTP_bool`, `MTP_vector`, `MTPInputUser`, etc.) and response handling.
* The `.done()` lambda receives the specific C++ `MTP...` type corresponding to the TL return type.
* For types with **multiple constructors** (e.g., `User = User | UserEmpty`), use `result.match([&]\(const MTPDuser &d){ ... }, [&]\(const MTPDuserEmpty &d){ ... })` to handle each case, or check `result.type() == mtpc_user` / `mtpc_userEmpty` and call the specific `result.c_user()` / `result.c_userEmpty()` getter (which asserts on type mismatch).
* For types with a **single constructor** (e.g., `Messages = messages{...}`), you can use `result.match([&]\(const MTPDmessages &d){ ... })` with one lambda, or check `type()` and call `c_messages()`, or use the shortcut `result.data()` to access the fields directly.
* The `.fail()` lambda receives an `MTP::Error` object. Check `error.type()` against known error strings (often defined as constants or using `u"..."_q` literals).
* Directly construct the `MTPnamespace_MethodName(...)` object inside `request()`.
* Include `.handleFloodErrors()` before `.send()` for standard flood wait handling.

View File

@@ -0,0 +1,164 @@
---
description: For tasks requiring changing or adding user facing phrases and text parts.
globs:
alwaysApply: false
---
# Telegram Desktop Localization
## Coding Style Note
**Use `auto`:** In the actual codebase, variable types are almost always deduced using `auto` (or `const auto`, `const auto &`) rather than being written out explicitly. Examples in this guide may use explicit types for clarity, but prefer `auto` in practice.
```cpp
// Prefer this:
auto currentTitle = tr::lng_settings_title(tr::now);
auto nameProducer = GetNameProducer(); // Returns rpl::producer<...>
// Instead of this:
QString currentTitle = tr::lng_settings_title(tr::now);
rpl::producer<QString> nameProducer = GetNameProducer();
```
## String Resource File
Base user-facing English strings are defined in the `lang.strings` file:
`Telegram/Resources/langs/lang.strings`
This file uses a key-value format with named placeholders:
```
"lng_settings_title" = "Settings";
"lng_confirm_delete_item" = "Are you sure you want to delete {item_name}?";
"lng_files_selected" = "{count} files selected"; // Simple count example (see Pluralization)
```
Placeholders are enclosed in curly braces, e.g., `{name}`, `{user}`. A special placeholder `{count}` is used for pluralization rules.
### Pluralization
For keys that depend on a number (using the `{count}` placeholder), English typically requires two forms: singular and plural. These are defined in `lang.strings` using `#one` and `#other` suffixes:
```
"lng_files_selected#one" = "{count} file selected";
"lng_files_selected#other" = "{count} files selected";
```
While only `#one` and `#other` are defined in the base `lang.strings`, the code generation process creates C++ accessors for all six CLDR plural categories (`#zero`, `#one`, `#two`, `#few`, `#many`, `#other`) to support languages with more complex pluralization rules.
## Translation Process
While `lang.strings` provides the base English text and the keys, the actual translations are managed via Telegram's translations platform (translations.telegram.org) and loaded dynamically at runtime from the API. The keys from `lang.strings` (including the `#one`/`#other` variants) are used on the platform.
## Code Generation
A code generation tool processes `lang.strings` to create C++ structures and accessors within the `tr` namespace. These allow type-safe access to strings and handling of placeholders and pluralization. Generated keys typically follow the pattern `tr::lng_key_name`.
## String Usage in Code
Strings are accessed in C++ code using the generated objects within the `tr::` namespace. There are two main ways to use them: reactively (returning an `rpl::producer`) or immediately (returning the current value).
### 1. Reactive Usage (rpl::producer)
Calling a generated string function directly returns a reactive producer, typically `rpl::producer<QString>`. This producer automatically updates its value whenever the application language changes.
```cpp
// Key: "settings_title" = "Settings";
auto titleProducer = tr::lng_settings_title(); // Type: rpl::producer<QString>
// Key: "confirm_delete_item" = "Are you sure you want to delete {item_name}?";
auto itemNameProducer = /* ... */; // Type: rpl::producer<QString>
auto confirmationProducer = tr::lng_confirm_delete_item( // Type: rpl::producer<QString>
tr::now, // NOTE: tr::now is NOT passed here for reactive result
lt_item_name,
std::move(itemNameProducer)); // Placeholder producers should be moved
```
### 2. Immediate Usage (Current Value)
Passing `tr::now` as the first argument retrieves the string's current value in the active language (typically as a `QString`).
```cpp
// Key: "settings_title" = "Settings";
auto currentTitle = tr::lng_settings_title(tr::now); // Type: QString
// Key: "confirm_delete_item" = "Are you sure you want to delete {item_name}?";
const auto currentItemName = QString("My Document"); // Type: QString
auto currentConfirmation = tr::lng_confirm_delete_item( // Type: QString
tr::now, // Pass tr::now for immediate value
lt_item_name, currentItemName); // Placeholder value is a direct QString (or convertible)
```
### 3. Placeholders (`{tag}`)
Placeholders like `{item_name}` are replaced by providing arguments after `tr::now` (for immediate) or as the initial arguments (for reactive). A corresponding `lt_tag_name` constant is passed before the value.
* **Immediate:** Pass the direct value (e.g., `QString`, `int`).
* **Reactive:** Pass an `rpl::producer` of the corresponding type (e.g., `rpl::producer<QString>`). Remember to `std::move` the producer or use `rpl::duplicate` if you need to reuse the original producer afterwards.
### 4. Pluralization (`{count}`)
Keys using `{count}` require a numeric value for the `lt_count` placeholder. The correct plural form (`#zero`, `#one`, ..., `#other`) is automatically selected based on this value and the current language rules.
* **Immediate (`tr::now`):** Pass a `float64` or `int` (which is auto-converted to `float64`).
```cpp
int count = 1;
auto filesText = tr::lng_files_selected(tr::now, lt_count, count); // Type: QString
count = 5;
filesText = tr::lng_files_selected(tr::now, lt_count, count); // Uses "files_selected#other"
```
* **Reactive:** Pass an `rpl::producer<float64>`. Use the `tr::to_count()` helper to convert an `rpl::producer<int>` or wrap a single value.
```cpp
// From an existing int producer:
auto countProducer = /* ... */; // Type: rpl::producer<int>
auto filesTextProducer = tr::lng_files_selected( // Type: rpl::producer<QString>
lt_count,
countProducer | tr::to_count()); // Use tr::to_count() for conversion
// From a single int value wrapped reactively:
int currentCount = 5;
auto filesTextProducerSingle = tr::lng_files_selected( // Type: rpl::producer<QString>
lt_count,
rpl::single(currentCount) | tr::to_count());
// Alternative for single values (less common): rpl::single(currentCount * 1.)
```
### 5. Custom Projectors
An optional final argument can be a projector function (like `Ui::Text::Upper` or `Ui::Text::WithEntities`) to transform the output.
* If the projector returns `OutputType`, the string function returns `OutputType` (immediate) or `rpl::producer<OutputType>` (reactive).
* Placeholder values must match the projector's *input* requirements. For `Ui::Text::WithEntities`, placeholders expect `TextWithEntities` (immediate) or `rpl::producer<TextWithEntities>` (reactive).
```cpp
// Immediate with Ui::Text::WithEntities projector
// Key: "user_posted_photo" = "{user} posted a photo";
const auto userName = TextWithEntities{ /* ... */ }; // Type: TextWithEntities
auto message = tr::lng_user_posted_photo( // Type: TextWithEntities
tr::now,
lt_user,
userName, // Must be TextWithEntities
Ui::Text::WithEntities); // Projector
// Reactive with Ui::Text::WithEntities projector
auto userNameProducer = /* ... */; // Type: rpl::producer<TextWithEntities>
auto messageProducer = tr::lng_user_posted_photo( // Type: rpl::producer<TextWithEntities>
lt_user,
std::move(userNameProducer), // Move placeholder producers
Ui::Text::WithEntities); // Projector
```
## Key Summary
* Keys are defined in `Resources/langs/lang.strings` using `{tag}` placeholders.
* Plural keys use `{count}` and have `#one`/`#other` variants in `lang.strings`.
* Access keys via `tr::lng_key_name(...)` in C++.
* Call with `tr::now` as the first argument for the immediate `QString` (or projected type).
* Call without `tr::now` for the reactive `rpl::producer<QString>` (or projected type).
* Provide placeholder values (`lt_tag_name, value`) matching the usage (direct value for immediate, `rpl::producer` for reactive). Producers should typically be moved via `std::move`.
* For `{count}`:
* Immediate: Pass `int` or `float64`.
* Reactive: Pass `rpl::producer<float64>`, typically by converting an `int` producer using `| tr::to_count()`.
* Optional projector function as the last argument modifies the output type and required placeholder types.
* Actual translations are loaded at runtime from the API.

216
.cursor/rules/rpl_guide.mdc Normal file
View File

@@ -0,0 +1,216 @@
---
description:
globs:
alwaysApply: true
---
# RPL (Reactive Programming Library) Guide
## Coding Style Note
**Use `auto`:** In the actual codebase, variable types are almost always deduced using `auto` (or `const auto`, `const auto &`) rather than being written out explicitly. Examples in this guide may use explicit types for clarity, but prefer `auto` in practice.
```cpp
// Prefer this:
auto intProducer = rpl::single(123);
const auto &lifetime = existingLifetime;
// Instead of this:
rpl::producer<int> intProducer = rpl::single(123);
const rpl::lifetime &lifetime = existingLifetime;
// Sometimes needed if deduction is ambiguous or needs help:
auto user = std::make_shared<UserData>();
auto data = QByteArray::fromHex("...");
```
## Introduction
RPL is the reactive programming library used in this project, residing in the `rpl::` namespace. It allows handling asynchronous streams of data over time.
The core concept is the `rpl::producer`, which represents a stream of values that can be generated over a certain lifetime.
## Producers: `rpl::producer<Type, Error = no_error>`
The fundamental building block is `rpl::producer<Type, Error>`. It produces values of `Type` and can optionally signal an error of type `Error`. By default, `Error` is `rpl::no_error`, indicating that the producer does not explicitly handle error signaling through this mechanism.
```cpp
// A producer that emits integers.
auto intProducer = /* ... */; // Type: rpl::producer<int>
// A producer that emits strings and can potentially emit a CustomError.
auto stringProducerWithError = /* ... */; // Type: rpl::producer<QString, CustomError>
```
Producers are typically lazy; they don't start emitting values until someone subscribes to them.
## Lifetime Management: `rpl::lifetime`
Reactive pipelines have a limited duration, managed by `rpl::lifetime`. An `rpl::lifetime` object essentially holds a collection of cleanup callbacks. When the lifetime ends (either explicitly destroyed or goes out of scope), these callbacks are executed, tearing down the associated pipeline and freeing resources.
```cpp
rpl::lifetime myLifetime;
// ... later ...
// myLifetime is destroyed, cleanup happens.
// Or, pass a lifetime instance to manage a pipeline's duration.
rpl::lifetime &parentLifetime = /* ... get lifetime from context ... */;
```
## Starting a Pipeline: `rpl::start_...`
To consume values from a producer, you start a pipeline using one of the `rpl::start_...` methods. These methods subscribe to the producer and execute callbacks for the events they handle.
The most common method is `rpl::start_with_next`:
```cpp
auto counter = /* ... */; // Type: rpl::producer<int>
rpl::lifetime lifetime;
// Counter is consumed here, use std::move if it's an l-value.
std::move(
counter
) | rpl::start_with_next([=]\(int nextValue) {
// Process the next integer value emitted by the producer.
qDebug() << "Received: " << nextValue;
}, lifetime); // Pass the lifetime to manage the subscription.
// Note: `counter` is now in a moved-from state and likely invalid.
// If you need to start the same producer multiple times, duplicate it:
// rpl::duplicate(counter) | rpl::start_with_next(...);
// If you DON'T pass a lifetime to a start_... method:
auto counter2 = /* ... */; // Type: rpl::producer<int>
rpl::lifetime subscriptionLifetime = std::move(
counter2
) | rpl::start_with_next([=]\(int nextValue) { /* ... */ });
// The returned lifetime MUST be stored. If it's discarded immediately,
// the subscription stops instantly.
// `counter2` is also moved-from here.
```
Other variants allow handling errors (`_error`) and completion (`_done`):
```cpp
auto dataStream = /* ... */; // Type: rpl::producer<QString, Error>
rpl::lifetime lifetime;
// Assuming dataStream might be used again, we duplicate it for the first start.
// If it's the only use, std::move(dataStream) would be preferred.
rpl::duplicate(
dataStream
) | rpl::start_with_error([=]\(Error &&error) {
// Handle the error signaled by the producer.
qDebug() << "Error: " << error.text();
}, lifetime);
// Using dataStream again, perhaps duplicated again or moved if last use.
rpl::duplicate(
dataStream
) | rpl::start_with_done([=] {
// Execute when the producer signals it's finished emitting values.
qDebug() << "Stream finished.";
}, lifetime);
// Last use of dataStream, so we move it.
std::move(
dataStream
) | rpl::start_with_next_error_done(
[=]\(QString &&value) { /* handle next value */ },
[=]\(Error &&error) { /* handle error */ },
[=] { /* handle done */ },
lifetime);
```
## Transforming Producers
RPL provides functions to create new producers by transforming existing ones:
* `rpl::map`: Transforms each value emitted by a producer.
```cpp
auto ints = /* ... */; // Type: rpl::producer<int>
// The pipe operator often handles the move implicitly for chained transformations.
auto strings = std::move(
ints // Explicit move is safer
) | rpl::map([](int value) {
return QString::number(value * 2);
}); // Emits strings like "0", "2", "4", ...
```
* `rpl::filter`: Emits only the values from a producer that satisfy a condition.
```cpp
auto ints = /* ... */; // Type: rpl::producer<int>
auto evenInts = std::move(
ints // Explicit move is safer
) | rpl::filter([](int value) {
return (value % 2 == 0);
}); // Emits only even numbers.
```
## Combining Producers
You can combine multiple producers into one:
* `rpl::combine`: Combines the latest values from multiple producers whenever *any* of them emits a new value. Requires all producers to have emitted at least one value initially.
While it produces a `std::tuple`, subsequent operators like `map`, `filter`, and `start_with_next` can automatically unpack this tuple into separate lambda arguments.
```cpp
auto countProducer = rpl::single(1); // Type: rpl::producer<int>
auto textProducer = rpl::single(u"hello"_q); // Type: rpl::producer<QString>
rpl::lifetime lifetime;
// rpl::combine takes producers by const-ref internally and duplicates,
// so move/duplicate is usually not strictly needed here unless you
// want to signal intent or manage the lifetime of p1/p2 explicitly.
auto combined = rpl::combine(
countProducer, // or rpl::duplicate(countProducer)
textProducer // or rpl::duplicate(textProducer)
);
// Starting the combined producer consumes it.
// The lambda receives unpacked arguments, not the tuple itself.
std::move(
combined
) | rpl::start_with_next([=]\(int count, const QString &text) {
// No need for std::get<0>(latest), etc.
qDebug() << "Combined: Count=" << count << ", Text=" << text;
}, lifetime);
// This also works with map, filter, etc.
std::move(
combined
) | rpl::filter([=]\(int count, const QString &text) {
return count > 0 && !text.isEmpty();
}) | rpl::map([=]\(int count, const QString &text) {
return text.repeated(count);
}) | rpl::start_with_next([=]\(const QString &result) {
qDebug() << "Mapped & Filtered: " << result;
}, lifetime);
```
* `rpl::merge`: Merges the output of multiple producers of the *same type* into a single producer. It emits a value whenever *any* of the source producers emits a value.
```cpp
auto sourceA = /* ... */; // Type: rpl::producer<QString>
auto sourceB = /* ... */; // Type: rpl::producer<QString>
// rpl::merge also duplicates internally.
auto merged = rpl::merge(sourceA, sourceB);
// Starting the merged producer consumes it.
std::move(
merged
) | rpl::start_with_next([=]\(QString &&value) {
// Receives values from either sourceA or sourceB as they arrive.
qDebug() << "Merged value: " << value;
}, lifetime);
```
## Key Concepts Summary
* Use `rpl::producer<Type, Error>` to represent streams of values.
* Manage subscription duration using `rpl::lifetime`.
* Pass `rpl::lifetime` to `rpl::start_...` methods.
* If `rpl::lifetime` is not passed, **store the returned lifetime** to keep the subscription active.
* Use operators like `| rpl::map`, `| rpl::filter` to transform streams.
* Use `rpl::combine` or `rpl::merge` to combine streams.
* When starting a chain (`std::move(producer) | rpl::map(...)`), explicitly move the initial producer.
* These functions typically duplicate their input producers internally.
* Starting a pipeline consumes the producer; use `

154
.cursor/rules/styling.mdc Normal file
View File

@@ -0,0 +1,154 @@
---
description: For tasks requiring working with user facing UI components.
globs:
alwaysApply: false
---
# Telegram Desktop UI Styling
## Style Definition Files
UI element styles (colors, fonts, paddings, margins, icons, etc.) are defined in `.style` files using a custom syntax. These files are located alongside the C++ source files they correspond to within specific UI component directories (e.g., `Telegram/SourceFiles/ui/chat/chat.style`).
Definitions from other `.style` files can be included using the `using` directive at the top of the file:
```style
using "ui/basic.style";
using "ui/widgets/widgets.style";
```
The central definition of named colors happens in `Telegram/SourceFiles/ui/colors.palette`. This file allows for theme generation and loading colors from various sources.
### Syntax Overview
1. **Built-in Types:** The syntax recognizes several base types inferred from the value assigned:
* `int`: Integer numbers (e.g., `lineHeight: 20;`)
* `bool`: Boolean values (e.g., `useShadow: true;`)
* `pixels`: Pixel values, ending with `px` (e.g., `borderWidth: 1px;`). Generated as `int` in C++.
* `color`: Named colors defined in `colors.palette` (e.g., `background: windowBg;`)
* `icon`: Defined inline using a specific syntax (see below). Generates `style::icon`.
* `margins`: Four pixel values for margins or padding. Requires `margins(top, right, bottom, left)` syntax (e.g., `margin: margins(10px, 5px, 10px, 5px);` or `padding: margins(8px, 8px, 8px, 8px);`). Generates `style::margins` (an alias for `QMargins`).
* `size`: Two pixel values for width and height (e.g., `iconSize: size(16px, 16px);`). Generates `style::size`.
* `point`: Two pixel values for x and y coordinates (e.g., `textPos: point(5px, 2px);`). Generates `style::point`.
* `align`: Alignment keywords (e.g., `textAlign: align(center);` or `iconAlign: align(left);`). Generates `style::align`.
* `font`: Font definitions (e.g., `font: font(14px semibold);`). Generates `style::font`.
* `double`: Floating point numbers (e.g., `disabledOpacity: 0.5;`)
*Note on Borders:* Borders are typically defined using multiple fields like `border: pixels;` (for width) and `borderFg: color;` (for color), rather than a single CSS-like property.
2. **Structure Definition:** You can define complex data structures directly within the `.style` file:
```style
MyButtonStyle { // Defines a structure named 'MyButtonStyle'
textPadding: margins; // Field 'textPadding' expects margins type
icon: icon; // Field 'icon' of type icon
height: pixels; // Field 'height' of type pixels
}
```
This generates a `struct MyButtonStyle { ... };` inside the `namespace style`. Fields will have corresponding C++ types (`style::margins`, `style::icon`, `int`).
3. **Variable Definition & Inheritance:** Variables are defined using `name: value;` or `groupName { ... }`. They can be of built-in types or custom structures. Structures can be initialized inline or inherit from existing variables.
**Icon Definition Syntax:** Icons are defined inline using the `icon{...}` syntax. The generator probes for `.svg` files or `.png` files (including `@2x`, `@3x` variants) based on the provided path stem.
```style
// Single-part icon definition:
myIconSearch: icon{{ "gui/icons/search", iconColor }};
// Multi-part icon definition (layers drawn bottom-up):
myComplexIcon: icon{
{ "gui/icons/background", iconBgColor },
{ "gui/icons/foreground", iconFgColor }
};
// Icon with path modifiers (PNG only for flips, SVG only for size):
myFlippedIcon: icon{{ "gui/icons/arrow-flip_horizontal", arrowColor }};
myResizedIcon: icon{{ "gui/icons/logo-128x128", logoColor }}; // Forces 128x128 for SVG
```
**Other Variable Examples:**
```style
// Simple variables
buttonHeight: 30px;
activeButtonColor: buttonBgActive; // Named color from colors.palette
// Variable of a custom structure type, initialized inline
defaultButton: MyButtonStyle {
textPadding: margins(10px, 15px, 10px, 15px); // Use margins(...) syntax
icon: myIconSearch; // Assign the previously defined icon variable
height: buttonHeight; // Reference another variable
}
// Another variable inheriting from 'defaultButton' and overriding/adding fields
primaryButton: MyButtonStyle(defaultButton) {
icon: myComplexIcon; // Override icon with the multi-part one
backgroundColor: activeButtonColor; // Add a field not in MyButtonStyle definition
}
// Style group (often used for specific UI elements)
chatInput { // Example using separate border properties and explicit padding
border: 1px; // Border width
borderFg: defaultInputFieldBorder; // Border color (named color)
padding: margins(5px, 10px, 5px, 10px); // Use margins(...) syntax for padding field
backgroundColor: defaultChatBg; // Background color
}
```
## Code Generation
A code generation tool processes these `.style` files and `colors.palette` to create C++ objects.
- The `using` directives resolve dependencies between `.style` files.
- Custom structure definitions (like `MyButtonStyle`) generate corresponding `struct MyButtonStyle { ... };` within the `namespace style`.
- Style variables/groups (like `defaultButton`, `primaryButton`, `chatInput`) are generated as objects/structs within the `st` namespace (e.g., `st::defaultButton`, `st::primaryButton`, `st::chatInput`). These generated structs contain members corresponding to the fields defined in the `.style` file.
- Color objects are generated into the `st` namespace as well, based on their names in `colors.palette` (e.g., `st::windowBg`, `st::buttonBgActive`).
- The generated header files for styles are placed in the `Telegram/SourceFiles/styles/` directory with a `style_` prefix (e.g., `styles/style_widgets.h` for `ui/widgets/widgets.style`). You include them like `#include "styles/style_widgets.h"`.
Generated C++ types correspond to the `.style` types: `style::color`, `style::font`, `style::margins` (used for both `margin:` and `padding:` fields), `style::icon`, `style::size`, `style::point`, `style::align`, and `int` or `bool` for simple types.
## Style Usage in Code
Styles are applied in C++ code by referencing the generated `st::...` objects and their members.
```cpp
// Example: Including the generated style header
#include "styles/style_widgets.h" // For styles defined in ui/widgets/widgets.style
// ... inside some UI class code ...
// Accessing members of a generated style struct
int height = st::primaryButton.height; // Accessing the 'height' field (pixels -> int)
const style::icon &icon = st::primaryButton.icon; // Accessing the 'icon' field (st::myComplexIcon)
style::margins padding = st::primaryButton.textPadding; // Accessing 'textPadding'
style::color bgColor = st::primaryButton.backgroundColor; // Accessing the color (st::activeButtonColor)
// Applying styles (conceptual examples)
myButton->setIcon(st::primaryButton.icon);
myButton->setHeight(st::primaryButton.height);
myButton->setPadding(st::primaryButton.textPadding);
myButton->setBackgroundColor(st::primaryButton.backgroundColor);
// Using styles directly in painting
void MyWidget::paintEvent(QPaintEvent *e) {
Painter p(this);
p.fillRect(rect(), st::chatInput.backgroundColor); // Use color from chatInput style
// Border painting requires width and color
int borderWidth = st::chatInput.border; // Access border width (pixels -> int)
style::color borderColor = st::chatInput.borderFg; // Access border color
if (borderWidth > 0) {
p.setPen(QPen(borderColor, borderWidth));
// Adjust rect for pen width if needed before drawing
p.drawRect(rect().adjusted(borderWidth / 2, borderWidth / 2, -borderWidth / 2, -borderWidth / 2));
}
// Access padding (style::margins)
style::margins inputPadding = st::chatInput.padding;
// ... use inputPadding.top(), inputPadding.left() etc. for content layout ...
}
```
**Key Points:**
* Styles are defined in `.style` files next to their corresponding C++ source files.
* `using "path/to/other.style";` includes definitions from other style files.
* Named colors are defined centrally in `ui/colors.palette`.
* `.style` syntax supports built-in types (like `pixels`, `color`, `margins`, `point`, `size`, `align`, `font`, `double`), custom structure definitions (`Name { field: type; ... }`), variable definitions (`name: value;`), and inheritance (`child: Name(parent) { ... }`).
* Values must match the expected type (e.g., fields declared as `margins` type, like `margin:` or `padding:`, require `margins(...)` syntax). Borders are typically set via separate `border: pixels;` and `borderFg: color;` fields.
* Icons are defined inline using `name: icon{{ "path_stem", color }};` or `name: icon{ { "path1", c1 }, ... };` syntax, with optional path modifiers.
* Code generation creates `struct` definitions in the `style` namespace for custom types and objects/structs in the `st` namespace for defined variables/groups.
* Generated headers are in `styles/` with a `style_` prefix and must be included.
* Access style properties via the generated `st::` objects (e.g., `st::primaryButton.height`, `st::chatInput.backgroundColor`).

2
.cursorignore Normal file
View File

@@ -0,0 +1,2 @@
# Add directories or file patterns to ignore during indexing (e.g. foo/ or *.csv)
Telegram/ThirdParty/

30
.devcontainer.json Normal file
View File

@@ -0,0 +1,30 @@
{
"name": "CentOS",
"image": "tdesktop:centos_env",
"customizations": {
"vscode": {
"settings": {
"C_Cpp.intelliSenseEngine": "disabled",
"cmake.generator": "Ninja Multi-Config",
"cmake.buildDirectory": "${workspaceFolder}/out",
"cmake.copyCompileCommands": "${workspaceFolder}/compile_commands.json"
},
"extensions": [
"ms-vscode.cpptools-extension-pack",
"llvm-vs-code-extensions.vscode-clangd",
"TheQtCompany.qt",
"ms-python.python",
"ms-azuretools.vscode-docker",
"eamodio.gitlens"
]
}
},
"capAdd": [
"SYS_PTRACE"
],
"securityOpt": [
"seccomp=unconfined"
],
"workspaceMount": "source=${localWorkspaceFolder},target=/usr/src/tdesktop,type=bind,consistency=cached",
"workspaceFolder": "/usr/src/tdesktop"
}

View File

@@ -1,44 +0,0 @@
name: Docker.
on:
push:
paths:
- '.github/workflows/docker.yml'
- 'Telegram/build/docker/centos_env/**'
pull_request:
paths:
- '.github/workflows/docker.yml'
- 'Telegram/build/docker/centos_env/**'
jobs:
docker:
name: Ubuntu
runs-on: ubuntu-latest
env:
IMAGE_TAG: ghcr.io/${{ github.repository }}/centos_env:latest
steps:
- name: Clone.
uses: actions/checkout@v4
with:
submodules: recursive
- name: First set up.
run: |
sudo apt update
curl -sSL https://install.python-poetry.org | python3 -
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin
- name: Free up some disk space.
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
- name: Docker image build.
run: |
cd Telegram/build/docker/centos_env
poetry install
DEBUG= LTO= poetry run gen_dockerfile | DOCKER_BUILDKIT=1 docker build -t $IMAGE_TAG -
- name: Push the Docker image.
if: ${{ github.ref_name == github.event.repository.default_branch }}
run: docker push $IMAGE_TAG

View File

@@ -12,6 +12,7 @@ on:
- '!.github/workflows/linux.yml'
- 'snap/**'
- 'Telegram/build/**'
- '!Telegram/build/docker/centos_env/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'
@@ -30,6 +31,7 @@ on:
- '!.github/workflows/linux.yml'
- 'snap/**'
- 'Telegram/build/**'
- '!Telegram/build/docker/centos_env/**'
- 'Telegram/Resources/uwp/**'
- 'Telegram/Resources/winrc/**'
- 'Telegram/SourceFiles/platform/win/**'
@@ -52,27 +54,44 @@ jobs:
env:
UPLOAD_ARTIFACT: "true"
ONLY_CACHE: "false"
IMAGE_TAG: tdesktop:centos_env
steps:
- name: Get repository name.
run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- name: Clone.
uses: actions/checkout@v4
with:
submodules: recursive
path: ${{ env.REPO_NAME }}
- name: First set up.
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin
docker pull ghcr.io/$GITHUB_REPOSITORY/centos_env
docker tag ghcr.io/$GITHUB_REPOSITORY/centos_env tdesktop:centos_env
sudo apt update
curl -sSL https://install.python-poetry.org | python3 -
cd Telegram/build/docker/centos_env
poetry install
DOCKERFILE=$(DEBUG= LTO= poetry run gen_dockerfile)
echo "$DOCKERFILE" > Dockerfile
- name: Free up some disk space.
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
with:
tool-cache: true
- name: Set up Docker Buildx.
uses: docker/setup-buildx-action@v3
- name: Libraries.
uses: docker/build-push-action@v6
with:
context: Telegram/build/docker/centos_env
load: ${{ env.ONLY_CACHE == 'false' }}
tags: ${{ env.IMAGE_TAG }}
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Telegram Desktop build.
if: env.ONLY_CACHE == 'false'
run: |
cd $REPO_NAME
DEFINE=""
if [ -n "${{ matrix.defines }}" ]; then
DEFINE="-D ${{ matrix.defines }}=ON"
@@ -83,23 +102,24 @@ jobs:
fi
docker run --rm \
-u $(id -u) \
-v $PWD:/usr/src/tdesktop \
-e CONFIG=Debug \
tdesktop:centos_env \
$IMAGE_TAG \
/usr/src/tdesktop/Telegram/build/docker/centos_env/build.sh \
-D CMAKE_C_FLAGS_DEBUG="" \
-D CMAKE_CXX_FLAGS_DEBUG="" \
-D CMAKE_C_FLAGS="-Werror" \
-D CMAKE_CXX_FLAGS="-Werror" \
-D CMAKE_EXE_LINKER_FLAGS="-s" \
-D CMAKE_CONFIGURATION_TYPES=Debug \
-D CMAKE_C_FLAGS_DEBUG="-O0" \
-D CMAKE_CXX_FLAGS_DEBUG="-O0" \
-D CMAKE_COMPILE_WARNING_AS_ERROR=ON \
-D TDESKTOP_API_TEST=ON \
-D DESKTOP_APP_DISABLE_AUTOUPDATE=OFF \
-D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF \
$DEFINE
- name: Check.
if: env.ONLY_CACHE == 'false'
run: |
filePath="$REPO_NAME/out/Debug/Telegram"
filePath="out/Debug/Telegram"
if test -f "$filePath"; then
echo "Build successfully done! :)"
@@ -113,12 +133,12 @@ jobs:
- name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true'
run: |
cd $REPO_NAME/out/Debug
sudo mkdir artifact
sudo mv {Telegram,Updater} artifact/
cd out/Debug
mkdir artifact
mv {Telegram,Updater} artifact/
- uses: actions/upload-artifact@v4
if: env.UPLOAD_ARTIFACT == 'true'
name: Upload artifact.
with:
name: ${{ env.ARTIFACT_NAME }}
path: ${{ env.REPO_NAME }}/out/Debug/artifact/
path: out/Debug/artifact/

View File

@@ -114,18 +114,15 @@ jobs:
fi
./configure.sh \
-D CMAKE_C_FLAGS="-Werror" \
-D CMAKE_CXX_FLAGS="-Werror" \
-D CMAKE_CONFIGURATION_TYPES=Debug \
-D CMAKE_COMPILE_WARNING_AS_ERROR=ON \
-D CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=NO \
-D TDESKTOP_API_TEST=ON \
-D DESKTOP_APP_DISABLE_AUTOUPDATE=OFF \
-D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF \
$DEFINE
cd ../out
xcoderun='xcodebuild build -project Telegram.xcodeproj -scheme Telegram -destination "platform=macOS,arch=x86_64" -configuration Debug'
bash -c "$xcoderun" || bash -c "$xcoderun" || bash -c "$xcoderun"
cmake --build ../out --config Debug --parallel
- name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true'

View File

@@ -69,7 +69,7 @@ jobs:
run: |
brew update
brew upgrade || true
brew install ada-url autoconf automake boost cmake ffmpeg@6 libtool openal-soft openh264 openssl opus ninja pkg-config python qt yasm xz
brew install ada-url autoconf automake boost cmake ffmpeg jpeg-xl libavif libheif libtool openal-soft openh264 openssl opus ninja pkg-config python qt yasm xz
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
xcodebuild -version > CACHE_KEY.txt
@@ -118,10 +118,38 @@ jobs:
cmake --build build --parallel
- name: TDE2E cache.
id: cache-tde2e
uses: actions/cache@v4
with:
path: ${{ env.LibrariesPath }}/tde2e
key: ${{ runner.OS }}-tde2e-${{ env.CACHE_KEY }}
- name: TDE2E.
if: steps.cache-tde2e.outputs.cache-hit != 'true'
run: |
cd $LibrariesPath
git init tde2e
cd tde2e
git remote add origin $GIT/tdlib/td.git
git fetch --depth=1 origin 51743dfd01dff6179e2d8f7095729caa4e2222e9
git reset --hard FETCH_HEAD
cmake -Bbuild -GNinja . \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=$PWD/build/prefix \
-DCMAKE_C_FLAGS_DEBUG="" \
-DCMAKE_CXX_FLAGS_DEBUG="" \
-DTD_E2E_ONLY=ON
cmake --build build --parallel
cmake --install build
- name: Telegram Desktop build.
if: env.ONLY_CACHE == 'false'
env:
tg_owt_DIR: ${{ env.LibrariesPath }}/tg_owt/build
tde2e_DIR: ${{ env.LibrariesPath }}/tde2e/build/prefix
run: |
cd $REPO_NAME
@@ -138,10 +166,7 @@ jobs:
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_C_FLAGS_DEBUG="" \
-DCMAKE_CXX_FLAGS_DEBUG="" \
-DCMAKE_EXE_LINKER_FLAGS="-s" \
-DCMAKE_FIND_FRAMEWORK=LAST \
-DTDESKTOP_API_TEST=ON \
-DDESKTOP_APP_USE_PACKAGED_LAZY=ON \
$DEFINE
cmake --build build --parallel

View File

@@ -57,14 +57,14 @@ jobs:
sudo iptables -P FORWARD ACCEPT
sudo snap install --classic snapcraft
sudo usermod -aG lxd $USER
sudo snap run lxd init --auto
sudo snap run lxd waitready
sudo lxd init --auto
sudo lxd waitready
- name: Free up some disk space.
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
- name: Telegram Desktop snap build.
run: sg lxd -c 'snap run snapcraft --verbosity=debug'
run: sudo -u $USER snap run snapcraft --verbosity=debug
- name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true'

View File

@@ -177,11 +177,11 @@ jobs:
%TDESKTOP_BUILD_GENERATOR% ^
%TDESKTOP_BUILD_ARCH% ^
%TDESKTOP_BUILD_API% ^
-D CMAKE_C_FLAGS="/WX" ^
-D CMAKE_CXX_FLAGS="/WX" ^
-D CMAKE_CONFIGURATION_TYPES=Debug ^
-D CMAKE_COMPILE_WARNING_AS_ERROR=ON ^
-D CMAKE_MSVC_DEBUG_INFORMATION_FORMAT= ^
-D DESKTOP_APP_DISABLE_AUTOUPDATE=OFF ^
-D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF ^
-D DESKTOP_APP_NO_PDB=ON ^
%TDESKTOP_BUILD_DEFINE%
cmake --build ..\out --config Debug --parallel

2
.gitignore vendored
View File

@@ -19,6 +19,8 @@ Release/
ipch/
.vs/
.vscode/
.cache/
compile_commands.json
/Telegram/log.txt
/Telegram/data

View File

@@ -4,15 +4,7 @@
# For license and copyright information please follow this link:
# https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
if (APPLE)
# target_precompile_headers with COMPILE_LANGUAGE restriction.
cmake_minimum_required(VERSION 3.23)
else()
cmake_minimum_required(VERSION 3.16)
endif()
if (POLICY CMP0149)
cmake_policy(SET CMP0149 NEW)
endif()
cmake_minimum_required(VERSION 3.25...3.31)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
@@ -20,19 +12,17 @@ include(cmake/validate_special_target.cmake)
include(cmake/version.cmake)
desktop_app_parse_version(Telegram/build/version)
set(project_langs C CXX)
if (APPLE)
list(APPEND project_langs OBJC OBJCXX)
elseif (LINUX)
list(APPEND project_langs ASM)
endif()
project(Telegram
LANGUAGES ${project_langs}
LANGUAGES C CXX
VERSION ${desktop_app_version_cmake}
DESCRIPTION "Official Telegram Desktop messenger"
HOMEPAGE_URL "https://desktop.telegram.org"
)
if (APPLE)
enable_language(OBJC OBJCXX)
endif()
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT Telegram)
get_filename_component(third_party_loc "Telegram/ThirdParty" REALPATH)
@@ -47,9 +37,7 @@ include(cmake/variables.cmake)
include(cmake/nice_target_sources.cmake)
include(cmake/target_compile_options_if_exists.cmake)
include(cmake/target_link_frameworks.cmake)
include(cmake/target_link_optional_libraries.cmake)
include(cmake/target_link_options_if_exists.cmake)
include(cmake/target_link_static_libraries.cmake)
include(cmake/init_target.cmake)
include(cmake/generate_target.cmake)
include(cmake/nuget.cmake)

2
LEGAL
View File

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

View File

@@ -58,7 +58,7 @@ 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 ([SIL Open Font License 1.1](https://github.com/rastikerdar/vazir-font/blob/master/OFL.txt))
* Vazirmatn font ([SIL Open Font License 1.1](https://github.com/rastikerdar/vazirmatn/blob/master/OFL.txt))
* Emoji alpha codes ([MIT License](https://github.com/emojione/emojione/blob/master/extras/alpha-codes/LICENSE.md))
* xxHash ([BSD License](https://github.com/Cyan4973/xxHash/blob/dev/LICENSE))
* QR Code generator ([MIT License](https://github.com/nayuki/QR-Code-generator#license))

View File

@@ -26,7 +26,6 @@ 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/lib_prisma.cmake)
include(cmake/td_export.cmake)
@@ -34,6 +33,7 @@ include(cmake/td_iv.cmake)
include(cmake/td_lang.cmake)
include(cmake/td_mtproto.cmake)
include(cmake/td_scheme.cmake)
include(cmake/td_tde2e.cmake)
include(cmake/td_ui.cmake)
include(cmake/generate_appdata_changelog.cmake)
@@ -47,17 +47,15 @@ if (WIN32)
platform/win/windows_quiethours.idl
platform/win/windows_toastactivator.idl
)
nuget_add_winrt(Telegram)
endif()
set_target_properties(Telegram PROPERTIES AUTOMOC ON)
target_link_libraries(Telegram
PRIVATE
tdesktop::lib_tgcalls_legacy
# tdesktop::lib_tgcalls_legacy
tdesktop::lib_tgcalls
tdesktop::lib_tgvoip
# tdesktop::lib_tgvoip
# Order in this list defines the order of include paths in command line.
# We need to place desktop-app::external_minizip this early to have its
@@ -71,6 +69,7 @@ PRIVATE
tdesktop::td_lang
tdesktop::td_mtproto
tdesktop::td_scheme
tdesktop::td_tde2e
tdesktop::td_ui
desktop-app::lib_webrtc
desktop-app::lib_base
@@ -149,6 +148,8 @@ PRIVATE
api/api_peer_colors.h
api/api_peer_photo.cpp
api/api_peer_photo.h
api/api_peer_search.cpp
api/api_peer_search.h
api/api_polls.cpp
api/api_polls.h
api/api_premium.cpp
@@ -213,8 +214,8 @@ PRIVATE
boxes/peers/edit_contact_box.h
boxes/peers/edit_forum_topic_box.cpp
boxes/peers/edit_forum_topic_box.h
boxes/peers/edit_linked_chat_box.cpp
boxes/peers/edit_linked_chat_box.h
boxes/peers/edit_discussion_link_box.cpp
boxes/peers/edit_discussion_link_box.h
boxes/peers/edit_members_visible.cpp
boxes/peers/edit_members_visible.h
boxes/peers/edit_participant_box.cpp
@@ -246,6 +247,8 @@ PRIVATE
boxes/peers/prepare_short_info_box.h
boxes/peers/replace_boost_box.cpp
boxes/peers/replace_boost_box.h
boxes/peers/verify_peers_box.cpp
boxes/peers/verify_peers_box.h
boxes/about_box.cpp
boxes/about_box.h
boxes/about_sponsored_box.cpp
@@ -294,6 +297,8 @@ PRIVATE
boxes/peer_list_box.h
boxes/peer_list_controllers.cpp
boxes/peer_list_controllers.h
boxes/peer_list_widgets.cpp
boxes/peer_list_widgets.h
boxes/peer_lists_box.cpp
boxes/peer_lists_box.h
boxes/passcode_box.cpp
@@ -320,8 +325,6 @@ PRIVATE
boxes/send_gif_with_caption_box.h
boxes/send_files_box.cpp
boxes/send_files_box.h
boxes/sessions_box.cpp
boxes/sessions_box.h
boxes/share_box.cpp
boxes/share_box.h
boxes/star_gift_box.cpp
@@ -330,6 +333,8 @@ PRIVATE
boxes/sticker_set_box.h
boxes/stickers_box.cpp
boxes/stickers_box.h
boxes/transfer_gift_box.cpp
boxes/transfer_gift_box.h
boxes/translate_box.cpp
boxes/translate_box.h
boxes/url_auth_box.cpp
@@ -390,6 +395,8 @@ PRIVATE
calls/calls_video_bubble.h
calls/calls_video_incoming.cpp
calls/calls_video_incoming.h
calls/calls_window.cpp
calls/calls_window.h
chat_helpers/compose/compose_features.h
chat_helpers/compose/compose_show.cpp
chat_helpers/compose/compose_show.h
@@ -439,6 +446,8 @@ PRIVATE
chat_helpers/ttl_media_layer_widget.h
core/application.cpp
core/application.h
core/bank_card_click_handler.cpp
core/bank_card_click_handler.h
core/base_integration.cpp
core/base_integration.h
core/changelogs.cpp
@@ -468,6 +477,7 @@ PRIVATE
core/sandbox.h
core/shortcuts.cpp
core/shortcuts.h
core/stars_amount.h
core/ui_integration.cpp
core/ui_integration.h
core/update_checker.cpp
@@ -491,6 +501,8 @@ PRIVATE
data/components/factchecks.h
data/components/location_pickers.cpp
data/components/location_pickers.h
data/components/promo_suggestions.cpp
data/components/promo_suggestions.h
data/components/recent_peers.cpp
data/components/recent_peers.h
data/components/scheduled_messages.cpp
@@ -625,6 +637,7 @@ PRIVATE
data/data_shared_media.h
data/data_sparse_ids.cpp
data/data_sparse_ids.h
data/data_star_gift.h
data/data_statistics.h
data/data_stories.cpp
data/data_stories.h
@@ -676,12 +689,16 @@ PRIVATE
dialogs/dialogs_main_list.h
dialogs/dialogs_pinned_list.cpp
dialogs/dialogs_pinned_list.h
dialogs/dialogs_quick_action.cpp
dialogs/dialogs_quick_action.h
dialogs/dialogs_row.cpp
dialogs/dialogs_row.h
dialogs/dialogs_search_from_controllers.cpp
dialogs/dialogs_search_from_controllers.h
dialogs/dialogs_search_tags.cpp
dialogs/dialogs_search_tags.h
dialogs/dialogs_top_bar_suggestion.cpp
dialogs/dialogs_top_bar_suggestion.h
dialogs/dialogs_widget.cpp
dialogs/dialogs_widget.h
editor/color_picker.cpp
@@ -795,6 +812,8 @@ PRIVATE
history/view/media/history_view_story_mention.h
history/view/media/history_view_theme_document.cpp
history/view/media/history_view_theme_document.h
history/view/media/history_view_unique_gift.cpp
history/view/media/history_view_unique_gift.h
history/view/media/history_view_userpic_suggestion.cpp
history/view/media/history_view_userpic_suggestion.h
history/view/media/history_view_web_page.cpp
@@ -817,6 +836,8 @@ PRIVATE
history/view/history_view_bottom_info.h
history/view/history_view_chat_preview.cpp
history/view/history_view_chat_preview.h
history/view/history_view_chat_section.cpp
history/view/history_view_chat_section.h
history/view/history_view_contact_status.cpp
history/view/history_view_contact_status.h
history/view/history_view_context_menu.cpp
@@ -851,8 +872,6 @@ PRIVATE
history/view/history_view_pinned_tracker.h
history/view/history_view_quick_action.cpp
history/view/history_view_quick_action.h
history/view/history_view_replies_section.cpp
history/view/history_view_replies_section.h
history/view/history_view_reply.cpp
history/view/history_view_reply.h
history/view/history_view_requests_bar.cpp
@@ -869,8 +888,8 @@ PRIVATE
history/view/history_view_sponsored_click_handler.h
history/view/history_view_sticker_toast.cpp
history/view/history_view_sticker_toast.h
history/view/history_view_sublist_section.cpp
history/view/history_view_sublist_section.h
history/view/history_view_subsection_tabs.cpp
history/view/history_view_subsection_tabs.h
history/view/history_view_text_helper.cpp
history/view/history_view_text_helper.h
history/view/history_view_transcribe_button.cpp
@@ -911,12 +930,20 @@ PRIVATE
history/history_unread_things.h
history/history_view_highlight_manager.cpp
history/history_view_highlight_manager.h
history/history_view_swipe_back_session.cpp
history/history_view_swipe_back_session.h
history/history_widget.cpp
history/history_widget.h
info/bot/earn/info_bot_earn_list.cpp
info/bot/earn/info_bot_earn_list.h
info/bot/earn/info_bot_earn_widget.cpp
info/bot/earn/info_bot_earn_widget.h
info/bot/starref/info_bot_starref_common.cpp
info/bot/starref/info_bot_starref_common.h
info/bot/starref/info_bot_starref_join_widget.cpp
info/bot/starref/info_bot_starref_join_widget.h
info/bot/starref/info_bot_starref_setup_widget.cpp
info/bot/starref/info_bot_starref_setup_widget.h
info/channel_statistics/boosts/create_giveaway_box.cpp
info/channel_statistics/boosts/create_giveaway_box.h
info/channel_statistics/boosts/giveaway/giveaway_list_controllers.cpp
@@ -939,6 +966,13 @@ PRIVATE
info/downloads/info_downloads_provider.h
info/downloads/info_downloads_widget.cpp
info/downloads/info_downloads_widget.h
info/global_media/info_global_media_widget.cpp
info/global_media/info_global_media_widget.h
info/global_media/info_global_media_inner_widget.cpp
info/global_media/info_global_media_inner_widget.h
info/global_media/info_global_media_provider.cpp
info/global_media/info_global_media_provider.h
info/media/info_media_buttons.cpp
info/media/info_media_buttons.h
info/media/info_media_common.cpp
info/media/info_media_common.h
@@ -986,12 +1020,16 @@ PRIVATE
info/profile/info_profile_values.h
info/profile/info_profile_widget.cpp
info/profile/info_profile_widget.h
info/reactions_list/info_reactions_list_widget.cpp
info/reactions_list/info_reactions_list_widget.h
info/requests_list/info_requests_list_widget.cpp
info/requests_list/info_requests_list_widget.h
info/saved/info_saved_sublists_widget.cpp
info/saved/info_saved_sublists_widget.h
info/settings/info_settings_widget.cpp
info/settings/info_settings_widget.h
info/similar_channels/info_similar_channels_widget.cpp
info/similar_channels/info_similar_channels_widget.h
info/similar_peers/info_similar_peers_widget.cpp
info/similar_peers/info_similar_peers_widget.h
info/statistics/info_statistics_common.h
info/statistics/info_statistics_inner_widget.cpp
info/statistics/info_statistics_inner_widget.h
@@ -1036,6 +1074,10 @@ PRIVATE
info/info_wrap_widget.h
inline_bots/bot_attach_web_view.cpp
inline_bots/bot_attach_web_view.h
inline_bots/inline_bot_confirm_prepared.cpp
inline_bots/inline_bot_confirm_prepared.h
inline_bots/inline_bot_downloads.cpp
inline_bots/inline_bot_downloads.h
inline_bots/inline_bot_layout_internal.cpp
inline_bots/inline_bot_layout_internal.h
inline_bots/inline_bot_layout_item.cpp
@@ -1044,6 +1086,8 @@ PRIVATE
inline_bots/inline_bot_result.h
inline_bots/inline_bot_send_data.cpp
inline_bots/inline_bot_send_data.h
inline_bots/inline_bot_storage.cpp
inline_bots/inline_bot_storage.h
inline_bots/inline_results_inner.cpp
inline_bots/inline_results_inner.h
inline_bots/inline_results_widget.cpp
@@ -1107,6 +1151,8 @@ PRIVATE
media/audio/media_audio_loader.h
media/audio/media_audio_loaders.cpp
media/audio/media_audio_loaders.h
media/audio/media_audio_local_cache.cpp
media/audio/media_audio_local_cache.h
media/audio/media_audio_track.cpp
media/audio/media_audio_track.h
media/audio/media_child_ffmpeg_loader.cpp
@@ -1175,6 +1221,8 @@ 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_open_common.cpp
media/view/media_view_open_common.h
media/view/media_view_overlay_opengl.cpp
media/view/media_view_overlay_opengl.h
media/view/media_view_overlay_raster.cpp
@@ -1193,7 +1241,6 @@ PRIVATE
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
media/system_media_controls_manager.h
media/system_media_controls_manager.cpp
menu/menu_antispam_validator.cpp
@@ -1381,8 +1428,6 @@ PRIVATE
settings/business/settings_recipients_helper.h
settings/business/settings_working_hours.cpp
settings/business/settings_working_hours.h
settings/cloud_password/settings_cloud_password_common.cpp
settings/cloud_password/settings_cloud_password_common.h
settings/cloud_password/settings_cloud_password_email.cpp
settings/cloud_password/settings_cloud_password_email.h
settings/cloud_password/settings_cloud_password_email_confirm.cpp
@@ -1391,10 +1436,20 @@ PRIVATE
settings/cloud_password/settings_cloud_password_hint.h
settings/cloud_password/settings_cloud_password_input.cpp
settings/cloud_password/settings_cloud_password_input.h
settings/cloud_password/settings_cloud_password_login_email.cpp
settings/cloud_password/settings_cloud_password_login_email.h
settings/cloud_password/settings_cloud_password_login_email_confirm.cpp
settings/cloud_password/settings_cloud_password_login_email_confirm.h
settings/cloud_password/settings_cloud_password_manage.cpp
settings/cloud_password/settings_cloud_password_manage.h
settings/cloud_password/settings_cloud_password_start.cpp
settings/cloud_password/settings_cloud_password_start.h
settings/cloud_password/settings_cloud_password_step.cpp
settings/cloud_password/settings_cloud_password_step.h
settings/cloud_password/settings_cloud_password_validate_icon.cpp
settings/cloud_password/settings_cloud_password_validate_icon.h
settings/settings_active_sessions.cpp
settings/settings_active_sessions.h
settings/settings_advanced.cpp
settings/settings_advanced.h
settings/settings_blocked_peers.cpp
@@ -1441,6 +1496,8 @@ PRIVATE
settings/settings_privacy_security.h
settings/settings_scale_preview.cpp
settings/settings_scale_preview.h
settings/settings_shortcuts.cpp
settings/settings_shortcuts.h
settings/settings_type.h
settings/settings_websites.cpp
settings/settings_websites.h
@@ -1496,6 +1553,8 @@ PRIVATE
support/support_preload.h
support/support_templates.cpp
support/support_templates.h
tde2e/tde2e_integration.cpp
tde2e/tde2e_integration.h
ui/boxes/edit_invite_link_session.cpp
ui/boxes/edit_invite_link_session.h
ui/boxes/peer_qr_box.cpp
@@ -1543,6 +1602,8 @@ PRIVATE
ui/widgets/label_with_custom_emoji.h
ui/widgets/chat_filters_tabs_strip.cpp
ui/widgets/chat_filters_tabs_strip.h
ui/widgets/peer_bubble.cpp
ui/widgets/peer_bubble.h
ui/countryinput.cpp
ui/countryinput.h
ui/dynamic_thumbnails.cpp
@@ -1554,8 +1615,6 @@ PRIVATE
ui/item_text_options.cpp
ui/item_text_options.h
ui/resize_area.h
ui/search_field_controller.cpp
ui/search_field_controller.h
ui/unread_badge.cpp
ui/unread_badge.h
window/main_window.cpp
@@ -1690,6 +1749,10 @@ if (WIN32)
# COMMENT
# $<IF:${release},"Appending compatibility manifest.","Finalizing build.">
# )
if (QT_VERSION LESS 6)
target_link_libraries(Telegram PRIVATE desktop-app::win_directx_helper)
endif()
elseif (APPLE)
if (NOT DESKTOP_APP_USE_PACKAGED)
target_link_libraries(Telegram PRIVATE desktop-app::external_iconv)
@@ -1803,11 +1866,7 @@ else()
set(bundle_identifier "com.tdesktop.Telegram")
endif()
set(bundle_entitlements "Telegram.entitlements")
if (LINUX AND DESKTOP_APP_USE_PACKAGED)
set(output_name "telegram-desktop")
else()
set(output_name "Telegram")
endif()
set(output_name "Telegram")
endif()
if (CMAKE_GENERATOR STREQUAL Xcode)
@@ -1849,8 +1908,9 @@ PRIVATE
G_LOG_DOMAIN="Telegram"
)
get_property(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if (APPLE
OR "${CMAKE_GENERATOR}" STREQUAL "Ninja Multi-Config"
OR is_multi_config
OR NOT CMAKE_EXECUTABLE_SUFFIX STREQUAL ""
OR NOT "${output_name}" STREQUAL "Telegram")
set(output_folder ${CMAKE_BINARY_DIR})
@@ -1867,66 +1927,8 @@ if (MSVC)
)
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:uxtheme.dll
/DELAYLOAD:crypt32.dll
/DELAYLOAD:bcrypt.dll
/DELAYLOAD:netapi32.dll
/DELAYLOAD:imm32.dll
/DELAYLOAD:userenv.dll
/DELAYLOAD:wtsapi32.dll
/DELAYLOAD:propsys.dll
)
if (QT_VERSION GREATER 6)
if (NOT build_winarm)
target_link_options(Telegram PRIVATE
/DELAYLOAD:API-MS-Win-EventLog-Legacy-l1-1-0.dll
)
endif()
target_link_options(Telegram
PRIVATE
/DELAYLOAD:API-MS-Win-Core-Console-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-Fibers-l2-1-0.dll
/DELAYLOAD:API-MS-Win-Core-Fibers-l2-1-1.dll
/DELAYLOAD:API-MS-Win-Core-File-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-LibraryLoader-l1-2-0.dll
/DELAYLOAD:API-MS-Win-Core-Localization-l1-2-0.dll
/DELAYLOAD:API-MS-Win-Core-Memory-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-Memory-l1-1-1.dll
/DELAYLOAD:API-MS-Win-Core-ProcessThreads-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-Synch-l1-2-0.dll # Synchronization.lib
/DELAYLOAD:API-MS-Win-Core-SysInfo-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-Timezone-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-WinRT-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-WinRT-Error-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Core-WinRT-String-l1-1-0.dll
/DELAYLOAD:API-MS-Win-Security-CryptoAPI-l1-1-0.dll
# /DELAYLOAD:API-MS-Win-Shcore-Scaling-l1-1-1.dll # We shadowed GetDpiForMonitor
/DELAYLOAD:authz.dll # Authz.lib
/DELAYLOAD:comdlg32.dll
/DELAYLOAD:dwrite.dll # DWrite.lib
/DELAYLOAD:dxgi.dll # DXGI.lib
/DELAYLOAD:d3d9.dll # D3D9.lib
/DELAYLOAD:d3d11.dll # D3D11.lib
/DELAYLOAD:d3d12.dll # D3D12.lib
/DELAYLOAD:setupapi.dll # SetupAPI.lib
/DELAYLOAD:winhttp.dll
)
endif()
endif()
target_prepare_qrc(Telegram)
@@ -1957,22 +1959,6 @@ if (NOT DESKTOP_APP_DISABLE_AUTOUPDATE AND NOT build_macstore AND NOT build_wins
base/platform/win/base_windows_safe_library.h
)
target_include_directories(Updater PRIVATE ${lib_base_loc})
if (MSVC)
target_link_libraries(Updater
PRIVATE
delayimp
)
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()
elseif (APPLE)
add_custom_command(TARGET Updater
PRE_LINK
@@ -2001,6 +1987,10 @@ if (NOT DESKTOP_APP_DISABLE_AUTOUPDATE AND NOT build_macstore AND NOT build_wins
desktop-app::external_openssl
)
if (DESKTOP_APP_USE_PACKAGED)
target_compile_definitions(Packer PRIVATE PACKER_USE_PACKAGED)
endif()
set_target_properties(Packer PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${output_folder})
endif()
elseif (build_winstore)
@@ -2025,14 +2015,16 @@ if (LINUX AND DESKTOP_APP_USE_PACKAGED)
configure_file("../lib/xdg/org.telegram.desktop.metainfo.xml" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml" @ONLY)
generate_appdata_changelog(Telegram "${CMAKE_SOURCE_DIR}/changelog.txt" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml")
install(TARGETS Telegram RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}")
install(FILES "Resources/art/icon16.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps" RENAME "telegram.png")
install(FILES "Resources/art/icon32.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps" RENAME "telegram.png")
install(FILES "Resources/art/icon48.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps" RENAME "telegram.png")
install(FILES "Resources/art/icon64.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps" RENAME "telegram.png")
install(FILES "Resources/art/icon128.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps" RENAME "telegram.png")
install(FILES "Resources/art/icon256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "telegram.png")
install(FILES "Resources/art/icon512.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps" RENAME "telegram.png")
install(FILES "Resources/icons/tray_monochrome.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/symbolic/apps" RENAME "telegram-symbolic.svg")
install(FILES "Resources/art/icon16.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon32.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon48.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon64.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon128.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/art/icon512.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps" RENAME "org.telegram.desktop.png")
install(FILES "Resources/icons/tray_monochrome.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/symbolic/apps" RENAME "org.telegram.desktop-symbolic.svg")
install(FILES "Resources/icons/tray_monochrome_attention.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/symbolic/apps" RENAME "org.telegram.desktop-attention-symbolic.svg")
install(FILES "Resources/icons/tray_monochrome_mute.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/symbolic/apps" RENAME "org.telegram.desktop-mute-symbolic.svg")
install(FILES "../lib/xdg/org.telegram.desktop.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.service" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/services")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo")

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 B

View File

@@ -1,6 +1,7 @@
// This is a list of your own shortcuts for Telegram Desktop
// You can see full list of commands in the 'shortcuts-default.json' file
// Place a null value instead of a command string to switch the shortcut off
// You can also edit them in Settings > Chat Settings > Keyboard Shortcuts.
[
// {

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 956 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 679 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 663 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: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 829 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 820 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: 586 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: 699 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 505 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 963 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 691 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 959 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 730 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 585 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1015 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 680 B

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