Compare commits

...

821 Commits

Author SHA1 Message Date
John Preston
5910efa0bd Beta version 4.5.7.
- Fix glitches after moving window to another screen (Windows only).
2023-01-13 13:17:39 +04:00
John Preston
037e8f1858 Allow window to receive WM_DPICHANGED in Qt.
Fixes #25726.
2023-01-13 12:46:20 +04:00
John Preston
b1d1d73541 Copy/Paste original JPEG bytes to clipboard. 2023-01-13 12:46:17 +04:00
Ilya Fedin
9b154b3c91 Ensure freedesktop capabilities aren't used when GNotification is used 2023-01-13 10:24:06 +04:00
Ilya Fedin
a1f9b5a96f Get GApplication out of experimental settings
GApplication will always be used on Linux now. GNotification gets a toggle instead.
2023-01-12 21:49:16 +04:00
John Preston
2887c0b564 Beta version 4.5.6.
- Try enabling non-fractional scale
High DPI support on Windows and Linux.
- Experimental setting for fractional scale
High DPI support on Windows and Linux.
- Fix navigation to bottom problems in groups you didn't join.
- Fix a crash in chat export settings changes.
- Fix a crash in sending some of JPEG images.
- Fix CJK fonts on Windows.
2023-01-12 21:35:44 +04:00
Ilya Fedin
9b7826ea0d Get GApplication out of experimental settings
GApplication will always be used on Linux now. GNotification gets a toggle instead.
2023-01-12 21:30:45 +04:00
Ilya Fedin
241be89e5c Enable the new experimental setting for Linux 2023-01-12 21:17:08 +04:00
John Preston
39075538fb Enable RoundPreferFloor HighDpi support on Windows.
Add an experimental setting for exact HighDPI on Windows.
2023-01-12 13:57:09 +04:00
John Preston
1592f70a7c Respect trackUnreadMessages in history jumps.
Fixes #25384.
2023-01-12 12:23:29 +04:00
John Preston
732bb25666 Fix read from clipboard after bot install. 2023-01-12 12:23:28 +04:00
John Preston
5cba1cdc64 Fix blurred background for small images.
Fixes #25707.
2023-01-12 11:45:45 +04:00
John Preston
d346925b9d Fix window title update on accounts switch. 2023-01-12 11:36:00 +04:00
John Preston
02f3985125 Inspect correct url() instead of dragText().
Fixes #25720.

Regression was introduced in 23387d6625.
2023-01-12 11:34:16 +04:00
John Preston
f3db43abc9 Fix sending compressed images. 2023-01-12 11:34:08 +04:00
John Preston
ecf61712cd Fix CJK font fallback on Windows.
Fixes #25714.
2023-01-12 11:34:02 +04:00
John Preston
b47c66155d Beta version 4.5.5.
- Fix crash in Settings.
2023-01-10 22:16:24 +04:00
John Preston
2fda96a375 Fix a crash in non-authorized Settings. 2023-01-10 22:10:58 +04:00
John Preston
12c2e42917 Beta version 4.5.4: Fix build with GCC. 2023-01-10 16:59:05 +04:00
John Preston
94a956ce19 Beta version 4.5.4: Fix build for Windows x64. 2023-01-10 16:47:57 +04:00
John Preston
704f64a0c9 Fix "Limit special config request types." 2023-01-10 16:47:41 +04:00
John Preston
f9ca7f4505 Beta version 4.5.4: Fix "Mark-as-read-inactive setting." 2023-01-10 16:24:27 +04:00
John Preston
0a3d31a91f Beta version 4.5.4: Try updating OpenAL on macOS. 2023-01-10 15:34:33 +04:00
John Preston
3c17fab15a Beta version 4.5.4: Mark-as-read-inactive setting.
In case an experimental setting of auto-scrolling is enabled,
just ignore the window activity check in marking chat as read..
2023-01-10 15:31:15 +04:00
John Preston
2efe409c60 Beta version 4.5.4.
- Allow wide range of interface scale options.
- Show opened chat name in the window title.
- Bug fixes and other minor improvements.
- Fix updating on macOS older than 10.14.
2023-01-10 15:23:19 +04:00
John Preston
1176421bf2 Limit special config request types. 2023-01-10 15:09:49 +04:00
John Preston
05911a7172 Fix initial scale counting from dpi. 2023-01-10 09:51:12 +04:00
Ilya Fedin
1326359745 Don't involve locale in filename timestamp generation
It was batch replaced as part of 7b5781b845, but it's not really semantically valid
2023-01-10 09:50:02 +04:00
John Preston
fc26457218 Show current chat name in the window title. 2023-01-09 18:39:07 +04:00
Ilya Fedin
173108a9cb Differ file download failure reasons
..and uncomment the code for handling incorrect permissions
2023-01-09 17:02:11 +04:00
Ilya Fedin
7307f0b1a5 Use temp directory for downloads in Linux sandbox by default 2023-01-09 16:09:57 +04:00
John Preston
c49dac57b7 Don't use window title for IPC. 2023-01-09 16:08:34 +04:00
Ilya Fedin
6288da2f3d Remove socket errors from Qt adapters 2023-01-09 15:01:14 +04:00
Ilya Fedin
ce37c6ef08 Implement lossless jpeg progression 2023-01-09 15:00:11 +04:00
John Preston
5f93725431 Relax controls hiding conditions in full screen.
Fixes #25499.
2023-01-09 14:03:27 +04:00
23rd
90dfdb0e1f Moved NeverFreedPointer to lib_base. 2023-01-09 12:51:32 +03:00
23rd
7cd330db9a Improved style of box for creation of linked chat. 2023-01-09 12:34:44 +03:00
23rd
b14ac5cafe Moved Info::Profile::FloatingIcon to td_ui. 2023-01-09 12:34:44 +03:00
John Preston
1fc929b78f Add some logs for jump-to-end bugs.
This is related to #25384.
2023-01-09 13:25:15 +04:00
John Preston
fd47fd4d9e Track shared media index better.
Fixes #25667.
2023-01-09 11:48:33 +04:00
John Preston
9b74958fab Fix send-as button appearance after joining the group. 2023-01-09 11:18:58 +04:00
John Preston
7091fb9448 Force weak linking of NaturalLanguage framework.
Fixes #25429.
2023-01-09 10:50:41 +04:00
John Preston
876cdcf26a Show "Photo set by you" in profile photos list. 2023-01-09 09:56:36 +04:00
John Preston
36eca970f2 Pass correct parent to choose folder file dialog.
I hope it fixes #25689, although it didn't work for me, not crash.
2023-01-09 09:44:58 +04:00
John Preston
21232e09a4 Fix a crash in topic from archive search.
Fixes #25609.
2023-01-09 09:36:20 +04:00
John Preston
2d9d373c7f Don't show "Report" for personal contact photos. 2023-01-09 09:20:36 +04:00
John Preston
23387d6625 Don't drag-n-drop "internal:" URLs. 2023-01-09 09:10:53 +04:00
John Preston
6137c64444 Fix scale preview on macOS. 2023-01-09 09:05:07 +04:00
John Preston
43a830f0af Fix in-window preview (Wayland / noCompositing). 2023-01-09 09:05:07 +04:00
John Preston
ff331c040a Allow huge range of interface scales. 2023-01-09 09:05:07 +04:00
John Preston
3532e187fd Write more DPI logs. 2023-01-09 09:05:07 +04:00
23rd
6467ba7739 Fixed painting of photo with spoiler in SendFilesBox on Retina. 2023-01-09 09:05:07 +04:00
23rd
8de3b2c0d3 Fixed painting of non personal photo in UserpicButton on Retina. 2023-01-09 09:05:07 +04:00
23rd
deeb022e0b Fixed possible crash on deleting own channel. 2023-01-09 09:05:07 +04:00
23rd
9e0e28dc45 Improved style of box for editing of linked chat. 2023-01-09 09:05:07 +04:00
23rd
c99ac0a264 Moved creation of divider with text and lottie to single place. 2023-01-09 09:05:07 +04:00
23rd
991fafb30e Fixed clickable online status in profile settings. 2023-01-09 09:05:06 +04:00
23rd
5cf5d4b4c4 Improved opening main menu from top left corner.
Fixed #17423.
2023-01-09 09:05:06 +04:00
23rd
38e42f9a95 Fixed ripple color of main menu button in narrow forum state. 2023-01-09 09:05:06 +04:00
23rd
9b7689993f Fixed phrase of global TTL for new chats. 2023-01-09 09:05:06 +04:00
23rd
0e3eddcb77 Slightly improved TTL badge in dialogs list. 2023-01-09 09:05:06 +04:00
23rd
3f829ef3b9 Accepted tg://login only for started domain. 2023-01-09 09:05:06 +04:00
23rd
de8d93ba73 Added support of multiline subtext for many usernames to info layer. 2023-01-09 09:05:06 +04:00
23rd
dad9f4b87d Flipped icon for rotation button in photo editor. 2023-01-09 09:05:06 +04:00
23rd
0f538e2606 Updated Qt to 5.15.8 on Windows. 2023-01-09 09:05:06 +04:00
John Preston
08fa6a9815 Version 4.5.3.
- Attempt to fix incoming video in calls from mobile apps.
2023-01-06 21:57:04 +04:00
John Preston
a7cf4027ea Attempt to fix calls incoming video. 2023-01-06 21:55:08 +04:00
Ilya Fedin
646c7ecceb Update Qt version for Linux in cmake 2023-01-06 12:57:54 +04:00
Ilya Fedin
3cbbe3d3c2 Update Qt to 6.4.2 on Linux 2023-01-05 23:00:13 +04:00
John Preston
0af26dd353 Capture mouse in PipeWire screen capture. 2023-01-05 10:09:44 +04:00
John Preston
159e366122 Choose screens/windows in Wayland screencapture.
Fixes #25674.
2023-01-05 09:55:46 +04:00
John Preston
b9081c26ba Use tg://settings/edit_profile instead /information. 2023-01-05 09:55:38 +04:00
John Preston
9933c6ba59 Mark topics as read using Ctrl+R shortcut.
Fixes #25669.
2023-01-05 09:53:51 +04:00
John Preston
eb0642f569 Version 4.5.2.
- Fix unread reactions button in private chats.
- Fix tile background saving after an app update.
- Allow Ctrl+6,7,8 to activate extra pinned chats.
2023-01-03 11:11:02 +04:00
John Preston
1cce35a5a5 Fix multiline checkbox geometry counting. 2023-01-03 11:06:40 +04:00
John Preston
aeb71e089a Fix tile background saving after an app update.
Fixes #25666, I hope fixes #16468, I hope fixes #5944.
2023-01-03 10:43:55 +04:00
John Preston
b962efeca3 Allow ctrl+6/7/8 to activate extra pinned chats.
Fixes #25647.
2023-01-03 09:59:42 +04:00
John Preston
eb6c350e72 Fix unread reactions button in chats with users.
Regression was introduced in 6a7f030ee7.

Fixes #25661.
2023-01-03 09:22:46 +04:00
John Preston
d496d41e7e Version 4.5.1: Fix excessive flood_wait trigger.
Regression was introduced in 1e8dfb7315.

Fixes #25494.
2023-01-02 17:33:39 +04:00
John Preston
19aa4f4acc Version 4.5.1.
- Fix crash in profile photo privacy edition.
- Allow sending photos larger than 1280px (in Experimental Settings).
2023-01-02 16:02:19 +04:00
John Preston
19350e3846 Open type="document" with photo as a photo.
Fixes #25600.
2023-01-02 15:08:36 +04:00
John Preston
741b524d71 Add description to an option (looks better). 2023-01-02 15:08:28 +04:00
John Preston
84288112fc Allow sending photos larger 1280 (experimental).
Improves #6520.
2023-01-02 14:26:41 +04:00
John Preston
7c537cd787 Revert "Removed downscaling of 2560px images before displaying them"
This reverts commit 0f3ec7893d.

Instead correct max limits of 2560x2560 will be used.
2023-01-02 14:26:41 +04:00
Ilya Fedin
c56977cbc1 Check autostart enabling success on Linux 2023-01-02 13:10:17 +04:00
John Preston
2afa2cd9ab Fix scroll reset bug in topics on message removal. 2023-01-02 12:26:20 +04:00
John Preston
442d0da5c1 Force autostart folder creation.
Also show an error if autostart couldn't be enabled.

Fixes #25608.
2023-01-02 12:26:20 +04:00
Ilya Fedin
db6bdf36af Update patches 2023-01-02 11:19:15 +04:00
Ilya Fedin
b246328dcf Use latest mesa in snap 2023-01-02 11:19:15 +04:00
John Preston
a27ea35edd Fix possible memory leak in jpeg inspecting. 2023-01-02 11:07:57 +04:00
John Preston
a7c4aea9ff Revert "Clear draft that failed to be saved."
This reverts commit 7866013ab6.

Loosing the current field text in case the server doesn't accept
the draft is worse than showing some sticked draft in the list.

We always can just hide the cloud draft in chats list in case you
can't edit it really if there are reports about them.
2023-01-02 10:50:59 +04:00
GitHub Action
1ba870a655 Update User-Agent for DNS to Chrome 108.0.5359.98. 2023-01-02 10:10:34 +04:00
GitHub Action
5bc3cf56fd Update copyright year to 2023. 2023-01-02 10:10:14 +04:00
John Preston
3c4cf2862b Fix crash in profile photo privacy edition.
Fixes #25645.
2023-01-02 10:09:31 +04:00
Daniel Novomeský
af69a7a01f Upgrade highway, libde265, libavif, libheif on Linux 2023-01-01 13:21:08 +04:00
Ilya Fedin
b9f7a501f5 Do pacman -Syu twice in prepare.py
So new databases are downloaded in case runtime updates and gets new repostiories
2023-01-01 13:19:11 +04:00
Ilya Fedin
322a085b70 Fix the check for Native Tools Command Prompt in prepare.py 2022-12-31 16:03:27 +04:00
Ilya Fedin
6c4dc34441 Fix build with various Windows locales 2022-12-31 16:02:28 +04:00
Ilya Fedin
efa287b786 Use text=True instead of decode() in prepare.py 2022-12-31 16:02:28 +04:00
John Preston
23e1c6128b Specify no non-exempt encryption usage in plist. 2022-12-30 17:30:18 +04:00
John Preston
bc71a2619a Version 4.5: Fix build with GCC. 2022-12-30 16:16:35 +04:00
John Preston
4f3510c47c Version 4.5: Fix search in topic. 2022-12-30 15:50:56 +04:00
John Preston
2adc20f07f Version 4.5.
- Media with spoiler effects.
You can wrap photos and videos you send in a fuzzy cover
by selecting media in the attachment menu
and tapping (...) > Hide With Spoiler.

- Setting pictures for your contacts.
You can choose your own picture for
a contact – only you will see it on their profile.

- Suggested profile pictures.
When editing your contacts, you can suggest
a photo for their profile. It will take them just two clicks
to add the picture you suggested.

- Public profile pictures.
If you only allow certain users to see your profile photos,
you can set a public picture for everyone else.

- Ultimate profile picture privacy.
You can set 'Who can see my profile photos' to 'Nobody'
and add some users or groups as exceptions.

- Member list privacy.
Owners of large groups can hide the list of members.
2022-12-30 14:55:09 +04:00
John Preston
b6ade7ce19 Fix spoiler / custom emoji in pinned bar unpause. 2022-12-30 14:27:00 +04:00
John Preston
cabed9587b Close PiP if message with video gets deleted. 2022-12-30 14:26:43 +04:00
John Preston
0ce01410a1 Fix crash in Pip-to-Viewer after message deletion.
Fixes #25262. Fixes #25522.
2022-12-30 14:18:04 +04:00
John Preston
d02819db13 Support spoilers in reply previews / pinned bar. 2022-12-30 14:06:20 +04:00
John Preston
46bae9ed74 Remove splits reverse. It was done on the server. 2022-12-30 10:49:51 +04:00
23rd
693ff3398e Fixed changing of button style between states within single intro step. 2022-12-29 23:25:53 +03:00
John Preston
567216f41f Fix crash in topic jump ripple animation.
Fixes #25500.
2022-12-29 17:48:33 +04:00
John Preston
1ef0791bc6 Fix OOM crash on wrong attached stickers hash.
Fixes #25495.
2022-12-29 17:11:24 +04:00
John Preston
ef5e39f680 Beta version 4.4.3.
- Support for anonymous numbers from the Fragment.com platform.
- Fix a crash in own profile photo updating.
- Bug fixes and other minor improvements.
2022-12-29 15:03:34 +04:00
John Preston
27228480a8 Reorder privacy buttons like on Android. 2022-12-29 14:57:27 +04:00
John Preston
eebe1f4c11 Revert "Move Blocked users to Privacy in Settings."
This reverts commit 1acfe441e1.
2022-12-29 14:44:45 +04:00
Ilya Fedin
5d5e4cbdff Add information about required and supported peripheral to XDG metadata 2022-12-29 14:43:23 +04:00
Ilya Fedin
7e9920b5ea Set contributing URL in XDG metadata
Currently the button opens the official website instead
2022-12-29 14:43:23 +04:00
23rd
297fd0f0c8 Moved regexp for excluding digits to single place. 2022-12-29 13:36:28 +03:00
Ilya Fedin
0eec470387 Hide default download folder option if it's not available 2022-12-29 14:18:08 +04:00
John Preston
7a64725045 Improve fragment phone number description 2022-12-29 14:06:52 +04:00
John Preston
1acfe441e1 Move Blocked users to Privacy in Settings. 2022-12-29 14:06:52 +04:00
John Preston
80e932a083 Fix group call userpics on Retina. 2022-12-29 14:06:52 +04:00
bovirus
698d32db57 Update Inno Setup script
Add Copyright message with copyright autor styarting and ending yaer (current year) copyright
Add AppverName (app name and vesrion on top left in main window)
2022-12-29 13:41:37 +04:00
John Preston
2ee7cc784f Fix initial TTL after group creation. 2022-12-29 12:59:53 +04:00
John Preston
071411c8b9 Fix fragment button in Intro process. 2022-12-29 12:59:53 +04:00
23rd
43671e2b47 Fixed width of button in passport VerifyBox. 2022-12-29 11:48:53 +03:00
Ilya Fedin
1666683dbb Fix various line length in notifications_manager_linux 2022-12-29 12:30:17 +04:00
Ilya Fedin
c134861cd9 Have notification subtitle in title on Linux when body-markup is not supported
This makes it look way better
2022-12-29 12:30:17 +04:00
John Preston
a1a5ef9d39 Fix possible crash on force-logout from the server.. 2022-12-29 12:21:21 +04:00
John Preston
7e98e9ecf2 Fix uploading new group / account photo. 2022-12-29 12:16:49 +04:00
John Preston
cad6faa790 Fix connection re-init in case of CONNECTION_NOT_INITED. 2022-12-29 12:16:49 +04:00
John Preston
13ad39dfc2 Fix possible crash in logout. 2022-12-29 12:16:49 +04:00
23rd
aa8ca28f77 Added description to context menu for anonymous phone numbers. 2022-12-29 11:11:08 +03:00
23rd
d424a8b039 Added handler of urls for login. 2022-12-29 11:11:08 +03:00
23rd
9896855789 Added button for opening custom url to passport VerifyBox. 2022-12-29 11:11:08 +03:00
23rd
613d4932ca Added button for opening custom url to Ui::ConfirmPhoneBox. 2022-12-29 11:11:08 +03:00
23rd
44f79b8331 Added button for opening custom url to ChangePhone::EnterCode box. 2022-12-29 11:11:08 +03:00
23rd
aa1117a714 Added ability to sing up and sing in with anonymous numbers. 2022-12-29 11:11:08 +03:00
23rd
8748265b00 Added support of multiple phone pattern groups. 2022-12-29 11:11:08 +03:00
John Preston
be8aeb0d96 Fix week name display in chats list.
Fixes #25625.
2022-12-29 10:27:22 +04:00
John Preston
599cc35e57 Fix a crash in history clear. 2022-12-29 09:57:45 +04:00
John Preston
bd367da1bd Put #include after the #pragma once. 2022-12-29 09:52:38 +04:00
Ilya Fedin
62b50a41c8 Update libtgvoip 2022-12-29 09:32:07 +04:00
Ilya Fedin
a3caecbc07 Fix build with clang 2022-12-29 09:32:07 +04:00
John Preston
71354d1611 Fix two crashes in own profile photo edit. 2022-12-28 23:37:16 +04:00
John Preston
232fceeee6 Beta version 4.4.2: Fix build with GCC. 2022-12-28 17:39:29 +04:00
John Preston
19c4130a1d Beta version 4.4.2.
- Send photos and video files hidden by a spoiler effect.
- Set a public photo for those who are restricted to see
your profile photo in the Privacy Settings.
- Bug fixes and other minor improvements.
2022-12-28 16:03:17 +04:00
Ilya Fedin
dc5abf8ddd Support ICCv4 with Little CMS on Linux 2022-12-28 16:02:35 +04:00
John Preston
b334a1f4fd Support spoilers in chats list media previews. 2022-12-28 14:07:38 +04:00
John Preston
17f40d6a1f Don't lose focus when showing image editor. 2022-12-28 13:05:23 +04:00
John Preston
77078f704c Fix a crash in topic deletion. 2022-12-28 12:44:01 +04:00
John Preston
df8176d671 Fix non-shown group thumb in media viewer. 2022-12-28 12:41:30 +04:00
John Preston
cad8a85497 Fix empty fallback photo appending. 2022-12-28 12:41:06 +04:00
Ilya Fedin
66093f0cb5 cTimeFormat/cDateFormat -> QLocale::ShortFormat
This allows to use platform-specific formatting functions
2022-12-28 10:28:12 +04:00
John Preston
9633f93690 Fix reactions panel expanding animation. 2022-12-28 10:11:38 +04:00
Ilya Fedin
1b8352f878 Fix image format mime type filter 2022-12-28 09:56:16 +04:00
23rd
27bcd35832 Added ability to translate transcribed voice messages. 2022-12-28 00:18:43 +03:00
23rd
b401f0bfea Added phrase to admin log when user joined via public request. 2022-12-28 00:18:43 +03:00
23rd
36391617d7 Fixed possible crash in optimized ministars animation. 2022-12-27 22:06:32 +03:00
23rd
5bf46c0e90 Adjusted button style in intro steps to style in settings steps. 2022-12-27 22:06:26 +03:00
Ilya Fedin
690e1013cf Find venv without configure.bat 2022-12-27 15:14:12 +04:00
John Preston
63c2db30f2 Fix folder updating when leaving a channel. 2022-12-27 14:05:22 +04:00
John Preston
bf388d8a37 Fix assertion violation in topic create box. 2022-12-27 13:55:34 +04:00
John Preston
b4571b80d6 Show spoilers in shared media overview. 2022-12-27 13:10:38 +04:00
Ilya Fedin
2cbd2725e5 Remove force-disabling of Qt's color space support for sent images
Qt had a bug with interpreting PNG gamma, but it seems it's fixed now.
2022-12-27 11:52:27 +04:00
John Preston
7f969e5102 Fix forwarding to General topic. 2022-12-27 11:49:03 +04:00
John Preston
e878ccccb4 Fix crash in sending media with spoilers. 2022-12-27 11:48:54 +04:00
John Preston
11bb4ec615 Closed alpha version 4.4.1.6. 2022-12-26 18:11:44 +04:00
John Preston
168cdaf350 Fix build with GCC. 2022-12-26 14:27:19 +04:00
John Preston
0ae819397a Fix protobuf timestamp generation. 2022-12-26 14:24:34 +04:00
John Preston
627eba1c5a Update API scheme on layer 151. 2022-12-26 14:24:08 +04:00
John Preston
673eb1090f Fix a crash and adjust some styles in snowflakes. 2022-12-26 14:24:08 +04:00
John Preston
43f0da683f Fix a crash in media spoilers. 2022-12-26 14:24:08 +04:00
John Preston
1bb6b07515 Fix build with GCC. 2022-12-26 14:24:08 +04:00
John Preston
aacb720664 Fix build with Xcode. 2022-12-26 14:24:08 +04:00
John Preston
12dd72bddf Closed alpha version 4.4.1.1. 2022-12-26 14:24:08 +04:00
John Preston
891559b3d9 Reverse message ranges for export. 2022-12-26 14:24:08 +04:00
23rd
b43f8fcff7 Slightly optimized drawing of ministars in premium settings. 2022-12-26 14:24:08 +04:00
John Preston
ce40ecc7f9 Show admins in participants_hidden group info. 2022-12-26 14:24:08 +04:00
John Preston
d6c188d642 Respect hidden_members_group_size_min in group edit. 2022-12-26 14:24:08 +04:00
John Preston
bd490421e8 No "Who Viewed" in case of hidden members. 2022-12-26 14:24:08 +04:00
John Preston
b9b6d4dba1 Show toast after photo suggestion is accepted. 2022-12-26 14:24:08 +04:00
John Preston
349fbeeb23 Add original userpic to "Reset to Original" menu item. 2022-12-26 14:24:08 +04:00
23rd
68b1b595a5 Fixed height of top bar with large subtext in premium settings. 2022-12-26 14:24:08 +04:00
23rd
cf4dfa55da Fixed order of premium feature previews. 2022-12-26 14:24:07 +04:00
23rd
8296d72923 Added first state to snowflakes effect in main menu. 2022-12-26 14:24:07 +04:00
John Preston
2364b0ad4e Show additional information in userpic suggest / accept. 2022-12-26 14:24:07 +04:00
John Preston
076f0e0800 Fix General topic message links. 2022-12-26 14:24:07 +04:00
John Preston
191ea6f0f4 Fix search in chat / jump to archive. 2022-12-26 14:24:07 +04:00
John Preston
7cf3babcbd Fix search by a hashtag from a topic. 2022-12-26 14:24:07 +04:00
John Preston
98af2d3006 Fix reactions layout for large emoji messages. 2022-12-26 14:24:07 +04:00
John Preston
b3858d5d97 Fix streamed media downloading.
Fixes #8500.
2022-12-26 14:24:07 +04:00
John Preston
1d7ad701b4 Implement blurred background for photo editor. 2022-12-26 14:24:07 +04:00
John Preston
9513aaa768 Allow accepting video userpic suggestions. 2022-12-26 14:24:07 +04:00
John Preston
446f0f1653 Fix channels limit info when trying an invite link. 2022-12-26 14:24:07 +04:00
John Preston
7d9b999cb0 Support request_write_access flag in attach bots. 2022-12-26 14:24:07 +04:00
John Preston
c647afec02 Support clipboard reading for attach menu bots. 2022-12-26 14:24:07 +04:00
23rd
4c181b6d08 Added initial implementation of fallback photo management in settings. 2022-12-26 14:24:07 +04:00
23rd
a4d3c694bc Added ability to use short info user for fallback photo. 2022-12-26 14:24:07 +04:00
23rd
721b2ebe8a Added initial support of api for fallback photo. 2022-12-26 14:24:07 +04:00
23rd
b135a09e00 Added initial support of fallback user photo to storage module. 2022-12-26 14:24:07 +04:00
23rd
6327d5ea38 Fixed conflict between peer update flags. 2022-12-26 14:24:07 +04:00
23rd
2a99046bbd Added snowflakes effect. 2022-12-26 14:24:07 +04:00
23rd
a3a48a38c8 Replaced callback for box showing with dedicated class in photo editor. 2022-12-26 14:24:07 +04:00
John Preston
4518067f9c Support persistent flag for bot keyboard. 2022-12-26 14:24:07 +04:00
John Preston
54a12aa74f Update API scheme on layer 151. 2022-12-26 14:24:06 +04:00
John Preston
1dd83f3d34 Support personal photo edit in EditContactBox. 2022-12-26 14:24:06 +04:00
John Preston
c7c652a277 Improve icons and phrases. 2022-12-26 14:24:06 +04:00
John Preston
faf6c48f25 Remove ui/special_buttons module. 2022-12-26 14:24:06 +04:00
John Preston
14f113266f Improve suggested photo service message. 2022-12-26 14:24:06 +04:00
John Preston
5ebea97ded Fix deleting a search result in chats list. 2022-12-26 14:24:06 +04:00
John Preston
af350e2daa Allow hiding members list in groups. 2022-12-26 14:24:06 +04:00
John Preston
b0a24238e8 Add icons to the photo set/suggest menu. 2022-12-26 14:24:06 +04:00
John Preston
2ce8094932 Add spoiler toggle to three dot menu in SendFilesBox. 2022-12-26 14:24:06 +04:00
John Preston
ca0b34dcf0 Update API scheme on layer 151. 2022-12-26 14:24:06 +04:00
John Preston
833a259234 Colorize emoji in text color correctly. 2022-12-26 14:24:06 +04:00
23rd
1ab8830ba8 Fixed outdated album info in reply on deleting dependency message. 2022-12-26 14:24:06 +04:00
23rd
40443b7547 Fixed mirrored display of shared screen in video calls. 2022-12-26 14:24:06 +04:00
John Preston
ca1c826c5c Simplify some code. 2022-12-26 14:24:06 +04:00
John Preston
bd1d7f4d96 Allow apply spoiler when editing to another media. 2022-12-26 14:24:05 +04:00
John Preston
5bee6310c0 Allow sending media with spoilers. 2022-12-26 14:24:05 +04:00
John Preston
3a38497c4c Support displaying of video spoilers. 2022-12-26 14:24:05 +04:00
John Preston
ae3659d15b Remove languages not supported in Qt 5. 2022-12-26 14:24:05 +04:00
John Preston
25746d195c Support displaying of photo spoilers. 2022-12-26 14:24:05 +04:00
John Preston
ae819eb1a6 Open settings when done changing photo. 2022-12-26 14:24:05 +04:00
John Preston
48cf0a4382 Implement suggested profile photo message. 2022-12-26 14:24:05 +04:00
John Preston
5fe9c93cb6 Set / suggest / reset a contact personal photo. 2022-12-26 14:24:05 +04:00
John Preston
cb99d611f3 Update API scheme to layer 151. 2022-12-26 14:24:05 +04:00
23rd
0e93693856 Moved current interface language to top of list in translate box. 2022-12-26 14:24:05 +04:00
23rd
9e93ecc154 Added more languages to translate box. 2022-12-26 14:24:05 +04:00
23rd
2cf579426b Added interface support of skipping translation for multiple languages. 2022-12-26 14:24:05 +04:00
23rd
6118ced862 Fixed possible crash on local clearing of filters. 2022-12-26 14:24:05 +04:00
23rd
8db8bc466e Added ability to remember last choice in send files box. 2022-12-26 14:24:05 +04:00
23rd
994d789c60 Added ability to remember last choice in delete messages box. 2022-12-26 14:24:05 +04:00
23rd
a043e22622 Added internal support of skipping translation for multiple languages. 2022-12-26 14:24:05 +04:00
John Preston
ccb3bbea15 Apply initial forwards count from the message. 2022-12-26 14:24:05 +04:00
John Preston
1b73b34810 Make HistoryItem a final class. 2022-12-26 14:24:04 +04:00
Ilya Fedin
36de2e98d4 Get supported image extensions from QImageReader 2022-12-26 14:23:23 +04:00
Ilya Fedin
9fba9048af Use the same check for drag'n'drop image type as for file dialog
The code path when choosing an image in file dialog tries to read a QImage with Images::Read and then only checks that mime type starts with image/ in ValidPhotoForAlbum

Core::FileIsImage and QImageReader::canRead checks should provide the same behavior
2022-12-26 14:23:23 +04:00
Ilya Fedin
95b29f5f35 Enable ffmpeg dav1d support 2022-12-25 08:40:16 +04:00
Ilya Fedin
13eeddf479 Don't wait for input when there are fullscreen applications 2022-12-23 14:04:17 +04:00
Ilya Fedin
3991be752c Replace various QDesktopService::openUrl with File::OpenUrl for correct operation on Linux
This also reverts commit bb94507af1.
2022-12-23 14:02:25 +04:00
Lesiuk
0f3ec7893d Removed downscaling of 2560px images before displaying them
Fixes #2206
2022-12-23 11:00:07 +04:00
Daniel Novomeský
351a2eee08 Update cmake_helpers submodule 2022-12-23 10:58:22 +04:00
Daniel Novomeský
6ff2c08764 Added dependencies for Windows build
They will be used for plugins in kimageformats:
dav1d, libavif are needed for AVIF plugin
libde265, libheif are needed for HEIF plugin
libjxl is needed for JXL plugin
dav1d could be used by ffmpeg to provide AV1 decoding
meson is required to build dav1d
2022-12-23 10:58:22 +04:00
Daniel Novomeský
d163135117 Update kimageformats submodule
It is necessary to use new heif.cpp to enable static linkage on Windows
There are important fixes for AVIF and JPEG XL plugins too.
2022-12-23 10:58:22 +04:00
Ilya Fedin
ecd217a79f Implement autostart in snap 2022-12-20 18:55:29 +04:00
Ilya Fedin
4aa9c1fea3 Get saving desktop file out of group loop 2022-12-20 18:55:29 +04:00
Ilya Fedin
2e60b28612 Install Python and cmake to default paths
There's no real need to install to custom paths
2022-12-20 17:22:19 +04:00
Ilya Fedin
2bbe511a6f Revert some mistakenly replaced '/' symbols earlier 2022-12-20 17:22:19 +04:00
Ilya Fedin
5cbdc2f739 Install gyp python dependencies in prepare.py 2022-12-20 17:22:19 +04:00
Ilya Fedin
6f88e46938 Update kcoreaddons
This finally fixes portal paste on X11
2022-12-16 11:14:28 +04:00
Ilya Fedin
8209602cbd Fix Linux action 2022-12-16 11:03:37 +04:00
Ilya Fedin
b3e547f4dd Fix a warning in snap build 2022-12-16 11:03:37 +04:00
Ilya Fedin
5289810b81 Fix snap action lxd firewall integration 2022-12-16 11:03:37 +04:00
Ilya Fedin
3cb333d323 Fix counter paint when DPR != 1 in Linux tray 2022-12-09 16:04:07 +04:00
Ilya Fedin
2565b948d9 Cache system icon in Linux tray 2022-12-09 16:04:07 +04:00
23rd
5101ea2a96 Updated Qt to 5.15.7 on Windows. 2022-12-09 11:54:37 +03:00
23rd
23150d4e2a Added special branch for Windows Github CI. 2022-12-09 11:54:37 +03:00
23rd
66926ba25e Fixed scrolling to end when media is replaced. 2022-12-09 11:54:37 +03:00
23rd
b4a7d98fa0 Added support of custom emoji to translate box. 2022-12-09 11:54:37 +03:00
Klemens Nanni
620f6657ae Update to minizip 1.2.13
https://github.com/madler/zlib/releases/tag/v1.2.13

Tested with tdesktop 4.4.1 on OpenBSD/amd64, where a manual fix is still
required to build tdesktop's old zlib version:
https://github.com/openbsd/ports/blob/master/net/tdesktop/Makefile#L105-L108

I upstreamed this fix with https://github.com/madler/zlib/pull/678,
although it got fixed differently in
40c5a9bc06
2022-12-09 09:58:16 +04:00
Ilya Fedin
577f4b6271 Don't check com.canonical.Unity for the counter
It seems there's a race condition when Telegram is auto-started on Plasma and it doesn't hurt to issue the signal always, so just remove the check
2022-12-09 09:19:00 +04:00
Klemens Nanni
9c27271571 Use std::invoke_result_T not ::result_of to fix C++20 tdesktop 4.3.4
tdesktop defaults to (probably requires) C++20, but `std::result_of`[0]
was deprecated in C++17 and removed in C++20.

0: https://en.cppreference.com/w/cpp/types/result_of
2022-12-09 09:12:34 +04:00
John Preston
cad87f6818 Update to WebRTC M108. 2022-12-08 14:22:04 +04:00
Ilya Fedin
a9a69c7d14 Update submodules 2022-12-08 10:15:59 +04:00
Ilya Fedin
5990b0fabf Fix build with Qt 5 2022-12-08 10:15:59 +04:00
John Preston
6986430f37 Version 4.4.1.
- Bug fixes and other minor improvements.
2022-12-07 13:41:04 +04:00
John Preston
04eff72ce8 Update lib_spellcheck submodule. 2022-12-07 13:39:09 +04:00
John Preston
985f557adf Forbid deleting General topic. 2022-12-07 13:36:42 +04:00
John Preston
77b2572854 Add some General topic phrases. 2022-12-07 13:35:24 +04:00
23rd
993b501996 Filtered out only channels in list of applying TTL for multiple chats. 2022-12-07 13:09:46 +04:00
23rd
bba45293da Added gradient colors to sessions section. 2022-12-07 13:09:45 +04:00
John Preston
58fe2d7ecc Fix last topic opening on some systems. 2022-12-07 13:08:41 +04:00
John Preston
cfddca8f58 Fix possible crashes in toastParent expiring. 2022-12-07 13:07:36 +04:00
Ilya Fedin
6f50906952 Don't use unneeded QEventLoop::ApplicationExec 2022-12-07 11:27:49 +04:00
John Preston
1f39d16a35 Fix warning in building with LTCG libs. 2022-12-07 11:27:07 +04:00
John Preston
54f697eba1 Selectively request LTCG on Windows 32 bit build. 2022-12-07 11:01:05 +04:00
John Preston
02e2fb1258 Fix crash in pinned topic deletion. 2022-12-07 11:01:05 +04:00
mid-kid
d01969ff1e Fix building without spellcheck
Port from gentoo: f62d7c6599/net-im/telegram-desktop/files/tdesktop-4.3.4-fix-disabling-spellcheck.patch

/var/tmp/portage/net-im/telegram-desktop-4.3.4/work/tdesktop-4.3.4-full/Telegram/SourceFiles/boxes/translate_box.cpp:18:10: fatal error: spellcheck/platform/platform_language.h: No such file or directory
   18 | #include "spellcheck/platform/platform_language.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
2022-12-07 09:44:14 +04:00
Robin van der Vliet
e4d8a06cf9 Add Esperanto to language list of translate box 2022-12-07 09:35:53 +04:00
John Preston
8ec64f4167 Fix crash in Replies go-to-original button ripple. 2022-12-07 09:30:36 +04:00
John Preston
06ea927095 Fix build of not used lib_base subproject. 2022-12-07 08:49:56 +04:00
John Preston
14e4524776 Version 4.4.
- You can set a Global Auto-Delete Timer
for all new chats and groups you create.
- New messages will be deleted after 1 day, week, month,
or a custom duration you choose.
- The new menu in Settings > Privacy & Security > Auto-Delete Messages
also lets you set up Auto-Delete for any of your existing chats faster.
- Admins of groups with 100+ members can organize discussions
into separate topics.
- Topics now have a two-column layout
that keeps recent chats easily accessible as you browse topics.
- Previews of topic messages in the chat list work like a button,
click to jump to the last updated topic.
- Up to 5 topics can be pinned to the top of the list.
- Each topic now supports multiple pinned messages.
- The View as Messages mode now shows
which topic each message belongs to.
- Badge counters for topics you never opened
will have a lighter, less distracting color.
- A new General topic is now included by default,
containing service messages and the earlier message history from the
group.
- Admins can rename the General topic.
- Large groups can enable Aggressive Filtering in Manage Group
> Administrators to remove more spam with automated algorithms.
- Admins help improve filtering
by reporting any false positives in Recent Actions.
2022-12-06 23:40:56 +04:00
John Preston
7dc9d5c37f Fix empty menu toggle in closed topics. 2022-12-06 23:36:28 +04:00
John Preston
d827045199 Fix possible crash on forum switch off. 2022-12-06 23:22:50 +04:00
John Preston
76d44172f1 Add "Copy Topic Link" topic profile menu item. 2022-12-06 23:22:50 +04:00
23rd
afc9eb7cef Improved filter of list to apply TTL for multiple chats. 2022-12-06 22:17:33 +03:00
John Preston
b0bb8b05fd Fix reply from notification replyTo field value. 2022-12-06 22:52:04 +04:00
John Preston
6e75668e45 Fix forum without last topic opening. 2022-12-06 22:51:33 +04:00
John Preston
f86afc9539 Fix userpics view cache invalidation. 2022-12-06 22:51:14 +04:00
John Preston
74ecd44294 Show anti-spam checkbox only to admins. 2022-12-06 22:50:54 +04:00
John Preston
273a2809cf Fix username change error display. 2022-12-06 22:13:15 +04:00
John Preston
ebb6b4ab63 Fix build. 2022-12-06 21:10:37 +04:00
John Preston
a8106aa38d Fix glitches in search results. 2022-12-06 20:33:17 +04:00
John Preston
6abfdd20fa Don't apply deleted GYP patch in Windows prepare. 2022-12-06 18:23:51 +04:00
John Preston
4dd1f95fbf Disable deprecated warning when building dump_syms.
Fixes #25366.
2022-12-06 18:13:23 +04:00
John Preston
a1faee285c Use LTCG on Windows for two targets only. 2022-12-06 18:11:47 +04:00
John Preston
8937d732f6 Fix build with GCC. 2022-12-06 18:08:07 +04:00
John Preston
589556442c Closed alpha version 4.3.4.1. 2022-12-06 16:50:03 +04:00
GitHub Action
0e6b333bde Update User-Agent for DNS to Chrome 107.0.5304.110. 2022-12-06 16:47:50 +04:00
Ilya Fedin
9328f31a65 Configure the template chooser 2022-12-06 16:47:06 +04:00
John Preston
d5c145b707 Fix forum userpic rounding on Retina screens. 2022-12-06 16:38:54 +04:00
John Preston
3649cb41e2 Fix build with Xcode. 2022-12-06 16:38:42 +04:00
John Preston
cd85c4911c Migrate macOS build to patched Qt 6.3.2.
Fixes #24915.
2022-12-06 16:38:08 +04:00
John Preston
4db2b83c9b Fix Ctrl+Tab/Ctrl+Shift+Tab jumps in topics. 2022-12-06 14:32:46 +04:00
John Preston
a1de77e8d2 Improve child list closing. 2022-12-06 14:32:46 +04:00
23rd
6bd2be0aee Added support of drag events to back button in dialogs list. 2022-12-06 12:56:56 +03:00
23rd
1b364f2621 Added support of drag events to filters menu. 2022-12-06 12:56:56 +03:00
23rd
0310d9902c Added ripple animation to right action in messages. 2022-12-06 12:56:56 +03:00
23rd
d55d383627 Cached TTL badge in dialogs list. 2022-12-06 12:56:56 +03:00
23rd
84de08cad6 Added separated unread counter to single peer window titles. 2022-12-06 12:56:56 +03:00
23rd
cc0b1b1d54 Added option for chat names in titles of single peer windows. 2022-12-06 12:56:56 +03:00
23rd
e2205c7251 Fixed build on macOS. 2022-12-06 12:56:56 +03:00
John Preston
2d6bac5a28 Fix background color in collapsed row with child list. 2022-12-06 13:05:05 +04:00
John Preston
7ad26a0fca Fix minimal unwrapped message height as userpic size.
Fixes #25354.
2022-12-06 13:04:38 +04:00
John Preston
48148a8cc3 Revert "Provide the same sizes for tray icon as for main window icon"
This reverts commit f9bf68461d.
2022-12-06 12:55:09 +04:00
John Preston
1be37a10b3 Show info on forum top bar click. 2022-12-06 12:46:10 +04:00
John Preston
4937cea38f Fix reply-to re-appear after voice message sending. 2022-12-06 12:38:46 +04:00
John Preston
b775d577a4 Fix forum rounding in folder editing box. 2022-12-06 12:12:07 +04:00
John Preston
cb653df0f6 Support adaptive forum userpic rounding radius. 2022-12-05 16:18:10 +04:00
John Preston
2407ac50bc Improve shading of collapsed chats list. 2022-12-05 10:07:54 +04:00
John Preston
fbf3168317 Fix crash in unread bar destruction. 2022-12-05 09:47:54 +04:00
John Preston
fe9cf7ddad Report in forum menu, remove from topic menu. 2022-12-05 09:03:31 +04:00
John Preston
88b555e907 Fix incorrect topic names in forum preview row. 2022-12-05 08:55:39 +04:00
23rd
234fdbed4a One more time fixed display of send as button above voice record bar. 2022-12-05 05:35:26 +03:00
23rd
6cb0834d19 Added chat name to titles of single peer windows. 2022-12-05 02:49:34 +03:00
John Preston
e26dd4e418 Fix a crash in chats filter results. 2022-12-04 08:00:20 +04:00
John Preston
a8c230aba3 Update API scheme on layer 150: AntiSpam admin log. 2022-12-04 08:00:20 +04:00
23rd
b81868eeba Simplified drawing of empty userpics in theme previews. 2022-12-04 03:46:44 +03:00
23rd
b2e9c4ab75 Moved Ui::EmptyUserpic to td_ui. 2022-12-04 03:46:44 +03:00
23rd
a458c89810 Changed default colors for empty userpic backgrounds. 2022-12-04 03:46:44 +03:00
23rd
5df0b08a42 Added support of second colors for empty userpic backgrounds. 2022-12-04 03:46:44 +03:00
23rd
c8d273c2a3 Added some icons for global TTL settings and anti-spam. 2022-12-03 18:58:14 +03:00
23rd
badebb261b Fixed reporting to anti-spam incorrect message id from admin log. 2022-12-03 18:58:06 +03:00
23rd
beb062dd64 Removed requesting of full peers from box of applying TTL for chats.
Since TTL is provided from the dialog info.
2022-12-03 13:51:14 +03:00
John Preston
33c0c79593 Correct unread counter after first topic open. 2022-12-02 21:29:51 +04:00
John Preston
1a9c6749ae Correct pen width in TTL dialogs badge. 2022-12-02 20:51:06 +04:00
John Preston
587715a966 Add jump-to-topic panel to stickers. 2022-12-02 20:32:06 +04:00
John Preston
b5cb2bc9f0 Fix build on Qt 5.* for Windows. 2022-12-02 18:31:52 +04:00
John Preston
a4e4681835 Add jump-to-topic panel in View as Messages. 2022-12-02 18:20:22 +04:00
John Preston
8281990bb8 Fix some HP device model names on Linux. 2022-12-02 18:20:22 +04:00
23rd
2c1e7bfcb6 Added ability to forward messages to multiple chats. 2022-12-02 17:02:11 +03:00
23rd
bd8e7fdddd Moved out sending method of many messages to many peers to single place. 2022-12-02 17:01:11 +03:00
John Preston
037f2bcce2 Fix closing forum by escape. 2022-12-02 13:48:30 +04:00
23rd
819e1602ef Slightly improved style of anti-spam buttons. 2022-12-02 01:46:31 +03:00
23rd
fe6ad54836 Fixed crash in translate box for text with spoilers. 2022-12-02 01:23:54 +03:00
23rd
92756f418b Added TTL badge to dialogs list. 2022-12-02 00:28:19 +03:00
23rd
cbbbcd877c Added support of switching between corner layers in dialogs list. 2022-12-02 00:25:23 +03:00
John Preston
34f0aae418 Respect topic pin limit from appConfig. 2022-12-01 21:44:32 +04:00
John Preston
f0b8ccbd71 Collapse forum row height in narrow layout. 2022-12-01 21:36:26 +04:00
John Preston
c200263f2e Don't duplicate Update Telegram / Download Bar. 2022-12-01 19:18:32 +04:00
John Preston
1ff53eb585 Fix opening _childList from archive. 2022-12-01 18:59:03 +04:00
John Preston
32491ead5e Animate child topics list open / close. 2022-12-01 18:03:20 +04:00
John Preston
468d01fc1a Show square rounded photo in forum userpic change message. 2022-12-01 17:48:15 +04:00
John Preston
1c44121db7 Fix forum userpic button if no userpic is set. 2022-12-01 17:43:29 +04:00
John Preston
b561705528 Use Window::SlideAnimation in all widgets. 2022-12-01 14:18:37 +04:00
23rd
eed706f917 Added ability to filter and report of anti-spam in admin log. 2022-12-01 05:49:33 +03:00
23rd
4bd2091e6e Added initial ability to enable anti-spam mode in megagroups. 2022-12-01 05:49:33 +03:00
23rd
22f45bc1fb Added loading peer animation to peer list content. 2022-12-01 05:49:33 +03:00
23rd
1cc3440fcc Added new loading element animation for peer list. 2022-12-01 05:49:33 +03:00
23rd
1cd4cb3baa Added ability to set TTL on creation groups. 2022-12-01 05:49:33 +03:00
23rd
11165abc09 Removed skip translation setting when it is disabled. 2022-11-30 17:17:16 +03:00
23rd
f8a17bd9c9 Moved tmp string for temporary folder to single place. 2022-11-30 17:17:16 +03:00
23rd
47bb04b019 Added ability to download multiple files to custom location. 2022-11-30 17:17:16 +03:00
23rd
8bcb30e84d Added settings link for global TTL to TTL box. 2022-11-30 17:17:16 +03:00
23rd
81c48e1b09 Added phrase of global TTL for new chats. 2022-11-30 17:17:16 +03:00
23rd
377ee7df06 Added ability to apply TTL for multiple chats. 2022-11-30 17:17:16 +03:00
23rd
4fabb3f2a2 Replaced some qsl with u""_q literal. 2022-11-30 17:17:14 +03:00
John Preston
ad3f8e72a0 Remove namespace App. 2022-11-30 17:28:09 +04:00
John Preston
01139e1b04 Remove facades module. 2022-11-30 16:55:51 +04:00
John Preston
eaed91263e Simplify HistoryHider, remove most of uses. 2022-11-30 16:13:31 +04:00
John Preston
188c6ba64a Paint expanded topics indicator. 2022-11-30 13:57:00 +04:00
John Preston
823bbb1b77 Fix jump-to-topic area and unread counter overlapping. 2022-11-30 13:55:46 +04:00
John Preston
f324017299 Don't open unread topic on full forum row click. 2022-11-30 13:03:42 +04:00
John Preston
76837c6f44 Fix render glitches in pinned forum reordering. 2022-11-30 13:03:42 +04:00
John Preston
5e6a4d9e8d Fix crash in jump-to-topic from filtered results. 2022-11-30 13:03:42 +04:00
John Preston
01773e5bb1 Fix custom notifications in topics. 2022-11-30 13:03:42 +04:00
John Preston
5d8a2bc7b7 Implement simple sub-column for topics list. 2022-11-30 13:03:42 +04:00
John Preston
beaea9c57d Update dialog row height on topic switch. 2022-11-29 23:13:51 +04:00
John Preston
3c799a5cc1 Correctly track General editing service messages. 2022-11-29 23:13:51 +04:00
John Preston
5e20c15c20 Adapt edit topic box to General. 2022-11-29 23:13:51 +04:00
23rd
d0ae07f3c2 Added initial implementation of global TTL settings. 2022-11-29 18:03:37 +03:00
23rd
97fa92de0b Added api support for global TTL settings. 2022-11-29 17:41:20 +03:00
23rd
c481d48865 Added some phrases for global TTL settings. 2022-11-29 17:41:20 +03:00
John Preston
545cf93d82 Show nice General icon in an empty topic. 2022-11-29 18:30:38 +04:00
John Preston
6ff29b8902 Don't show 'Discussion started' in General topic. 2022-11-29 18:30:38 +04:00
John Preston
623176e901 Show loading state for non-loaded forum topics list. 2022-11-29 18:30:38 +04:00
John Preston
03b35457fa Fix collapsed narrow archive row display. 2022-11-29 18:30:38 +04:00
John Preston
01748d8aba Better General topic support. 2022-11-29 18:30:38 +04:00
John Preston
7866013ab6 Clear draft that failed to be saved. 2022-11-29 18:30:38 +04:00
John Preston
ac3834bfdb Support custom icon for General topic. 2022-11-29 18:30:38 +04:00
John Preston
57af221d39 Support General topic somehow. 2022-11-29 18:30:38 +04:00
John Preston
8cd5105813 Fix unread badge render glitch. 2022-11-29 18:30:38 +04:00
John Preston
d89573bab5 Update API scheme to layer 150. 2022-11-29 18:30:38 +04:00
23rd
39f9fee22f Added ability to translate peer description. 2022-11-29 15:56:17 +03:00
23rd
6695d7d503 Respected copy restriction on translate box. 2022-11-29 14:57:53 +03:00
23rd
3fdb807a1e Respected new error for occupied usernames in manage channel. 2022-11-29 14:12:57 +03:00
23rd
2acedca6b7 Replaced some qstr with u""_q literal. 2022-11-29 14:12:50 +03:00
23rd
22dc7023fc Respected new error for occupied usernames in UsernameBox. 2022-11-29 14:12:50 +03:00
23rd
9946fbbd89 Moved out check info text in UsernameBox to separated row. 2022-11-29 14:12:50 +03:00
23rd
fec7febc8e Added small round to document thumbnails in overview layout. 2022-11-29 14:12:50 +03:00
23rd
0b86caef67 Added ability to translate polls. 2022-11-29 14:12:49 +03:00
John Preston
c39b9e9635 Add 'Copy Username' context menu to usernames in profiles. 2022-11-29 13:42:09 +04:00
Ilya Fedin
05524c3f6c Don't show reply button in Linux native notifications when it's not supposed to
All modern notification daemons have support for the default action and it's a requirement with the portal spec
2022-11-28 21:55:00 +01:00
Ilya Fedin
b9a766387c Replace docker buildx with DOCKER_BUILDKIT=1 environment variable
This seem to work better with distribution-provided Docker
2022-11-28 21:54:37 +01:00
Ilya Fedin
54a0f443b4 Better check for download path availability in sandbox 2022-11-28 12:16:57 +01:00
Ilya Fedin
04a8a9b7ee Update lib_base 2022-11-28 12:12:09 +01:00
Ilya Fedin
c77f07239f Have full path to the binary in .desktop file
After removing the -workdir, this is the last difference with URL scheme handler command
2022-11-28 12:12:09 +01:00
Ilya Fedin
b383dad6ac Install launcher before registering URL scheme 2022-11-28 12:12:09 +01:00
Ilya Fedin
f18bf46fb1 Speed up Linux action
The binary is stripped anyway, there's no sense in producing debug symbols
2022-11-28 12:09:45 +01:00
Ilya Fedin
2bda3c4e2b Don't save temp file for native notification userpics on Linux 2022-11-26 22:15:39 +01:00
Ilya Fedin
4484edd212 Get rid of unneeded QTextStream from GenerateDesktopFile 2022-11-26 17:26:52 +01:00
Ilya Fedin
ace363f432 Use GBytesIcon with GNotification
GFileIcon is not supported by xdg-desktop-portal
2022-11-26 17:26:52 +01:00
Ilya Fedin
d6ed23b3dd Fix race condition between GApplication and GNotification 2022-11-26 17:26:52 +01:00
Ilya Fedin
51cd07945b Restore launchable tag in metainfo
Fixes #25378
2022-11-26 17:26:52 +01:00
Ilya Fedin
9ee4ad95d0 Fix GApplication with some binary paths 2022-11-26 17:26:52 +01:00
Ilya Fedin
4ade80905f Add proper build-time checks to AutostartSupported on Linux 2022-11-26 17:26:52 +01:00
Ilya Fedin
70b039a6e4 Don't build unneeded libprotoc in snap 2022-11-26 17:26:52 +01:00
John Preston
4bde87cda4 Don't use LTCG in Debug builds on Windows. 2022-11-25 16:56:42 +01:00
Ilya Fedin
94b4809cdf Get XDG activation token also from DESKTOP_STARTUP_ID 2022-11-25 15:11:25 +01:00
Ilya Fedin
109f6614f0 Unset XDG_ACTIVATION_TOKEN after used with GApplication 2022-11-25 15:11:25 +01:00
23rd
88b0ea70b3 Respected download manager when loading multiple files from menu. 2022-11-25 16:42:47 +03:00
23rd
c7583e3106 Fixed codesign in Github CI on macOS. 2022-11-25 16:42:47 +03:00
23rd
b9003202bf Removed differentiation of replies by color in channels. 2022-11-25 16:42:47 +03:00
23rd
53c4b511f8 Fixed different configuration flags for FFmpeg on macOS. 2022-11-25 16:01:41 +03:00
John Preston
b474db2106 Version 4.3.4.
- Fix OpenGL regression in Qt and language detection.
2022-11-25 12:21:45 +01:00
Ilya Fedin
ca408828c1 Update patches on Linux 2022-11-25 12:20:12 +01:00
Ilya Fedin
d63e483615 Use command-chain for desktop-launch in snap 2022-11-25 12:20:12 +01:00
Ilya Fedin
bea3e5d48f Add mm-common to glibmm build-packages 2022-11-25 12:20:12 +01:00
Ilya Fedin
8b20c27ba7 Add protobuf to snap 2022-11-25 12:20:12 +01:00
Ilya Fedin
e561f93d44 Revert "Implement sonnet-based language detection backend"
This reverts commit 4b2d8b0c53.
2022-11-25 12:20:12 +01:00
Ilya Fedin
5df4dd36a7 Update Python to 3.8 in Docker 2022-11-25 11:14:15 +01:00
John Preston
1e6937a075 Version 4.3.3.
- Fix an issue with media auto-download on Windows.
- Fix switching accounts in maximized window.
- Fix collapsed archive row layout.
2022-11-23 23:09:31 +01:00
John Preston
d714c1edc0 Update submodules. 2022-11-23 23:01:05 +01:00
John Preston
ebf46e1270 Paint unread counter in expanded archive row. 2022-11-23 23:01:05 +01:00
John Preston
116a598508 Fix displaying of collapsed archive row. 2022-11-23 23:01:05 +01:00
23rd
f9a14fc6bc Fixed first check for skipping translation. 2022-11-23 23:01:05 +01:00
23rd
7cdc3eb2b2 Fixed translation of non-server messages. 2022-11-23 23:01:04 +01:00
23rd
294432ceed Differentiated replies in groups by color. 2022-11-23 23:01:04 +01:00
23rd
551bf4f9a7 Switched default language for skip translation to application language. 2022-11-23 23:01:04 +01:00
Ilya Fedin
4b2d8b0c53 Implement sonnet-based language detection backend 2022-11-23 23:00:06 +01:00
John Preston
58e35dec12 Fix auto-download with LTCG on Windows. 2022-11-23 10:07:16 +01:00
John Preston
ae90347c6c Revert "Fixed switching between accounts with filters at screen edge."
This reverts commit 8f3c3b2a54.

Regressions with account switch in a maximized window.
2022-11-23 00:44:31 +01:00
John Preston
1aece79a47 Version 4.3.2.
- Enable message translations in Settings > Language.
- Fast jump to the last updated topic.
- Bug fixes and other minor improvements.
2022-11-22 00:28:07 +00:00
John Preston
79a2d85287 Fix build with GCC. 2022-11-22 00:28:07 +00:00
23rd
937d243a4c Respected translation preferences in sections. 2022-11-22 00:28:07 +00:00
23rd
f82bae15f0 Added translation preferences. 2022-11-22 00:28:07 +00:00
23rd
7aede75e43 Added external cld3 library. 2022-11-22 00:28:03 +00:00
23rd
b72fce4894 Removed LanguageBox::createMultiSelect method. 2022-11-22 00:26:49 +00:00
23rd
32cebc0d9b Fixed position of show more button in translate box. 2022-11-22 00:26:49 +00:00
John Preston
2de76cb75b Highlight primary usernames in profiles like the additional ones. 2022-11-22 00:26:49 +00:00
John Preston
ab06574fd9 Add some margin for one-line profile values copying. 2022-11-22 00:26:49 +00:00
John Preston
473e190aeb Fix single-column forum-by-user search. 2022-11-22 00:26:49 +00:00
John Preston
4b5a0942b1 Open just topic in quick jump-to-last-topic click. 2022-11-22 00:26:49 +00:00
John Preston
106bdae9ce Always open first topic in two-column layout. 2022-11-22 00:26:49 +00:00
John Preston
f97e5d6307 Fix build with Xcode. 2022-11-22 00:26:49 +00:00
John Preston
bb106b07af Show small unread mark for non-opened topics. 2022-11-22 00:26:49 +00:00
John Preston
ce631436bf Show non-read non-opened topics as unread. 2022-11-22 00:26:49 +00:00
23rd
bc5aa7338e Removed inaccessible users from choosing recipients for forwards box. 2022-11-22 00:26:49 +00:00
23rd
6db7840fa7 Added translate ability to context menu. 2022-11-22 00:26:49 +00:00
23rd
921d2239c7 Added initial implementation of choosing translation language from list. 2022-11-22 00:26:49 +00:00
23rd
0feef675f7 Added loading text effect to translate box. 2022-11-22 00:26:49 +00:00
23rd
f16d30de37 Added initial implementation of loading element effect. 2022-11-22 00:26:49 +00:00
23rd
cf54d9fb12 Moved out glare effect to separate file. 2022-11-22 00:26:49 +00:00
23rd
b7647fbcc1 Added initial implementation of translate box. 2022-11-22 00:26:49 +00:00
23rd
95a1ab6b0b Fixed display of send as button above voice record bar. 2022-11-22 00:26:49 +00:00
23rd
823b4e6b98 Added icon for inaccessible users. 2022-11-22 00:26:49 +00:00
23rd
3467fe226f Added ability to send webp as compressed image. 2022-11-22 00:26:49 +00:00
23rd
57c50c8655 Optimized includes of attach_prepare.h. 2022-11-22 00:26:48 +00:00
23rd
8f3c3b2a54 Fixed switching between accounts with filters at screen edge. 2022-11-22 00:26:48 +00:00
23rd
efc0908ed8 Fixed forum closing with Back mouse button.
- Fixed #25330.
2022-11-22 00:26:48 +00:00
John Preston
561e3f4809 Handle clicks on topic jump area. 2022-11-22 00:26:48 +00:00
John Preston
ede34578da Display jump to last topic message bubble. 2022-11-22 00:26:48 +00:00
John Preston
97356032ac Fix build in Xcode. 2022-11-22 00:26:48 +00:00
John Preston
4c8187f623 Topics list in forum chats list entry. 2022-11-22 00:26:48 +00:00
John Preston
996b6bf46a Fix unread mentions / reactions button in topics. 2022-11-22 00:26:48 +00:00
John Preston
37308cde21 Support dialog rows with variable height. 2022-11-22 00:26:48 +00:00
John Preston
248337daf5 Implement topics pin limit box. 2022-11-22 00:26:48 +00:00
John Preston
8a288476b8 Implement pinned topics reordering. 2022-11-22 00:26:48 +00:00
John Preston
c7741cb62a Apply short topic info from channelMessages. 2022-11-22 00:26:48 +00:00
John Preston
983b6af0b4 Update API scheme to layer 149. 2022-11-22 00:26:48 +00:00
Ilya Fedin
a94dd22caa Rewrite GenerateDesktopFile using Glib::KeyFile and KShell 2022-11-21 21:30:17 +00:00
Ilya Fedin
899ab9a16a Fix range loop warnings in Snap build 2022-11-21 21:30:17 +00:00
Ilya Fedin
2f0d14bd35 Use customWorkingDir() outside of Core::Launcher
This allows to add -workdir to shortcuts only if the process was launched with -workdir
2022-11-21 21:30:17 +00:00
Ilya Fedin
9b66b76bac Use GNotification only in flatpak by default
The UX is not the best without sound, so there's no advantage in using GNotification on GNOME.

Remove mention about being native to GNOME as it's not true anymore.
2022-11-20 08:52:36 +00:00
Ilya Fedin
a1e60a3f20 Ensure GNotification is not autodetected in snap
Snap reports it as present, but prevents the access and GNotification attempts to use portal that doesn't work in snap
2022-11-19 02:21:51 +04:00
Ilya Fedin
f7971733f4 Update msys2 base
It has new signatures and fixes the CI
2022-11-19 02:21:32 +04:00
Ilya Fedin
e33b62ad28 Update cmake_helpers 2022-11-18 20:40:57 +04:00
Ilya Fedin
82629dd3e5 Update Qt to 6.4.1 on Linux 2022-11-18 20:40:57 +04:00
Ilya Fedin
768fc9b8f6 Use the new Glib::Variant qint64/quint64 compatibility with old code 2022-11-18 20:40:33 +04:00
Ilya Fedin
b9b6a9e747 Follow desktop file naming specification
This is required for GApplication to enable all the features

https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#file-naming
2022-11-18 20:40:33 +04:00
Ilya Fedin
b4d310fd1e Don't subscribe to inhibiton changes when not supported 2022-11-18 20:40:33 +04:00
Ilya Fedin
f9dd2b4a0a Support GNotification
It's used if there's a gtk notification daemon or application is running sandboxed without access to the freedesktop protocol.

GNotification API is poor, but should feel native on environments using GNOME technologies.
2022-11-18 20:40:33 +04:00
Ilya Fedin
afaad155a0 Update to changes in MPRIS SystemMediaControlsManager backend
And let it use service name provided by flatpak by default
2022-11-11 11:47:13 +04:00
Ilya Fedin
9726b3c298 Avoid race condition when registering Wayland interfaces 2022-11-11 11:47:01 +04:00
23rd
85b94bc6fd Changed behavior to always delete messages for bots.
Fixed #17033.
2022-11-11 11:45:13 +04:00
23rd
f0645753d4 Toggled checkbox of deleting messages for both participants. 2022-11-11 11:45:13 +04:00
23rd
8b570f2e8f Fixed duplicated transcribe buttons for video messages.
Fixed #25327.
2022-11-11 11:45:13 +04:00
23rd
2b7b278b52 Respected global notify sound for Saved Messages.
Fixed #25315.
2022-11-11 11:45:13 +04:00
23rd
a02c01cce7 Added phrases for various types of albums in chats list. 2022-11-11 11:45:13 +04:00
23rd
9601207b2c Fixed warnings from Github CI. 2022-11-11 11:45:12 +04:00
John Preston
c06f0b3ea1 Fix contact status bar in single column layout. 2022-11-11 11:44:10 +04:00
John Preston
b514496546 Simplify SendProgressManager::done prototype. 2022-11-11 11:44:03 +04:00
John Preston
ca460dab6d Fix mute value casting. 2022-11-11 11:43:47 +04:00
John Preston
644ec1f599 Remove base::Observable / base::Variable. 2022-11-11 11:43:24 +04:00
John Preston
73e2cc96d1 Fix music player with RTL song names. 2022-11-11 11:43:06 +04:00
Ilya Fedin
d756ecc609 Handle cancel in menu_item_download_files, too 2022-11-10 17:43:48 +04:00
Ilya Fedin
0cd0ad7a5b Handle cancel for default download path in Linux sandbox 2022-11-10 00:24:37 +04:00
John Preston
9229c57e7a Fix monospace-wide comments thread root message.
Fixes #16343.
2022-11-09 12:51:44 +04:00
John Preston
5b17416177 Fix spoiler glitches in reply previews. 2022-11-09 12:40:28 +04:00
John Preston
0b7a2c18a2 Pause spoilers in reply / edit panels. 2022-11-09 12:40:27 +04:00
John Preston
187f5fa4f3 Fix emoji panel section appearance in topics. 2022-11-09 11:00:24 +04:00
John Preston
3fad69d3c8 Hide pinned bar in topics for a single pin. 2022-11-09 11:00:22 +04:00
John Preston
7e2a49c1f9 Fix possible crash in pinned bar destruction. 2022-11-09 10:22:48 +04:00
John Preston
66435d5269 Better folder / chat closing by escape. 2022-11-09 10:22:44 +04:00
John Preston
4a8b5c3015 Add "Show Topics List" button to topic profile. 2022-11-09 10:22:33 +04:00
John Preston
d0d2a4f488 Show messages count in forum. 2022-11-09 10:22:23 +04:00
John Preston
8ee28f6665 Skip forum send action painting. 2022-11-09 10:22:07 +04:00
John Preston
a2b0c551c2 Pass default download path in sandboxed environments. 2022-11-09 10:21:52 +04:00
Ilya Fedin
bff641c217 Update cmake_helpers 2022-11-08 23:37:58 +04:00
Ilya Fedin
a9c0b817d1 Explain how to build a backward compatible binary on Linux 2022-11-08 23:37:58 +04:00
Ilya Fedin
0f38dabd84 Update cmake for -flto=auto support 2022-11-08 23:37:58 +04:00
Ilya Fedin
8552047210 Always build glibmm with LTO to be able to build backward compatible binary 2022-11-08 23:37:58 +04:00
John Preston
092923fe6e Don't autodownload files if sandbox prevents it.
Partially fixes #25308.
2022-11-08 18:26:02 +04:00
John Preston
ab5792f59f Revert "Fix crash when asking download path in sandbox environment"
This reverts commit a4b0443047.
2022-11-08 18:26:01 +04:00
Dragoon Aethis
9d59e42b52 Add an experimental "small message radius" toggle (#25305)
Add an experimental "small message radius" toggle.

This toggle allows switching to the pre-4.3.0, smaller message bubble
radius after an app restart. The message bubble radius styles now have
to be referenced via the Ui::BubbleRadius* and Ui::MsgFileThumbRadius*
wrappers to use the appropriate value.
2022-11-08 14:19:17 +04:00
Ilya Fedin
e675dc1ef1 Fix appdata filename in snapcraft.yaml 2022-11-08 01:13:08 +04:00
John Preston
8cb980a791 Version 4.3.1.
- Critical bug fixes.
2022-11-07 23:43:04 +04:00
John Preston
785372f5d0 Remove redundant updateSize. 2022-11-07 23:40:41 +04:00
John Preston
aa6495a257 Fix a crash in sharing contact.
Fixes #25287.
2022-11-07 23:19:52 +04:00
23rd
7993c6207a Fixed crash on checking sponsored state with closed dialog. 2022-11-07 23:11:30 +04:00
Ilya Fedin
6af93b3497 Fix appdata changelog generation 2022-11-07 23:11:17 +04:00
John Preston
153fb3e579 Fix search in topic cancel on forum closing. 2022-11-07 20:01:18 +04:00
23rd
80d4c3affe Added button for invite links management even to public channels. 2022-11-07 19:17:21 +04:00
John Preston
9a1d9deea5 Fix peer list row selecting for forums.
The blobs in group calls are still round for them :(
2022-11-07 19:15:57 +04:00
Ilya Fedin
3b7cdb5748 Update lib_base 2022-11-07 18:16:49 +04:00
Ilya Fedin
f542a026ec Add _GTK_APPLICATION_ID support 2022-11-07 18:16:49 +04:00
23rd
629314cfa2 Added saving of scroll state in dialogs widget for restoring from forum. 2022-11-07 15:39:03 +03:00
23rd
c320917069 Fixed Escape shortcut for opened archived forums. 2022-11-07 14:46:41 +03:00
John Preston
9276f3dab8 Fix reply button in View as Messages. 2022-11-07 15:44:37 +04:00
John Preston
1316d14f7a Fix reading of comments.
Fixes #25276.
2022-11-07 15:27:09 +04:00
John Preston
0737034ea6 Fix pinning between topics. 2022-11-07 15:12:47 +04:00
John Preston
9a54473e03 Fix dialog row updating on user online status change.
Regression was introduced in ed895ace66.

Fixes #6410. Again. I hope.
2022-11-07 15:11:15 +04:00
John Preston
991fe491c5 Animate emoji only twice in chats list. 2022-11-07 14:32:06 +04:00
John Preston
6e606f3bb6 Animate topic icons only twice in topics list. 2022-11-07 14:32:06 +04:00
John Preston
d8a0497a7e Don't jump with focus to chats list. 2022-11-07 14:32:06 +04:00
Ilya Fedin
fc4682d77e Get rid of TDESKTOP_LAUNCHER_BASENAME
This key was mainly used to let flatpak and snap provide right desktop file name.
Now, we can compute it from the environment in runtime for both flatpak and snap.
There's no more need in this option. Desktop filename override by downstreams is highly discouraged.
2022-11-07 13:47:58 +04:00
Ilya Fedin
a507edb67a Get rid of workarounds for old flatpak versions
The minimal supported flatpak version since Qt 6.x is 1.14.0.
Flatpak shares temp directory and runtime directory between launches since 1.11.1.
FLATPAK_ID is defined since 1.1.2.
2022-11-07 13:47:58 +04:00
John Preston
bd8b90055e Fix showing forum in a single-column layout. 2022-11-07 13:19:40 +04:00
23rd
371ba40a50 Added volume button to media player for voices. 2022-11-06 18:55:11 +03:00
23rd
a8d8b5be28 Removed wrapping of message texts for mime data. 2022-11-06 18:18:24 +03:00
23rd
3e428faa2e Fixed crash on creating of callback for adding items to non-exist menu. 2022-11-06 18:18:24 +03:00
23rd
3887fbc437 Fixed crash from type box for groups. 2022-11-06 16:56:45 +03:00
Ilya Fedin
a4b0443047 Fix crash when asking download path in sandbox environment
This makes first download to go to temp directory, but I can't think of better solution without changing download path getting architecture.
2022-11-06 17:38:20 +04:00
Ilya Fedin
a73ff8f5d7 Get rid of legacy themes in snap
gtk-common-themes contains all the themes now
2022-11-06 08:08:42 +04:00
Ilya Fedin
0c8400212e Add curl to fix snap build on Launchpad 2022-11-06 00:08:25 +04:00
Ilya Fedin
dcfc3431f5 Disable unneeded validation for libsigc++ 2022-11-06 00:08:25 +04:00
John Preston
be60052b2d Version 4.3: Fix build for Linux. 2022-11-05 20:29:12 +04:00
John Preston
fcf88a9d1f Version 4.3: Fix build with GCC. 2022-11-05 19:13:56 +04:00
John Preston
9e7a4e59a8 Version 4.3: Fix build with Xcode. 2022-11-05 19:11:38 +04:00
John Preston
29e30d2d00 Version 4.3: Fix rounding with inline keyboard markup. 2022-11-05 19:07:20 +04:00
John Preston
efc06b7951 Version 4.3.
- Groups with more than 200 members
can now have their discussions organized into topics.
- Premium users can now convert both voice messages
and video messages into text.
2022-11-05 18:26:50 +04:00
John Preston
c15f89c260 Hide reply bars to the topic root in topic pinned. 2022-11-05 18:26:50 +04:00
John Preston
9dcea2cdef Hide unread counter inside View as Messages. 2022-11-05 17:49:01 +04:00
John Preston
080ab26804 Add some phrases to langpack. 2022-11-05 17:49:01 +04:00
John Preston
d58f312342 Generate old topic message links for now. 2022-11-05 17:49:01 +04:00
John Preston
b5bba2e4e2 Update lib_webview. 2022-11-05 17:49:01 +04:00
23rd
26f287fae0 Added support of posts_between flag for sponsored messages. 2022-11-05 15:44:08 +03:00
John Preston
fb33951c94 Fix grammar in a phrase. 2022-11-05 15:01:02 +04:00
23rd
421e7a960b Added phrases for usernames in admin log. 2022-11-05 08:16:34 +03:00
Ilya Fedin
fe987e3f22 Don't prime Qt's pkg-config files in snap 2022-11-04 23:06:25 +04:00
Ilya Fedin
d3071acad2 Build newer glibmm in snap 2022-11-04 23:06:25 +04:00
Ilya Fedin
959f23f475 Remove unused external_glib dependency from Telegram target 2022-11-04 23:06:25 +04:00
Ilya Fedin
820d367e78 Fix library search path in Docker image 2022-11-04 16:38:18 +04:00
Ilya Fedin
6ff3d9f975 Don't build qtquickcontrols2 in Docker 2022-11-04 16:38:18 +04:00
Ilya Fedin
da2f1b3d97 Add switch for LTO in Docker image 2022-11-04 16:38:18 +04:00
Ilya Fedin
0b2b3416d7 Build both versions of zlib in Dockerfile
For consistence with other libraries
2022-11-04 16:38:18 +04:00
Ilya Fedin
1c514b23ea Reduce glibmm's build targets 2022-11-04 16:38:18 +04:00
John Preston
592c471f58 Fix cancel of search by sender in forums. 2022-11-03 19:09:07 +04:00
John Preston
fdee5f9227 Fix search by recently used hashtags. 2022-11-03 18:45:15 +04:00
John Preston
9d313d2827 Fix focus jump to chats list on channel open. 2022-11-03 18:32:59 +04:00
John Preston
55fd9c5091 Closed alpha version 4.2.4.3. 2022-11-03 16:37:31 +04:00
John Preston
0dd45de254 Remember scroll state between topic openings. 2022-11-03 16:29:40 +04:00
Ilya Fedin
d7f2385275 Parallelize LTO on Linux 2022-11-03 14:46:46 +04:00
Ilya Fedin
1336a7149b Update glibmm to latest version 2022-11-03 14:45:01 +04:00
John Preston
67d99355ca Don't show empty popup menu in ListWidget. 2022-11-03 14:27:42 +04:00
John Preston
1953cc2f8a Fix "Topic Author" badge for the new topics. 2022-11-03 14:13:52 +04:00
John Preston
da941e4837 Fix possible crashes in topic / history deletion. 2022-11-03 13:26:36 +04:00
John Preston
b5a412929e Display pinned messages bar after topic creation. 2022-11-03 12:20:25 +04:00
John Preston
3fcb7c90e0 Apply first topic message pinning. 2022-11-03 12:19:29 +04:00
John Preston
b772697c59 Fix crash on topic creation. 2022-11-03 12:18:48 +04:00
John Preston
a088791752 Closed alpha version 4.2.4.2: Fix build with Xcode. 2022-11-02 22:29:21 +04:00
Ilya Fedin
ba9f5d138a Use some APIs from newer glibmm 2022-11-02 21:02:46 +04:00
John Preston
41192e5acd Closed alpha version 4.2.4.2. 2022-11-02 20:59:25 +04:00
John Preston
a21c73facd Optimize updates subscription in topics. 2022-11-02 20:59:12 +04:00
John Preston
9d4840c0de Respect window active state on mark as read. 2022-11-02 20:13:29 +04:00
John Preston
ff352d7647 Fix password request box closing in bot button callback. 2022-11-02 20:13:29 +04:00
John Preston
fdb29a756a Fix topic profile icon on Retina screen (again). 2022-11-02 17:22:01 +04:00
John Preston
34a2c5c8ce Display topic name in chats list. 2022-11-02 16:39:13 +04:00
John Preston
fdf4129e5e Fix build with GCC. 2022-11-02 08:51:03 +04:00
John Preston
45cacc94c0 Fix build with Xcode. 2022-11-02 01:16:55 +04:00
John Preston
e62bdd286d Show topic title in the notifications. 2022-11-01 21:05:49 +04:00
23rd
969b051c8f Limited count of sponsored messages at bottom to single one for now. 2022-11-01 20:03:16 +04:00
23rd
3b79d944af Removed unused includes of observer file. 2022-11-01 20:03:14 +04:00
John Preston
cddb2a4bac Improve video chat menu for forums. 2022-11-01 20:00:09 +04:00
Ilya Fedin
0c514c4b0a Have unified compiler flags in Dockerfile 2022-11-01 19:34:05 +04:00
Ilya Fedin
435e4f2783 Adapt for target_prepare_qrc changes 2022-11-01 19:33:54 +04:00
Ilya Fedin
68ad56db79 Use QtWaylandCompositor for webview embedding on Linux 2022-11-01 19:33:46 +04:00
John Preston
ab0f12cf1c Fix topic icon on retina screen. 2022-11-01 19:25:45 +04:00
John Preston
fba0f0c49b Improve topic three-dot menu. 2022-11-01 19:25:45 +04:00
23rd
03c08ad95f Added saving of scroll state in dialogs widget between chats filters. 2022-11-01 19:25:45 +04:00
John Preston
c6aba83a6b Fix crash on local edit draft, fix reading drafts. 2022-11-01 19:25:45 +04:00
John Preston
f13a2517cd Topic Author badge only if not admin. 2022-11-01 19:25:45 +04:00
John Preston
7ec1af5e50 Forbid saving / copying of extended media.
Fixes #25227.
2022-11-01 19:25:45 +04:00
John Preston
bd8cdcb520 Fix topic icons animating in choose topic box. 2022-11-01 19:25:45 +04:00
John Preston
7dbb4a0959 Clear forward drafts on topic destruction. 2022-11-01 19:25:45 +04:00
John Preston
f6e501a431 Fix opening topic first time, jump down on second click. 2022-11-01 19:25:45 +04:00
John Preston
57dc0c632e Open forum by invite link. 2022-11-01 19:25:45 +04:00
John Preston
e6c2aa8021 Support topic choosing in ShareBox. 2022-11-01 19:25:45 +04:00
John Preston
7384cd3463 Support sharing games by link to topics. 2022-11-01 19:25:44 +04:00
John Preston
83ec449890 Display topic title in topic-root reply bars. 2022-11-01 19:25:44 +04:00
John Preston
15f72ca6c1 Fix contact sharing to topics. 2022-11-01 19:25:44 +04:00
John Preston
afd6121cbb Don't mass-select service messages in replies. 2022-11-01 19:25:44 +04:00
John Preston
dd3c8430bf Forbid deleting the topic root. 2022-11-01 19:25:44 +04:00
John Preston
d5ea0149e8 Implement drag-n-drop to forum topics. 2022-11-01 19:25:44 +04:00
John Preston
6d215d3729 Implement unpin all messages within a thread. 2022-11-01 19:25:44 +04:00
John Preston
1ac051a812 Implement forwarding to topics. 2022-11-01 19:25:44 +04:00
23rd
c497e9ca9c Slightly optimized includes in HistoryWidget. 2022-11-01 19:25:44 +04:00
23rd
ed356a1fc5 Fixed jumping to message from composed search. 2022-11-01 19:25:44 +04:00
23rd
290e8bb449 Fixed appearing of transcribe button on various messages with video. 2022-11-01 19:25:44 +04:00
John Preston
079c36abf3 Fix build with Xcode. 2022-11-01 19:25:44 +04:00
John Preston
fb0eee01f2 Closed alpha version 4.2.4.1. 2022-11-01 19:25:44 +04:00
John Preston
bc96bdf7a9 Add video chat management menu items to forum. 2022-11-01 19:25:43 +04:00
John Preston
18bf5c0ee2 Handle nice topic / post-in-topic links. 2022-11-01 19:25:43 +04:00
23rd
3078a94404 Added fallback of waveform data to transcribed round messages. 2022-11-01 19:25:43 +04:00
John Preston
af6ca8d4f1 Show "Topic Author" fake admin rank. 2022-11-01 19:25:43 +04:00
John Preston
aa5f9467f2 Support attach webview bots in topics. 2022-11-01 19:25:43 +04:00
John Preston
b3f9b16eb2 Add correct topics icon to manage group box. 2022-11-01 19:25:43 +04:00
John Preston
443745e3fc Show chosen search result in topic messages search. 2022-11-01 19:25:43 +04:00
John Preston
fcf9ca3982 Fix local pinned hiding in topics. 2022-11-01 19:25:43 +04:00
John Preston
8dc27339b4 Support pinned messages bar in topics. 2022-11-01 19:25:43 +04:00
John Preston
da1e784803 Search from a user inside forum / topic. 2022-11-01 19:25:43 +04:00
John Preston
46ebbdb547 Open jump-to-date by date click in topics. 2022-11-01 19:25:43 +04:00
John Preston
850746b0ba Improve search-in-topic closing. 2022-11-01 19:25:43 +04:00
John Preston
5d76415a5d Implement jump-to-date in topics. 2022-11-01 19:25:43 +04:00
John Preston
ee8f997c14 Implement search inside a single topic. 2022-11-01 19:25:43 +04:00
John Preston
60aef7871a Append server-side topic search results. 2022-11-01 19:25:43 +04:00
John Preston
d6ee5b3456 Show forum messages search results with topics. 2022-11-01 19:25:42 +04:00
John Preston
88d1a502a5 Implement search in topics / forum messages. 2022-11-01 19:25:42 +04:00
John Preston
c8ed8e0e5f Support nice empty topic view. 2022-11-01 19:25:42 +04:00
John Preston
99564d3d44 Implement restrictions on topics enabling. 2022-11-01 19:25:42 +04:00
John Preston
aac91a19ca Context-aware phrases in topic service messages. 2022-11-01 19:25:42 +04:00
John Preston
97d8aa0a0d Add a distinct forum icon in chats list. 2022-11-01 19:25:42 +04:00
John Preston
76330eaaa6 Provide a draft from notification to correct thread. 2022-11-01 19:25:42 +04:00
John Preston
06d1644baa Mark topics as read on reply from notification. 2022-11-01 19:25:42 +04:00
John Preston
ef3ed760b1 Unread counters don't differ in/out messages in threads. 2022-11-01 19:25:42 +04:00
John Preston
ec0380b250 Show premium tooltip on custom topic icon selection. 2022-11-01 19:25:42 +04:00
John Preston
c6bc7c3de1 Disable "Clear history" in forums. 2022-11-01 19:25:42 +04:00
John Preston
6e491913d6 Add "View in Thread" context menu button. 2022-11-01 19:25:42 +04:00
John Preston
48fb410bc7 Fix third column profile in topics. 2022-11-01 19:25:42 +04:00
John Preston
602ba5bba9 Implement correct ForumTopic::canWrite logic. 2022-11-01 19:25:42 +04:00
23rd
1cd02fc3c9 Added display of video message in transcribed view. 2022-11-01 19:25:42 +04:00
23rd
dec47eafb8 Improved display of transcribe button for video messages. 2022-11-01 19:25:42 +04:00
23rd
579b20fff7 Added initial ability to transcribe video messages. 2022-11-01 19:25:42 +04:00
John Preston
b4a9705564 Simplify pin_messages/manage_topics logic. 2022-11-01 19:25:41 +04:00
John Preston
72354f52d4 Improve top bars in forums, in narrow column. 2022-11-01 19:25:41 +04:00
John Preston
70e5f752ba Correctly handle complex pin_messages/manage_topics. 2022-11-01 19:25:41 +04:00
John Preston
53beb6f562 Allow editing ManageTopics rights/restrictions. 2022-11-01 19:25:41 +04:00
John Preston
ed895ace66 Track dialog row offline status by timer.
Fixes #6410.
2022-11-01 19:25:41 +04:00
John Preston
0cba9e4a22 Support default forum topic icons. 2022-11-01 19:25:41 +04:00
John Preston
5314833c82 Show requests / group call / report in forums. 2022-11-01 19:25:41 +04:00
John Preston
b92b8e56cb Improve single column layout forum / topic top bar. 2022-11-01 19:25:41 +04:00
John Preston
b497e5ea21 Add a Reopen Topic button on topic top for admins. 2022-11-01 19:25:41 +04:00
John Preston
92bf925fd0 Show locked topic icon in topics list. 2022-11-01 19:25:41 +04:00
John Preston
eab23df174 Improve narrow topics column in forum. 2022-11-01 19:25:41 +04:00
John Preston
ce17904dcc Improve topic creation, fix glitches. 2022-11-01 19:25:41 +04:00
23rd
fd2edb51e9 Fixed build in Xcode. 2022-11-01 19:25:41 +04:00
23rd
6d3f9017fa Added ability to report chat photo and channel photo. 2022-11-01 19:25:41 +04:00
23rd
f0177bc6cc Fixed display of info in profile box for inaccessible peers. 2022-11-01 19:25:41 +04:00
23rd
50b27b51a1 Fixed losing of saved usernames order from edit peer box. 2022-11-01 19:25:41 +04:00
John Preston
4074a558e7 Get rid of Ui::FlatInput class.
Fixes #16172.
2022-11-01 19:25:41 +04:00
John Preston
f9173ea849 Improve top bar design for forum / topic. 2022-11-01 19:25:41 +04:00
John Preston
3a967bbbfe Ignore unread counts in non-opened topics. 2022-11-01 19:25:41 +04:00
John Preston
7aea54ad8f Fix crash in topics admin log. 2022-11-01 19:25:41 +04:00
John Preston
4910a60499 Track mentions / reactions together with unread. 2022-11-01 19:25:40 +04:00
John Preston
5356f6cd2c Reload topics on channelDifferenceTooLong. 2022-11-01 19:25:40 +04:00
John Preston
08ba277327 Track forum unread state by topics inside. 2022-11-01 19:25:40 +04:00
John Preston
a292f8a34e Allow opening forums from archive / filters. 2022-11-01 19:25:40 +04:00
John Preston
7cdf20a7c5 Allow topic deletion. 2022-11-01 19:25:40 +04:00
John Preston
adaa1d0c55 Support pinned topics in forums. 2022-11-01 19:25:40 +04:00
John Preston
306179ca7c Update API scheme on layer 148. 2022-11-01 19:25:40 +04:00
John Preston
c86496add1 Fix document thumbnails on Retina screens. 2022-11-01 19:25:40 +04:00
John Preston
ad2f9438a2 Support topic closing. 2022-11-01 19:25:40 +04:00
John Preston
fe41fbd7e9 Support topics in Recent Actions. 2022-11-01 19:25:40 +04:00
John Preston
df5602d203 Support topic icon display in topic profile. 2022-11-01 19:25:40 +04:00
John Preston
fcc4503791 Add "View as Messages" in forums. 2022-11-01 19:25:40 +04:00
23rd
9ddbc75638 Added api flag support of userpic display for sponsored messages. 2022-11-01 19:25:40 +04:00
23rd
dc8b693f1d Added context menu to bar of pinned messages with bot button. 2022-11-01 19:25:40 +04:00
23rd
659a7622be Fixed memory leak from bar of pinned messages. 2022-11-01 19:25:40 +04:00
23rd
a4856e4436 Added handling of error for too much number of activated usernames. 2022-11-01 19:25:40 +04:00
23rd
c9390dc02a Added draft for usernames in admin log. 2022-11-01 19:25:40 +04:00
23rd
bdd79aa2f2 Changed row in usernames list for editable one. 2022-11-01 19:25:40 +04:00
23rd
ad70942d0e Moved usernames data management to separated class. 2022-11-01 19:25:39 +04:00
23rd
c8ae7c7402 Added ability to download multiple files from context menu. 2022-11-01 19:25:39 +04:00
23rd
8175fd19de Fixed position of toggle menu button in downloads narrow section. 2022-11-01 19:25:39 +04:00
23rd
4207995ef0 Added right button to rows of usernames list for reorder. 2022-11-01 19:25:39 +04:00
23rd
00df4625e2 Added support of primary username to FieldAutocomplete. 2022-11-01 19:25:39 +04:00
23rd
79f592a84f Added usernames support to info profile. 2022-11-01 19:25:39 +04:00
23rd
ad7bc6326d Added context menu to usernames list. 2022-11-01 19:25:39 +04:00
23rd
17623640b3 Slightly improved appearing of usernames list. 2022-11-01 19:25:39 +04:00
23rd
d55ff7aa4a Added usernames list to peer type box for public channels. 2022-11-01 19:25:39 +04:00
23rd
113d9742f4 Added initial implementation of usernames list for boxes. 2022-11-01 19:25:39 +04:00
23rd
acbc248f23 Replaced UsernameBox with generic box. 2022-11-01 19:25:39 +04:00
23rd
4f4d0bef25 Added usernames info to ChannelData. 2022-11-01 19:25:38 +04:00
23rd
ffa8a94180 Added usernames info to UserData. 2022-11-01 19:25:38 +04:00
23rd
51cead1445 Added initial implementation of api for usernames. 2022-11-01 19:25:38 +04:00
23rd
29663a410a Added decimal separators to count of participants in group call bar. 2022-11-01 19:25:38 +04:00
23rd
4824b26afd Added tooltip with forwards count to views info for channel messages. 2022-11-01 19:25:38 +04:00
23rd
5751d29c47 Removed username from public data members of UserData. 2022-11-01 19:25:38 +04:00
23rd
9b7329b378 Removed username from public data members of ChannelData. 2022-11-01 19:25:38 +04:00
23rd
38f5cda800 Added display of full filenames for documents in tooltips. 2022-11-01 19:25:38 +04:00
23rd
c1b2d7ed4c Attempted to fix showing of tooltips on loading documents. 2022-11-01 19:25:38 +04:00
John Preston
89d0a71591 Update API scheme on layer 148: Drafts in topics. 2022-11-01 19:25:38 +04:00
John Preston
791addd0ee Start topic profile cover design. 2022-11-01 19:25:38 +04:00
John Preston
d4255bbfe4 Fix build with Xcode. 2022-11-01 19:25:38 +04:00
John Preston
ead427793b Handle forum / topic links. 2022-11-01 19:25:38 +04:00
John Preston
16e189a2ce Update API scheme on layer 148: Usernames. 2022-11-01 19:25:37 +04:00
John Preston
6997e165c6 Forum three-dot menu, except search. 2022-11-01 19:25:37 +04:00
John Preston
9b0cae9c97 Fix name width in accounts list. Fixes #25116. 2022-11-01 19:25:37 +04:00
John Preston
b68ffcd75d Update topic mute state on history mute changes. 2022-11-01 19:25:37 +04:00
John Preston
d92580b8fc Update API scheme on layer 148: Notifications.
Support editing / respect notification settings for topics.
2022-11-01 19:25:37 +04:00
John Preston
b8bdca8921 Extract Data::Thread common for History / ForumTopic. 2022-11-01 19:25:37 +04:00
John Preston
9fccdf21cc Remove General meta-forum-topic. 2022-11-01 19:25:37 +04:00
John Preston
92a4b27e65 Support per-topic notification settings. 2022-11-01 19:25:37 +04:00
John Preston
24843e3acd Rounded square userpics for forums. 2022-11-01 19:25:37 +04:00
John Preston
8561893e2e Update API scheme on layer 148. 2022-11-01 19:25:37 +04:00
John Preston
6695eda1be Handle forum-non_forum changes in realtime. 2022-11-01 19:25:37 +04:00
John Preston
04d06e5b12 Fix build with Xcode. 2022-11-01 19:25:37 +04:00
John Preston
58b8eb8e96 Implement per-topic shared media. 2022-11-01 19:25:37 +04:00
John Preston
eec4b72d9a Implement correct jump to message / unread / bottom. 2022-11-01 19:25:37 +04:00
John Preston
3999bca823 Support unread mentions / reactions in topics. 2022-11-01 19:25:36 +04:00
John Preston
6a7f030ee7 Update API scheme on layer 148.
Extract message history corner buttons code.
2022-11-01 19:25:36 +04:00
John Preston
2c0b5b3210 Track unread mentions / reactions in topics. 2022-11-01 19:25:36 +04:00
John Preston
9348039313 Track unread posts in forums inside RepliesList-s. 2022-11-01 19:25:36 +04:00
John Preston
0d985b5745 Don't focus main button on progress show. 2022-11-01 19:25:36 +04:00
John Preston
d4cdd67128 Fix RTL text in bot attach webview main button. 2022-11-01 19:25:36 +04:00
John Preston
f258b054e8 Request last topic message if it becomes unknown. 2022-11-01 19:25:36 +04:00
John Preston
032e6c57e9 Request full album for last topic message. 2022-11-01 19:25:36 +04:00
John Preston
377b86372b Don't jump above pinned chats.
Fixes #6802.
2022-11-01 19:25:36 +04:00
John Preston
24d3bcb590 Use operator<=> for some simplest data types. 2022-11-01 19:25:36 +04:00
John Preston
2c50f7b18c Implement nice topic icon create / edit box. 2022-11-01 19:25:36 +04:00
John Preston
3aa7f4dd62 Test custom emoji timer-by-on_main optimization. 2022-11-01 19:25:36 +04:00
John Preston
bacc30e296 Fix custom emoji interaction with other animations. 2022-11-01 19:25:36 +04:00
John Preston
3c739912ba Use non-allocating literals with MSVC in Release. 2022-11-01 19:25:36 +04:00
John Preston
ae3496d6a4 Update API scheme on layer 148: Topic icons. 2022-11-01 19:25:36 +04:00
John Preston
f3c664859d Don't show root pinned bar in topic messages list. 2022-11-01 19:25:36 +04:00
John Preston
57b752c232 Don't crash on topic icon reset. 2022-11-01 19:25:36 +04:00
John Preston
2781fe2c34 Show temporary placeholder topic icon. 2022-11-01 19:25:35 +04:00
John Preston
5d43073efa Support editing of not-fully-created topic. 2022-11-01 19:25:35 +04:00
John Preston
3722e55b67 Support topic on-the-fly creation. 2022-11-01 19:25:35 +04:00
John Preston
065d2e2ac9 Fix crash in toasts without spoilers. 2022-11-01 19:25:35 +04:00
John Preston
b77756ce12 Highlight active topic in chats list. 2022-11-01 19:25:35 +04:00
John Preston
1e8dfb7315 Partially support correct rounding near unwrapped media. 2022-11-01 19:25:35 +04:00
John Preston
83008fa358 Support new rounding in theme preview generator. 2022-11-01 19:25:35 +04:00
John Preston
f167cdad6f Fix crash in quiz explanation with spoilers. 2022-11-01 19:25:35 +04:00
John Preston
d15173e09d Update API scheme on layer 148. 2022-11-01 19:25:35 +04:00
John Preston
001c46f68a Support new rounding in poll bottom button. 2022-11-01 19:25:35 +04:00
John Preston
09ab83836f Support new rounding for comments button. 2022-11-01 19:25:35 +04:00
John Preston
e5f2d83548 Support new rounding in bot inline keyboards. 2022-11-01 19:25:35 +04:00
John Preston
9cab06e17d Support new rounding for albums. 2022-11-01 19:25:35 +04:00
John Preston
8268e9f872 Support new rounding for GIFs / videos. 2022-11-01 19:25:35 +04:00
John Preston
b2302d35fe Implement correct rounding of shared locations. 2022-11-01 19:25:35 +04:00
John Preston
5e82433693 Fix build with Xcode. 2022-11-01 19:25:35 +04:00
John Preston
abdd126dcf Round correctly distinct photos and extended media. 2022-11-01 19:25:35 +04:00
John Preston
f3662f4873 Support correct rounding of file thumbnails. 2022-11-01 19:25:34 +04:00
John Preston
dd52c53ec0 Allow more file attach layout customization. 2022-11-01 19:25:34 +04:00
John Preston
b13471672d Move some chat styles from basic.style to chat.style. 2022-11-01 19:25:34 +04:00
John Preston
ba2f92906b Implement new bubble rounding. 2022-11-01 19:25:34 +04:00
John Preston
405d8c327d Support different row styles in chats list. 2022-11-01 19:25:34 +04:00
John Preston
1401b19994 Add PaintContext for Dialogs::Ui::RowPainter. 2022-11-01 19:25:34 +04:00
John Preston
4724ef91f6 Improve topic by message resolving. 2022-11-01 19:25:34 +04:00
John Preston
d7fdd80f55 Fix jumping in topics list on message send. 2022-11-01 19:25:34 +04:00
John Preston
9f652b0d3f Unify message sending, track forum topic icons. 2022-11-01 19:25:34 +04:00
John Preston
3b3792ef75 Allow editing topic title and icon. 2022-11-01 19:25:33 +04:00
John Preston
c90f879c96 Update API scheme on layer 148. 2022-11-01 19:25:33 +04:00
John Preston
73e56b0340 Support default General topic in forums. 2022-11-01 19:25:32 +04:00
John Preston
2201159da5 Simplify app name in Install-nd-Remove. 2022-11-01 19:25:32 +04:00
John Preston
eaf679916a Create / move forum topics on new messages. 2022-11-01 19:25:32 +04:00
John Preston
388fe6adfb Allow enabling forum, creating topics. 2022-11-01 19:25:32 +04:00
John Preston
c88140e256 Update API scheme to layer 148, start forums. 2022-11-01 19:25:32 +04:00
GitHub Action
87b228b256 Update User-Agent for DNS to Chrome 106.0.5249.119. 2022-11-01 19:24:47 +04:00
Ilya Fedin
4832e3b3ab Fix the comment about surface size in media_view_pip
Surface size is buffer size, in fact...
2022-10-30 07:35:33 +04:00
Ilya Fedin
7b5781b845 Use default-constructed QLocale for date/time/whatever else formatting
Qt 6 chenged the QDateTime API to use QLocale::c() rather than QLocale::system(), using default-constructed QLocale will make this consistent and overradable application-wide

Other formating use-cases as QLocale::decimalPoint use default-constructed QLocale now, too
2022-10-17 08:33:22 +04:00
Ilya Fedin
2c1933bdb8 Use application-wide time format in remaining td_ui places 2022-10-17 08:33:22 +04:00
Ilya Fedin
f9bf68461d Provide the same sizes for tray icon as for main window icon 2022-10-16 18:04:07 +04:00
Ilya Fedin
8f1a8f909d Ask download path first time in Linux sandbox
This allows to have less sandbox holes in flatpak and allows snap users to specify a normal folder to download to (as opposed to $HOME/snap/$SNAP_NAME/current/Downloads)
2022-10-06 19:13:38 +04:00
Ilya Fedin
4b859828c8 Replace the duplicate issues link with link to translation platform in XDG metadata 2022-10-06 19:10:47 +04:00
Ilya Fedin
13103ad0e6 Update cmake_helpers 2022-10-03 09:29:25 +04:00
Ilya Fedin
2d69329dc9 Set linux webview debug mode via D-Bus IPC 2022-10-03 09:29:25 +04:00
Anton Samokhvalov
3fe403117a fix clang15/libc++15 build 2022-10-02 07:39:54 +04:00
GitHub Action
6147994713 Update User-Agent for DNS to Chrome 105.0.5195.125. 2022-10-01 09:10:55 +04:00
John Preston
0fbb2e77fe Fix rare crash in message list context menu. 2022-09-30 18:50:43 +04:00
John Preston
1350fa64f3 Version 4.2.4.
- Fix crash in emoji statuses clearing.
2022-09-30 16:30:58 +04:00
John Preston
70ba28bbd5 Fix crash in emoji statuses clearing. 2022-09-30 16:30:58 +04:00
Ilya Fedin
16649a9661 Fix snap build 2022-09-30 07:44:18 +04:00
Ilya Fedin
8eb6d2e36b Update Qt and libjxl to release versions on Linux 2022-09-30 00:24:32 +04:00
23rd
8b580de47e Version 4.2.3: Fixed Github CI Windows and macOS builds. 2022-09-29 21:22:06 +04:00
23rd
5b1a9fb3e1 Migrated gyp for breakpad to upstream in prepare script on macOS. 2022-09-29 21:22:06 +04:00
Ilya Fedin
2a6e2fa353 Bundle kcoreaddons 2022-09-28 23:59:59 +04:00
Ilya Fedin
16669402cf Decrease the amount of clipboard data retrievation 2022-09-28 23:59:59 +04:00
John Preston
073c1a4d0f Version 4.2.3: Fix possible crash in premium section. 2022-09-28 15:58:25 +04:00
John Preston
4c276e2357 Version 4.2.3: Fix clearing of user emoji status. 2022-09-28 15:49:34 +04:00
John Preston
889529718f Fix possible stack overflow crash on Windows.
Fixes #25129.
2022-09-28 15:49:34 +04:00
23rd
acb092f9f2 Fixed stuck of history-down button after sending message. 2022-09-28 12:31:16 +03:00
23rd
9cd194e60e Removed ability to copy links in channels with restricted content. 2022-09-28 12:31:16 +03:00
23rd
9c3173e4bb Fixed updating of emoji status from TopBar in Premium Settings for user.
Regression was introduced in 47b32898f5.
2022-09-28 08:46:35 +03:00
John Preston
62b624c390 Version 4.2.3.
- Improve scaling / cropping for photos / video files.
- Improve touch support in channel comments.
- Nice animation for spoilers.
2022-09-28 09:34:31 +04:00
John Preston
1ee9122660 Fix text selection in recent actions. 2022-09-25 18:22:01 +04:00
John Preston
6cb01998cc Fix crash in recent actions with spoilers. 2022-09-25 18:21:59 +04:00
John Preston
0e6c899cee Fix crash after spoiler reveal in comments. 2022-09-25 18:21:58 +04:00
John Preston
09a6df1fdc Set some layers crash annotations. 2022-09-25 18:21:56 +04:00
980 changed files with 50705 additions and 24255 deletions

View File

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

11
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: API issue
url: https://bugs.telegram.org
about: Any bug report or feature request affecting more than only Telegram Desktop.
- name: Issue of other client
url: https://bugs.telegram.org
about: Any bug report or feature request not about Telegram Desktop.
- name: Question
url: https://t.me/TelegramDesktopTalk
about: Ask a question.

View File

@@ -20,7 +20,7 @@ jobs:
steps:
- name: Clone.
uses: actions/checkout@v2
uses: actions/checkout@v3.1.0
with:
submodules: recursive
@@ -31,7 +31,7 @@ jobs:
run: |
cd Telegram/build/docker/centos_env
poetry install
DEBUG= poetry run gen_dockerfile | docker buildx build -t $IMAGE_TAG -
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 }}

View File

@@ -51,7 +51,7 @@ jobs:
defaults:
run:
shell: scl enable llvm-toolset-7.0 -- scl enable devtoolset-10 -- bash --noprofile --norc -eo pipefail {0}
shell: scl enable rh-python38 -- scl enable llvm-toolset-7.0 -- scl enable devtoolset-10 -- bash --noprofile --norc -eo pipefail {0}
strategy:
matrix:
@@ -69,7 +69,7 @@ jobs:
run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- name: Clone.
uses: actions/checkout@v2
uses: actions/checkout@v3.1.0
with:
submodules: recursive
path: ${{ env.REPO_NAME }}
@@ -93,6 +93,8 @@ jobs:
fi
./configure.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" \

View File

@@ -40,7 +40,7 @@ jobs:
macos:
name: MacOS
runs-on: macos-latest
runs-on: macos-12
strategy:
matrix:
@@ -56,7 +56,7 @@ jobs:
run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- name: Clone.
uses: actions/checkout@v2
uses: actions/checkout@v3.1.0
with:
submodules: recursive
path: ${{ env.REPO_NAME }}
@@ -73,7 +73,7 @@ jobs:
- name: ThirdParty cache.
id: cache-third-party
uses: actions/cache@v2
uses: actions/cache@v3.0.11
with:
path: ThirdParty
key: ${{ runner.OS }}-third-party-${{ hashFiles(format('{0}/{1}', env.REPO_NAME, env.PREPARE_PATH)) }}
@@ -81,7 +81,7 @@ jobs:
- name: Libraries cache.
id: cache-libs
uses: actions/cache@v2
uses: actions/cache@v3.0.11
with:
path: Libraries
key: ${{ runner.OS }}-libs-${{ hashFiles(format('{0}/{1}', env.REPO_NAME, env.PREPARE_PATH)) }}
@@ -119,7 +119,7 @@ jobs:
cd ../out
xcoderun='xcodebuild build -project Telegram.xcodeproj -scheme Telegram -destination "platform=macOS,arch=x86_64" -configuration Debug'
xcoderun='xcodebuild build -project Telegram.xcodeproj -scheme Telegram -destination "platform=macOS,arch=x86_64" -configuration Debug CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO'
bash -c "$xcoderun" || bash -c "$xcoderun" || bash -c "$xcoderun"
- name: Move artifact.

View File

@@ -11,7 +11,7 @@ jobs:
SKIP: "0"
to_branch: "master"
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v3.1.0
if: env.SKIP == '0'
- name: Push the code to the master branch.
if: env.SKIP == '0'

View File

@@ -47,13 +47,14 @@ jobs:
steps:
- name: Clone.
uses: actions/checkout@v2
uses: actions/checkout@v3.1.0
with:
fetch-depth: 0
submodules: recursive
- name: First set up.
run: |
sudo iptables -P FORWARD ACCEPT
sudo snap install --classic snapcraft
sudo usermod -aG lxd $USER
sudo snap run lxd init --auto

View File

@@ -60,28 +60,28 @@ jobs:
steps:
- name: Prepare directories.
run: |
mkdir %userprofile%\TBuild
mklink /d %GITHUB_WORKSPACE%\TBuild %userprofile%\TBuild
echo TBUILD=%GITHUB_WORKSPACE%\TBuild>>%GITHUB_ENV%
mkdir %userprofile%\TBuild Libraries
mklink /d %userprofile%\TBuild\Libraries %GITHUB_WORKSPACE%\Libraries
echo TBUILD=%userprofile%\TBuild>>%GITHUB_ENV%
- name: Get repository name.
shell: bash
run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- uses: ilammy/msvc-dev-cmd@v1.10.0
- uses: ilammy/msvc-dev-cmd@v1.12.0
name: Native Tools Command Prompt.
with:
arch: ${{ matrix.arch }}
- name: Clone.
uses: LebedevRI/checkout@issue197
uses: actions/checkout@v3.1.0
with:
submodules: recursive
path: ${{ env.TBUILD }}\${{ env.REPO_NAME }}
- name: Python installs.
run: py -m pip install pywin32 six
- name: Set up environment paths.
shell: bash
run: |
@@ -98,7 +98,7 @@ jobs:
- name: Libraries cache.
id: cache-libs
uses: actions/cache@v2
uses: actions/cache@v3.0.11
with:
path: Libraries
key: ${{ runner.OS }}-${{ matrix.arch }}-libs-${{ env.CACHE_KEY }}
@@ -116,13 +116,20 @@ jobs:
DEFINE=""
if [ -n "${{ matrix.defines }}" ]; then
DEFINE="-D ${{ matrix.defines }}=ON"
echo Define from matrix: $DEFINE
echo "Define from matrix: $DEFINE"
echo "ARTIFACT_NAME=Telegram_${{ matrix.arch }}_${{ matrix.defines }}" >> $GITHUB_ENV
else
echo "ARTIFACT_NAME=Telegram_${{ matrix.arch }}" >> $GITHUB_ENV
fi
echo "TDESKTOP_BUILD_DEFINE=$DEFINE" >> $GITHUB_ENV
API="-D TDESKTOP_API_TEST=ON"
if [ ${{ github.ref == 'refs/heads/nightly' }} ]; then
echo "Use the open credentials."
API="-D TDESKTOP_API_ID=611335 -D TDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c"
fi
echo "TDESKTOP_BUILD_API=$API" >> $GITHUB_ENV
- name: Free up some disk space.
run: |
del /S Libraries\*.pdb
@@ -132,12 +139,11 @@ jobs:
- name: Telegram Desktop build.
if: env.ONLY_CACHE == 'false'
run: |
C:
cd %TBUILD%\%REPO_NAME%\Telegram
call configure.bat ^
${{ matrix.arch }} ^
-D TDESKTOP_API_TEST=ON ^
%TDESKTOP_BUILD_API% ^
-D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF ^
-D DESKTOP_APP_NO_PDB=ON ^
%TDESKTOP_BUILD_DEFINE% ^
@@ -147,13 +153,13 @@ jobs:
msbuild -m Telegram.sln /p:Configuration=Debug,Platform=${{ matrix.arch }},DebugSymbols=false,DebugType=none
- name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true'
if: (env.UPLOAD_ARTIFACT == 'true') || ${{ github.ref == 'refs/heads/nightly' }}
run: |
mkdir artifact
move %TBUILD%\%REPO_NAME%\out\Debug\Telegram.exe artifact/
- uses: actions/upload-artifact@master
name: Upload artifact.
if: env.UPLOAD_ARTIFACT == 'true'
if: (env.UPLOAD_ARTIFACT == 'true') || ${{ github.ref == 'refs/heads/nightly' }}
with:
name: ${{ env.ARTIFACT_NAME }}
path: artifact\

6
.gitmodules vendored
View File

@@ -94,3 +94,9 @@
[submodule "Telegram/ThirdParty/kimageformats"]
path = Telegram/ThirdParty/kimageformats
url = https://github.com/KDE/kimageformats.git
[submodule "Telegram/ThirdParty/kcoreaddons"]
path = Telegram/ThirdParty/kcoreaddons
url = https://github.com/KDE/kcoreaddons.git
[submodule "Telegram/ThirdParty/cld3"]
path = Telegram/ThirdParty/cld3
url = https://github.com/google/cld3.git

View File

@@ -36,6 +36,10 @@ get_filename_component(third_party_loc "Telegram/ThirdParty" REALPATH)
get_filename_component(submodules_loc "Telegram" REALPATH)
get_filename_component(cmake_helpers_loc "cmake" REALPATH)
if (NOT DESKTOP_APP_USE_PACKAGED AND WIN32)
set(Python_EXECUTABLE ${CMAKE_CURRENT_SOURCE_DIR}/../ThirdParty/python/Scripts/python)
endif()
include(cmake/variables.cmake)
include(cmake/nice_target_sources.cmake)
include(cmake/target_compile_options_if_exists.cmake)
@@ -52,11 +56,11 @@ include(cmake/options.cmake)
if (NOT DESKTOP_APP_USE_PACKAGED)
if (WIN32)
set(qt_version 5.15.4)
set(qt_version 5.15.8)
elseif (APPLE)
set(qt_version 6.3.1)
set(qt_version 6.3.2)
else()
set(qt_version 6.4.0)
set(qt_version 6.4.2)
endif()
endif()
include(cmake/external/qt/package.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-2022 The Telegram Desktop Authors.
Copyright (c) 2014-2023 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

@@ -5,7 +5,7 @@
# https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
add_executable(Telegram WIN32 MACOSX_BUNDLE)
init_non_host_target(Telegram)
init_non_host_target(Telegram ltcg)
add_subdirectory(lib_rpl)
add_subdirectory(lib_crl)
@@ -48,7 +48,6 @@ if (WIN32)
endif()
set_target_properties(Telegram PROPERTIES AUTOMOC ON)
target_prepare_qrc(Telegram)
target_link_libraries(Telegram
PRIVATE
@@ -113,6 +112,7 @@ PRIVATE
api/api_chat_participants.h
api/api_cloud_password.cpp
api/api_cloud_password.h
api/api_common.cpp
api/api_common.h
api/api_confirm_phone.cpp
api/api_confirm_phone.h
@@ -162,6 +162,8 @@ PRIVATE
api/api_unread_things.h
api/api_updates.cpp
api/api_updates.h
api/api_user_names.cpp
api/api_user_names.h
api/api_user_privacy.cpp
api/api_user_privacy.h
api/api_views.cpp
@@ -178,8 +180,12 @@ PRIVATE
boxes/peers/add_participants_box.h
boxes/peers/edit_contact_box.cpp
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_members_visible.cpp
boxes/peers/edit_members_visible.h
boxes/peers/edit_participant_box.cpp
boxes/peers/edit_participant_box.h
boxes/peers/edit_participants_box.cpp
@@ -199,6 +205,8 @@ PRIVATE
boxes/peers/edit_peer_requests_box.h
boxes/peers/edit_peer_type_box.cpp
boxes/peers/edit_peer_type_box.h
boxes/peers/edit_peer_usernames_list.cpp
boxes/peers/edit_peer_usernames_list.h
boxes/peers/peer_short_info_box.cpp
boxes/peers/peer_short_info_box.h
boxes/peers/prepare_short_info_box.cpp
@@ -247,8 +255,6 @@ PRIVATE
boxes/local_storage_box.h
boxes/max_invite_box.cpp
boxes/max_invite_box.h
boxes/mute_settings_box.cpp
boxes/mute_settings_box.h
boxes/peer_list_box.cpp
boxes/peer_list_box.h
boxes/peer_list_controllers.cpp
@@ -283,6 +289,8 @@ PRIVATE
boxes/sticker_set_box.h
boxes/stickers_box.cpp
boxes/stickers_box.h
boxes/translate_box.cpp
boxes/translate_box.h
boxes/url_auth_box.cpp
boxes/url_auth_box.h
boxes/username_box.cpp
@@ -467,6 +475,12 @@ PRIVATE
data/data_emoji_statuses.h
data/data_folder.cpp
data/data_folder.h
data/data_forum.cpp
data/data_forum.h
data/data_forum_icons.cpp
data/data_forum_icons.h
data/data_forum_topic.cpp
data/data_forum_topic.h
data/data_file_click_handler.cpp
data/data_file_click_handler.h
data/data_file_origin.cpp
@@ -533,12 +547,16 @@ PRIVATE
data/data_sponsored_messages.h
data/data_streaming.cpp
data/data_streaming.h
data/data_thread.cpp
data/data_thread.h
data/data_types.cpp
data/data_types.h
data/data_user.cpp
data/data_user.h
data/data_user_photos.cpp
data/data_user_photos.h
data/data_user_names.cpp
data/data_user_names.h
data/data_wall_paper.cpp
data/data_wall_paper.h
data/data_web_page.cpp
@@ -567,6 +585,8 @@ PRIVATE
dialogs/ui/dialogs_layout.h
dialogs/ui/dialogs_message_view.cpp
dialogs/ui/dialogs_message_view.h
dialogs/ui/dialogs_topics_view.cpp
dialogs/ui/dialogs_topics_view.h
dialogs/ui/dialogs_video_userpic.cpp
dialogs/ui/dialogs_video_userpic.h
editor/color_picker.cpp
@@ -611,6 +631,8 @@ PRIVATE
history/view/controls/history_view_compose_controls.h
history/view/controls/history_view_compose_search.cpp
history/view/controls/history_view_compose_search.h
history/view/controls/history_view_forward_panel.cpp
history/view/controls/history_view_forward_panel.h
history/view/controls/history_view_ttl_button.cpp
history/view/controls/history_view_ttl_button.h
history/view/controls/history_view_voice_record_bar.cpp
@@ -647,14 +669,18 @@ PRIVATE
history/view/media/history_view_media_common.h
history/view/media/history_view_media_grouped.cpp
history/view/media/history_view_media_grouped.h
history/view/media/history_view_media_spoiler.cpp
history/view/media/history_view_media_spoiler.h
history/view/media/history_view_media_unwrapped.cpp
history/view/media/history_view_media_unwrapped.h
history/view/media/history_view_photo.cpp
history/view/media/history_view_photo.h
history/view/media/history_view_poll.cpp
history/view/media/history_view_poll.h
history/view/media/history_view_service_media_gift.cpp
history/view/media/history_view_service_media_gift.h
history/view/media/history_view_premium_gift.cpp
history/view/media/history_view_premium_gift.h
history/view/media/history_view_service_box.cpp
history/view/media/history_view_service_box.h
history/view/media/history_view_slot_machine.cpp
history/view/media/history_view_slot_machine.h
history/view/media/history_view_sticker.cpp
@@ -664,12 +690,12 @@ PRIVATE
history/view/media/history_view_sticker_player_abstract.h
history/view/media/history_view_theme_document.cpp
history/view/media/history_view_theme_document.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
history/view/media/history_view_web_page.h
history/view/reactions/history_view_reactions.cpp
history/view/reactions/history_view_reactions.h
history/view/reactions/history_view_reactions_animation.cpp
history/view/reactions/history_view_reactions_animation.h
history/view/reactions/history_view_reactions_button.cpp
history/view/reactions/history_view_reactions_button.h
history/view/reactions/history_view_reactions_list.cpp
@@ -686,6 +712,8 @@ PRIVATE
history/view/history_view_contact_status.h
history/view/history_view_context_menu.cpp
history/view/history_view_context_menu.h
history/view/history_view_corner_buttons.cpp
history/view/history_view_corner_buttons.h
history/view/history_view_cursor_state.cpp
history/view/history_view_cursor_state.h
history/view/history_view_element.cpp
@@ -744,6 +772,8 @@ PRIVATE
history/history_item_components.h
history/history_item_edition.cpp
history/history_item_edition.h
history/history_item_helpers.cpp
history/history_item_helpers.h
history/history_item_reply_markup.cpp
history/history_item_reply_markup.h
history/history_item_text.cpp
@@ -752,10 +782,6 @@ PRIVATE
history/history_inner_widget.h
history/history_location_manager.cpp
history/history_location_manager.h
history/history_message.cpp
history/history_message.h
history/history_service.cpp
history/history_service.h
history/history_unread_things.cpp
history/history_unread_things.h
history/history_view_highlight_manager.cpp
@@ -815,14 +841,14 @@ PRIVATE
info/profile/info_profile_cover.h
info/profile/info_profile_emoji_status_panel.cpp
info/profile/info_profile_emoji_status_panel.h
info/profile/info_profile_icon.cpp
info/profile/info_profile_icon.h
info/profile/info_profile_inner_widget.cpp
info/profile/info_profile_inner_widget.h
info/profile/info_profile_members.cpp
info/profile/info_profile_members.h
info/profile/info_profile_members_controllers.cpp
info/profile/info_profile_members_controllers.h
info/profile/info_profile_phone_menu.cpp
info/profile/info_profile_phone_menu.h
info/profile/info_profile_text.cpp
info/profile/info_profile_text.h
info/profile/info_profile_values.cpp
@@ -960,6 +986,10 @@ PRIVATE
media/view/media_view_playback_progress.cpp
media/view/media_view_playback_progress.h
media/view/media_view_open_common.h
menu/menu_antispam_validator.cpp
menu/menu_antispam_validator.h
menu/menu_item_download_files.cpp
menu/menu_item_download_files.h
menu/menu_mute.cpp
menu/menu_mute.h
menu/menu_send.cpp
@@ -1150,6 +1180,8 @@ PRIVATE
settings/settings_experimental.h
settings/settings_folders.cpp
settings/settings_folders.h
settings/settings_global_ttl.cpp
settings/settings_global_ttl.h
settings/settings_information.cpp
settings/settings_information.h
settings/settings_intro.cpp
@@ -1166,6 +1198,8 @@ PRIVATE
settings/settings_privacy_controllers.h
settings/settings_privacy_security.cpp
settings/settings_privacy_security.h
settings/settings_scale_preview.cpp
settings/settings_scale_preview.h
settings/settings_type.h
storage/details/storage_file_utilities.cpp
storage/details/storage_file_utilities.h
@@ -1227,9 +1261,17 @@ PRIVATE
ui/chat/choose_send_as.h
ui/chat/choose_theme_controller.cpp
ui/chat/choose_theme_controller.h
ui/controls/silent_toggle.cpp
ui/controls/silent_toggle.h
ui/controls/userpic_button.cpp
ui/controls/userpic_button.h
ui/effects/emoji_fly_animation.cpp
ui/effects/emoji_fly_animation.h
ui/effects/message_sending_animation_common.h
ui/effects/message_sending_animation_controller.cpp
ui/effects/message_sending_animation_controller.h
ui/effects/reaction_fly_animation.cpp
ui/effects/reaction_fly_animation.h
ui/effects/send_action_animations.cpp
ui/effects/send_action_animations.h
ui/image/image.cpp
@@ -1242,8 +1284,6 @@ PRIVATE
ui/widgets/level_meter.h
ui/countryinput.cpp
ui/countryinput.h
ui/empty_userpic.cpp
ui/empty_userpic.h
ui/filter_icons.cpp
ui/filter_icons.h
ui/filter_icon_panel.cpp
@@ -1253,8 +1293,6 @@ PRIVATE
ui/resize_area.h
ui/search_field_controller.cpp
ui/search_field_controller.h
ui/special_buttons.cpp
ui/special_buttons.h
ui/text/format_song_document_name.cpp
ui/text/format_song_document_name.h
ui/unread_badge.cpp
@@ -1315,8 +1353,6 @@ PRIVATE
apiwrap.cpp
apiwrap.h
config.h
facades.cpp
facades.h
logs.cpp
logs.h
main.cpp
@@ -1456,7 +1492,6 @@ else()
target_link_libraries(Telegram
PRIVATE
desktop-app::external_glibmm
desktop-app::external_glib
)
endif()
@@ -1577,6 +1612,8 @@ if (WIN32)
)
endif()
target_prepare_qrc(Telegram)
if ((NOT DESKTOP_APP_DISABLE_AUTOUPDATE OR APPLE) AND NOT build_macstore AND NOT build_winstore)
add_executable(Updater WIN32)
init_non_host_target(Updater)
@@ -1657,8 +1694,9 @@ endif()
if (LINUX AND DESKTOP_APP_USE_PACKAGED)
include(GNUInstallDirs)
configure_file("../lib/xdg/telegramdesktop.metainfo.xml.in" "${CMAKE_CURRENT_BINARY_DIR}/telegramdesktop.metainfo.xml" @ONLY)
generate_appdata_changelog(Telegram "${CMAKE_SOURCE_DIR}/changelog.txt" "${CMAKE_CURRENT_BINARY_DIR}/telegramdesktop.metainfo.xml")
configure_file("../lib/xdg/org.telegram.desktop.desktop" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.desktop" @ONLY)
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")
@@ -1667,6 +1705,6 @@ if (LINUX AND DESKTOP_APP_USE_PACKAGED)
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 "../lib/xdg/telegramdesktop.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications" RENAME "${TDESKTOP_LAUNCHER_BASENAME}.desktop")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/telegramdesktop.metainfo.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo" RENAME "${TDESKTOP_LAUNCHER_BASENAME}.metainfo.xml")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo")
endif()

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="84px" height="84px" viewBox="0 0 84 84" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>topic blue</title>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
<stop stop-color="#4BB7FF" offset="0%"></stop>
<stop stop-color="#015EC1" offset="100%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="0%" x2="50%" y2="99.39588%" id="linearGradient-2">
<stop stop-color="#0888DF" offset="0%"></stop>
<stop stop-color="#0042AC" offset="100%"></stop>
</linearGradient>
</defs>
<g id="topic-blue" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M42,4.47368421 C52.6535116,4.47368421 62.3029461,8.44172846 69.286057,14.8715044 C76.2233062,21.2590526 80.5263158,30.0798831 80.5263158,39.8304382 C80.5263158,49.5809933 76.2233062,58.4018239 69.286057,64.7893721 C62.3029461,71.219148 52.6535116,75.1871923 42,75.1871923 C37.5267059,75.1871923 33.2308553,74.4877643 29.2348341,73.2001187 C29.0182529,73.1303293 28.8019654,73.0586229 28.5862413,72.9852481 C28.3948519,73.106612 28.2000814,73.2292009 28.0019297,73.3530173 C26.1800899,74.4914063 24.5768234,75.4183854 23.1902273,76.1332316 C19.9632993,77.7968433 15.8838664,78.895322 10.968708,79.4573148 L10.3331597,79.5269374 C10.8475353,78.5381033 11.3155893,77.6262907 11.7364879,76.7897918 L12.0856904,76.0911971 C13.1548056,73.9371347 13.8747553,72.3343394 14.2288664,71.2486595 C14.8154652,69.4501884 15.1095499,67.6701625 15.2363061,66.0328103 C15.2549358,65.7921643 15.2704685,65.5479168 15.2812363,65.2994157 C15.1072303,65.1457013 14.9345381,64.9902431 14.7631844,64.8330639 C7.79678435,58.4429296 3.47368421,49.6037286 3.47368421,39.8304382 C3.47368421,30.0798831 7.77669379,21.2590526 14.713943,14.8715044 C21.6970539,8.44172846 31.3464884,4.47368421 42,4.47368421 Z" id="Combined-Shape-Copy-2" stroke="url(#linearGradient-2)" stroke-width="2.94736842" fill="url(#linearGradient-1)"></path>
<path d="M9.68078613,24.6137047 C9.8721537,24.8136848 10.1894036,24.8206666 10.3893837,24.629299 C10.3964827,24.6225057 10.4033805,24.6155051 10.410082,24.6083194 C20.5178445,13.7276637 31.3141669,8.50123177 42.7990494,8.92902374 C54.2584365,9.35586606 64.9235425,15.3681505 74.7943671,26.9658769 C75.0309355,27.243826 75.4426222,27.2904538 75.7353592,27.0724506 C76.0315877,26.8518473 76.1075038,26.440096 75.9094038,26.1283693 C67.7821181,13.3374534 56.7453333,6.69089625 42.7990494,6.18869781 C28.8220513,5.68539338 17.7581791,11.5492352 9.60743269,23.7802233 C9.4336795,24.0409463 9.46416665,24.3873362 9.68078613,24.6137047 Z" id="Path-22" fill="#71D0FF" opacity="0.37491644"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>general</title>
<g id="general" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M14.4576257,1.02558449 C15.189053,1.1696007 15.6657078,1.88165413 15.5222641,2.61600035 L14.8818905,5.62412405 L16.6504058,5.62421139 C17.3957661,5.62421139 18,6.23085664 18,6.97919149 C18,7.72752633 17.3957661,8.33417159 16.6504058,8.33417159 L14.3525674,8.33397488 L13.6850637,11.7513347 L15.3008116,11.7515071 C16.0461719,11.7515071 16.6504058,12.3581524 16.6504058,13.1064872 C16.6504058,13.8548221 16.0461719,14.4614673 15.3008116,14.4614673 L13.1557407,14.4614328 L12.4307242,17.9055215 C12.2872804,18.6398677 11.5780573,19.1184247 10.84663,18.9744085 C10.1152028,18.8303923 9.63854794,18.1183389 9.7819917,17.3839927 L10.4051821,14.4614328 L7.75733538,14.4614328 L7.03234733,17.9055215 C6.90989534,18.5324024 6.37514133,18.9728813 5.76623746,18.9987859 L5.71387199,19 C5.62631985,19.0002755 5.53745163,18.9919715 5.44825318,18.9744085 C4.71682589,18.8303923 4.24017107,18.1183389 4.38361482,17.3839927 L5.00702313,14.4614328 L3.34959422,14.4614673 C2.60423391,14.4614673 2,13.8548221 2,13.1064872 C2,12.3581524 2.60423391,11.7515071 3.34959422,11.7515071 L5.53634616,11.7513347 L6.20384986,8.33397488 L4.69918844,8.33417159 C3.95382813,8.33417159 3.34959422,7.72752633 3.34959422,6.97919149 C3.34959422,6.23085664 3.95382813,5.62421139 4.69918844,5.62421139 L6.73317289,5.62412405 L7.4751547,2.09447154 C7.60110532,1.44967974 8.16325465,1.00209364 8.79363004,1 L8.84631136,1.00087004 C8.91674267,1.00340951 8.98789009,1.01153413 9.05924885,1.02558449 C9.79067614,1.1696007 10.267331,1.88165413 10.1238872,2.61600035 L9.48348515,5.62412405 L12.1315782,5.62412405 L12.8735316,2.09447154 C13.0169753,1.36012532 13.7261984,0.881568286 14.4576257,1.02558449 Z M10.9345052,11.7513347 L11.6020089,8.33397488 L8.95416211,8.33397488 L8.28665842,11.7513347 L10.9345052,11.7513347 Z" id="Combined-Shape-Copy-6" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="84px" height="84px" viewBox="0 0 84 84" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>topic gray</title>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
<stop stop-color="#A5A5A5" offset="0%"></stop>
<stop stop-color="#616161" offset="100%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="0%" x2="50%" y2="99.39588%" id="linearGradient-2">
<stop stop-color="#737373" offset="0%"></stop>
<stop stop-color="#565656" offset="100%"></stop>
</linearGradient>
</defs>
<g id="topic-gray" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M42,4.47368421 C52.6535116,4.47368421 62.3029461,8.44172846 69.286057,14.8715044 C76.2233062,21.2590526 80.5263158,30.0798831 80.5263158,39.8304382 C80.5263158,49.5809933 76.2233062,58.4018239 69.286057,64.7893721 C62.3029461,71.219148 52.6535116,75.1871923 42,75.1871923 C37.5267059,75.1871923 33.2308553,74.4877643 29.2348341,73.2001187 C29.0182529,73.1303293 28.8019654,73.0586229 28.5862413,72.9852481 C28.3948519,73.106612 28.2000814,73.2292009 28.0019297,73.3530173 C26.1800899,74.4914063 24.5768234,75.4183854 23.1902273,76.1332316 C19.9632993,77.7968433 15.8838664,78.895322 10.968708,79.4573148 L10.3331597,79.5269374 C10.8475353,78.5381033 11.3155893,77.6262907 11.7364879,76.7897918 L12.0856904,76.0911971 C13.1548056,73.9371347 13.8747553,72.3343394 14.2288664,71.2486595 C14.8154652,69.4501884 15.1095499,67.6701625 15.2363061,66.0328103 C15.2549358,65.7921643 15.2704685,65.5479168 15.2812363,65.2994157 C15.1072303,65.1457013 14.9345381,64.9902431 14.7631844,64.8330639 C7.79678435,58.4429296 3.47368421,49.6037286 3.47368421,39.8304382 C3.47368421,30.0798831 7.77669379,21.2590526 14.713943,14.8715044 C21.6970539,8.44172846 31.3464884,4.47368421 42,4.47368421 Z" id="Combined-Shape-Copy-2" stroke="url(#linearGradient-2)" stroke-width="2.94736842" fill="url(#linearGradient-1)"></path>
<path d="M9.68078613,24.6137047 C9.8721537,24.8136848 10.1894036,24.8206666 10.3893837,24.629299 C10.3964827,24.6225057 10.4033805,24.6155051 10.410082,24.6083194 C20.5178445,13.7276637 31.3141669,8.50123177 42.7990494,8.92902374 C54.2584365,9.35586606 64.9235425,15.3681505 74.7943671,26.9658769 C75.0309355,27.243826 75.4426222,27.2904538 75.7353592,27.0724506 C76.0315877,26.8518473 76.1075038,26.440096 75.9094038,26.1283693 C67.7821181,13.3374534 56.7453333,6.69089625 42.7990494,6.18869781 C28.8220513,5.68539338 17.7581791,11.5492352 9.60743269,23.7802233 C9.4336795,24.0409463 9.46416665,24.3873362 9.68078613,24.6137047 Z" id="Path-22" fill="#B8B8B8" opacity="0.37491644"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="84px" height="84px" viewBox="0 0 84 84" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>topic green</title>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="99.7635421%" id="linearGradient-1">
<stop stop-color="#97E334" offset="0%"></stop>
<stop stop-color="#11B411" offset="100%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="0%" x2="50%" y2="98.9250576%" id="linearGradient-2">
<stop stop-color="#48AF18" offset="0%"></stop>
<stop stop-color="#05951A" offset="100%"></stop>
</linearGradient>
</defs>
<g id="topic-green" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M42,4.42105263 C52.6675181,4.42105263 62.3294728,8.39460913 69.3217075,14.8327858 C76.2697184,21.230243 80.5789474,30.0648871 80.5789474,39.8304382 C80.5789474,49.5959894 76.2697184,58.4306335 69.3217075,64.8280906 C62.3294728,71.2662674 52.6675181,75.2398239 42,75.2398239 C37.5210466,75.2398239 33.2197662,74.5394876 29.2186919,73.2502137 C29.0098956,73.1829329 28.8013719,73.1138726 28.5929684,73.0432995 C28.4083865,73.1602808 28.2206704,73.2783974 28.0298198,73.3976517 C26.2065565,74.5369301 24.6020235,75.4646079 23.2143446,76.1800123 C19.9826132,77.8461004 15.8972513,78.9467661 10.9744394,79.5096334 L10.3380323,79.5793501 C12.3422829,75.5502987 13.657562,72.8305079 14.1788292,71.2323391 C14.7640488,69.4380965 15.0573738,67.6622454 15.1838316,66.0287479 C15.2017691,65.7970433 15.21683,65.561992 15.2283048,65.3228731 C15.0601712,65.1741519 14.8932645,65.0238038 14.727607,64.8718496 C7.75040024,58.4718025 3.42105263,49.6187586 3.42105263,39.8304382 C3.42105263,30.0648871 7.7302816,21.230243 14.6782925,14.8327858 C21.6705272,8.39460913 31.3324819,4.42105263 42,4.42105263 Z" id="Combined-Shape-Copy-2" stroke="url(#linearGradient-2)" stroke-width="2.84210526" fill="url(#linearGradient-1)"></path>
<path d="M9.68078613,24.6137047 C9.8721537,24.8136848 10.1894036,24.8206666 10.3893837,24.629299 C10.3964827,24.6225057 10.4033805,24.6155051 10.410082,24.6083194 C20.5178445,13.7276637 31.3141669,8.50123177 42.7990494,8.92902374 C54.2584365,9.35586606 64.9235425,15.3681505 74.7943671,26.9658769 C75.0309355,27.243826 75.4426222,27.2904538 75.7353592,27.0724506 C76.0315877,26.8518473 76.1075038,26.440096 75.9094038,26.1283693 C67.7821181,13.3374534 56.7453333,6.69089625 42.7990494,6.18869781 C28.8220513,5.68539338 17.7581791,11.5492352 9.60743269,23.7802233 C9.4336795,24.0409463 9.46416665,24.3873362 9.68078613,24.6137047 Z" id="Path-22" fill="#C2FF71" opacity="0.37491644"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="84px" height="84px" viewBox="0 0 84 84" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>topic red</title>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
<stop stop-color="#FF714C" offset="0%"></stop>
<stop stop-color="#C61505" offset="100%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="0%" x2="50%" y2="98.6056043%" id="linearGradient-2">
<stop stop-color="#E12F1F" offset="0%"></stop>
<stop stop-color="#B40101" offset="100%"></stop>
</linearGradient>
</defs>
<g id="topic-red" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M42,4.42105263 C52.6675181,4.42105263 62.3294728,8.39460913 69.3217075,14.8327858 C76.2697184,21.230243 80.5789474,30.0648871 80.5789474,39.8304382 C80.5789474,49.5959894 76.2697184,58.4306335 69.3217075,64.8280906 C62.3294728,71.2662674 52.6675181,75.2398239 42,75.2398239 C37.5210466,75.2398239 33.2197662,74.5394876 29.2186919,73.2502137 C29.0098956,73.1829329 28.8013719,73.1138726 28.5929684,73.0432995 C28.4083865,73.1602808 28.2206704,73.2783974 28.0298198,73.3976517 C26.2065565,74.5369301 24.6020235,75.4646079 23.2143446,76.1800123 C19.9826132,77.8461004 15.8972513,78.9467661 10.9744394,79.5096334 L10.3380323,79.5793501 C12.3422829,75.5502987 13.657562,72.8305079 14.1788292,71.2323391 C14.7640488,69.4380965 15.0573738,67.6622454 15.1838316,66.0287479 C15.2017691,65.7970433 15.21683,65.561992 15.2283048,65.3228731 C15.0601712,65.1741519 14.8932645,65.0238038 14.727607,64.8718496 C7.75040024,58.4718025 3.42105263,49.6187586 3.42105263,39.8304382 C3.42105263,30.0648871 7.7302816,21.230243 14.6782925,14.8327858 C21.6705272,8.39460913 31.3324819,4.42105263 42,4.42105263 Z" id="Combined-Shape-Copy-2" stroke="url(#linearGradient-2)" stroke-width="2.84210526" fill="url(#linearGradient-1)"></path>
<path d="M9.68078613,24.6137047 C9.8721537,24.8136848 10.1894036,24.8206666 10.3893837,24.629299 C10.3964827,24.6225057 10.4033805,24.6155051 10.410082,24.6083194 C20.5178445,13.7276637 31.3141669,8.50123177 42.7990494,8.92902374 C54.2584365,9.35586606 64.9235425,15.3681505 74.7943671,26.9658769 C75.0309355,27.243826 75.4426222,27.2904538 75.7353592,27.0724506 C76.0315877,26.8518473 76.1075038,26.440096 75.9094038,26.1283693 C67.7821181,13.3374534 56.7453333,6.69089625 42.7990494,6.18869781 C28.8220513,5.68539338 17.7581791,11.5492352 9.60743269,23.7802233 C9.4336795,24.0409463 9.46416665,24.3873362 9.68078613,24.6137047 Z" id="Path-22" fill="#FFB47D" opacity="0.37491644"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="84px" height="84px" viewBox="0 0 84 84" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>topic rose</title>
<defs>
<linearGradient x1="50%" y1="4.31422203%" x2="50%" y2="99.6023762%" id="linearGradient-1">
<stop stop-color="#FF7999" offset="0%"></stop>
<stop stop-color="#E4215A" offset="98.5968743%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="0%" x2="50%" y2="96.4024371%" id="linearGradient-2">
<stop stop-color="#F83B72" offset="0%"></stop>
<stop stop-color="#BA0940" offset="100%"></stop>
</linearGradient>
</defs>
<g id="topic-rose" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M42,4.42105263 C52.6675181,4.42105263 62.3294728,8.39460913 69.3217075,14.8327858 C76.2697184,21.230243 80.5789474,30.0648871 80.5789474,39.8304382 C80.5789474,49.5959894 76.2697184,58.4306335 69.3217075,64.8280906 C62.3294728,71.2662674 52.6675181,75.2398239 42,75.2398239 C37.5210466,75.2398239 33.2197662,74.5394876 29.2186919,73.2502137 C29.0098956,73.1829329 28.8013719,73.1138726 28.5929684,73.0432995 C28.4083865,73.1602808 28.2206704,73.2783974 28.0298198,73.3976517 C26.2065565,74.5369301 24.6020235,75.4646079 23.2143446,76.1800123 C19.9826132,77.8461004 15.8972513,78.9467661 10.9744394,79.5096334 L10.3380323,79.5793501 C12.3422829,75.5502987 13.657562,72.8305079 14.1788292,71.2323391 C14.7640488,69.4380965 15.0573738,67.6622454 15.1838316,66.0287479 C15.2017691,65.7970433 15.21683,65.561992 15.2283048,65.3228731 C15.0601712,65.1741519 14.8932645,65.0238038 14.727607,64.8718496 C7.75040024,58.4718025 3.42105263,49.6187586 3.42105263,39.8304382 C3.42105263,30.0648871 7.7302816,21.230243 14.6782925,14.8327858 C21.6705272,8.39460913 31.3324819,4.42105263 42,4.42105263 Z" id="Combined-Shape-Copy-2" stroke="url(#linearGradient-2)" stroke-width="2.84210526" fill="url(#linearGradient-1)"></path>
<path d="M9.68078613,24.6137047 C9.8721537,24.8136848 10.1894036,24.8206666 10.3893837,24.629299 C10.3964827,24.6225057 10.4033805,24.6155051 10.410082,24.6083194 C20.5178445,13.7276637 31.3141669,8.50123177 42.7990494,8.92902374 C54.2584365,9.35586606 64.9235425,15.3681505 74.7943671,26.9658769 C75.0309355,27.243826 75.4426222,27.2904538 75.7353592,27.0724506 C76.0315877,26.8518473 76.1075038,26.440096 75.9094038,26.1283693 C67.7821181,13.3374534 56.7453333,6.69089625 42.7990494,6.18869781 C28.8220513,5.68539338 17.7581791,11.5492352 9.60743269,23.7802233 C9.4336795,24.0409463 9.46416665,24.3873362 9.68078613,24.6137047 Z" id="Path-22" fill="#FFC7D6" opacity="0.37491644"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="84px" height="84px" viewBox="0 0 84 84" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>topic violet</title>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="99.7635421%" id="linearGradient-1">
<stop stop-color="#E57AFF" offset="0%"></stop>
<stop stop-color="#A438BB" offset="99.8550522%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="0%" x2="50%" y2="99.39588%" id="linearGradient-2">
<stop stop-color="#B239D1" offset="0%"></stop>
<stop stop-color="#7C279A" offset="100%"></stop>
</linearGradient>
</defs>
<g id="topic-violet" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M42,4.42105263 C52.6675181,4.42105263 62.3294728,8.39460913 69.3217075,14.8327858 C76.2697184,21.230243 80.5789474,30.0648871 80.5789474,39.8304382 C80.5789474,49.5959894 76.2697184,58.4306335 69.3217075,64.8280906 C62.3294728,71.2662674 52.6675181,75.2398239 42,75.2398239 C37.5210466,75.2398239 33.2197662,74.5394876 29.2186919,73.2502137 C29.0098956,73.1829329 28.8013719,73.1138726 28.5929684,73.0432995 C28.4083865,73.1602808 28.2206704,73.2783974 28.0298198,73.3976517 C26.2065565,74.5369301 24.6020235,75.4646079 23.2143446,76.1800123 C19.9826132,77.8461004 15.8972513,78.9467661 10.9744394,79.5096334 L10.3380323,79.5793501 C12.3422829,75.5502987 13.657562,72.8305079 14.1788292,71.2323391 C14.7640488,69.4380965 15.0573738,67.6622454 15.1838316,66.0287479 C15.2017691,65.7970433 15.21683,65.561992 15.2283048,65.3228731 C15.0601712,65.1741519 14.8932645,65.0238038 14.727607,64.8718496 C7.75040024,58.4718025 3.42105263,49.6187586 3.42105263,39.8304382 C3.42105263,30.0648871 7.7302816,21.230243 14.6782925,14.8327858 C21.6705272,8.39460913 31.3324819,4.42105263 42,4.42105263 Z" id="Combined-Shape-Copy-2" stroke="url(#linearGradient-2)" stroke-width="2.84210526" fill="url(#linearGradient-1)"></path>
<path d="M9.68078613,24.6137047 C9.8721537,24.8136848 10.1894036,24.8206666 10.3893837,24.629299 C10.3964827,24.6225057 10.4033805,24.6155051 10.410082,24.6083194 C20.5178445,13.7276637 31.3141669,8.50123177 42.7990494,8.92902374 C54.2584365,9.35586606 64.9235425,15.3681505 74.7943671,26.9658769 C75.0309355,27.243826 75.4426222,27.2904538 75.7353592,27.0724506 C76.0315877,26.8518473 76.1075038,26.440096 75.9094038,26.1283693 C67.7821181,13.3374534 56.7453333,6.69089625 42.7990494,6.18869781 C28.8220513,5.68539338 17.7581791,11.5492352 9.60743269,23.7802233 C9.4336795,24.0409463 9.46416665,24.3873362 9.68078613,24.6137047 Z" id="Path-22" fill="#F5BDFF" opacity="0.37491644"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="84px" height="84px" viewBox="0 0 84 84" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>topic yellow</title>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
<stop stop-color="#FFDB5C" offset="0%"></stop>
<stop stop-color="#EA5800" offset="100%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="0%" x2="50%" y2="99.0141482%" id="linearGradient-2">
<stop stop-color="#F2A807" offset="0%"></stop>
<stop stop-color="#D93A00" offset="100%"></stop>
</linearGradient>
</defs>
<g id="topic-yellow" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M42,4.42105263 C52.6675181,4.42105263 62.3294728,8.39460913 69.3217075,14.8327858 C76.2697184,21.230243 80.5789474,30.0648871 80.5789474,39.8304382 C80.5789474,49.5959894 76.2697184,58.4306335 69.3217075,64.8280906 C62.3294728,71.2662674 52.6675181,75.2398239 42,75.2398239 C37.5210466,75.2398239 33.2197662,74.5394876 29.2186919,73.2502137 C29.0098956,73.1829329 28.8013719,73.1138726 28.5929684,73.0432995 C28.4083865,73.1602808 28.2206704,73.2783974 28.0298198,73.3976517 C26.2065565,74.5369301 24.6020235,75.4646079 23.2143446,76.1800123 C19.9826132,77.8461004 15.8972513,78.9467661 10.9744394,79.5096334 L10.3380323,79.5793501 C12.3422829,75.5502987 13.657562,72.8305079 14.1788292,71.2323391 C14.7640488,69.4380965 15.0573738,67.6622454 15.1838316,66.0287479 C15.2017691,65.7970433 15.21683,65.561992 15.2283048,65.3228731 C15.0601712,65.1741519 14.8932645,65.0238038 14.727607,64.8718496 C7.75040024,58.4718025 3.42105263,49.6187586 3.42105263,39.8304382 C3.42105263,30.0648871 7.7302816,21.230243 14.6782925,14.8327858 C21.6705272,8.39460913 31.3324819,4.42105263 42,4.42105263 Z" id="Combined-Shape-Copy-2" stroke="url(#linearGradient-2)" stroke-width="2.84210526" fill="url(#linearGradient-1)"></path>
<path d="M9.68078613,24.6137047 C9.8721537,24.8136848 10.1894036,24.8206666 10.3893837,24.629299 C10.3964827,24.6225057 10.4033805,24.6155051 10.410082,24.6083194 C20.5178445,13.7276637 31.3141669,8.50123177 42.7990494,8.92902374 C54.2584365,9.35586606 64.9235425,15.3681505 74.7943671,26.9658769 C75.0309355,27.243826 75.4426222,27.2904538 75.7353592,27.0724506 C76.0315877,26.8518473 76.1075038,26.440096 75.9094038,26.1283693 C67.7821181,13.3374534 56.7453333,6.69089625 42.7990494,6.18869781 C28.8220513,5.68539338 17.7581791,11.5492352 9.60743269,23.7802233 C9.4336795,24.0409463 9.46416665,24.3873362 9.68078613,24.6137047 Z" id="Path-22" fill="#F9FF71" opacity="0.37491644"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 469 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 902 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 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: 552 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 986 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 810 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 722 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 768 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 797 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: 713 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 757 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 414 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 966 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -166,6 +166,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_scam_badge" = "SCAM";
"lng_fake_badge" = "FAKE";
"lng_remember" = "Remember this choice";
"lng_channels_limit_title" = "Too Many Communities";
"lng_channels_limit1#one" = "You are a member of **{count}** groups and channels.";
"lng_channels_limit1#other" = "You are a member of **{count}** groups and channels.";
@@ -204,6 +206,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_filter_pin_limit2#one" = "Unpin some of the currently pinned ones or subscribe to **Telegram Premium** to double the limit to **{count}** chat.";
"lng_filter_pin_limit2#other" = "Unpin some of the currently pinned ones or subscribe to **Telegram Premium** to double the limit to **{count}** chats.";
"lng_forum_pin_limit#one" = "Sorry, you can't pin more than **{count}** topic to the top.";
"lng_forum_pin_limit#other" = "Sorry, you can't pin more than **{count}** topics to the top.";
"lng_fave_sticker_limit_title#one" = "The Limit of {count} Stickers Reached";
"lng_fave_sticker_limit_title#other" = "The Limit of {count} Stickers Reached";
"lng_fave_sticker_limit_more#one" = "An older sticker was replaced with this one.\nYou can {link} to {count} sticker.";
@@ -303,21 +308,25 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_edit_caption_voice" = "Sorry, you can't edit your message while you're having an unsent voice message.";
"lng_intro_about" = "Welcome to the official Telegram Desktop app.\nIt's fast and secure.";
"lng_start_msgs" = "START MESSAGING";
"lng_start_msgs" = "Start messaging";
"lng_intro_next" = "NEXT";
"lng_intro_finish" = "SIGN UP";
"lng_intro_submit" = "SUBMIT";
"lng_intro_next" = "Next";
"lng_intro_finish" = "Sign up";
"lng_intro_submit" = "Submit";
"lng_photo_caption" = "Caption";
"lng_photos_comment" = "Comment";
"lng_intro_qr_title" = "Scan From Mobile Telegram";
"lng_intro_qr_step1" = "Open Telegram on your phone";
"lng_intro_qr_step2" = "Go to Settings > Devices > Scan QR Code";
"lng_intro_qr_step2" = "Go to Settings > Devices > Link Desktop";
"lng_intro_qr_step3" = "Scan this image to Log In";
"lng_intro_qr_skip" = "Or log in using your phone number";
"lng_intro_fragment_title" = "Enter code";
"lng_intro_fragment_about" = "Get the code for {phone_number} in the Anonymous Numbers section on Fragment.";
"lng_intro_fragment_button" = "Open Fragment";
"lng_phone_title" = "Your Phone Number";
"lng_phone_desc" = "Please confirm your country code and\nenter your mobile phone number.";
"lng_phone_to_qr" = "Quick log in using QR code";
@@ -388,8 +397,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_settings_save" = "Save";
"lng_settings_upload" = "Set Profile Photo";
"lng_settings_crop_profile" = "Select an area for your profile photo";
"lng_settings_uploading_photo" = "Uploading photo...";
"lng_settings_edit" = "Edit";
"lng_settings_drop_area_subtitle" = "to set it as your photo";
@@ -399,6 +406,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_username_invalid" = "This username is invalid.";
"lng_username_occupied" = "This username is already occupied.";
"lng_username_too_short" = "This username is too short.";
"lng_username_purchase_available" = "Sorry, this link is occupied by someone. But it's available for purchase through\nofficial {link}.";
"lng_username_bad_symbols" = "Only a-z, 0-9, and underscores allowed.";
"lng_username_available" = "This username is available.";
"lng_username_not_found" = "User @{user} not found.";
@@ -407,6 +415,24 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_username_link" = "This link opens a chat with you:";
"lng_username_copied" = "Link copied to clipboard.";
"lng_usernames_edit" = "click to edit";
"lng_usernames_active" = "active";
"lng_usernames_non_active" = "non active";
"lng_usernames_subtitle" = "Usernames order";
"lng_usernames_activate_error#one" = "Sorry, you can't activate more than **{count}** usernames.";
"lng_usernames_activate_error#other" = "Sorry, you can't activate more than **{count}** usernames.";
"lng_usernames_activate_description" = "Do you want to show this username on your info page?";
"lng_usernames_activate_confirm" = "Show";
"lng_channel_usernames_subtitle" = "Links order";
"lng_usernames_deactivate_description" = "Do you want to hide this username from your info page?";
"lng_usernames_deactivate_confirm" = "Hide";
"lng_usernames_description" = "Drag and drop links to change the order in which they will be displayed on your info page.";
"lng_channel_usernames_activate_description" = "Do you want to show this link on the channel info page?";
"lng_channel_usernames_deactivate_description" = "Do you want to hide this link from the channel info page?";
"lng_channel_usernames_deactivate_error" = "Sorry, you can't deactivate this link from the channel info page. ";
"lng_channel_usernames_description" = "Drag and drop links to change the order in which they will be displayed on the channel info page.";
"lng_bio_title" = "Edit your bio";
"lng_bio_placeholder" = "Bio";
"lng_bio_about" = "You can add a few lines about yourself. Anyone who opens your profile will see this text.";
@@ -471,6 +497,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_settings_change_lang" = "Change language";
"lng_languages" = "Languages";
"lng_languages_none" = "No languages found.";
"lng_languages_count#one" = "{count} language";
"lng_languages_count#other" = "{count} languages";
"lng_sure_save_language" = "Telegram will restart in order to change language";
"lng_settings_update_automatically" = "Update automatically";
"lng_settings_install_beta" = "Install beta versions";
@@ -645,6 +673,38 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_settings_cloud_password_email_confirm" = "Confirm and Finish";
"lng_settings_cloud_password_reset_in" = "You can reset your password in {duration}.";
"lng_settings_ttl_title" = "Auto-Delete Messages";
"lng_settings_ttl_about" = "Automatically delete messages for everyone after a period of time in all new chats you start.";
"lng_settings_ttl_after" = "After {after_duration}";
"lng_settings_ttl_after_hours#one" = "{count} hour";
"lng_settings_ttl_after_hours#other" = "{count} hours";
"lng_settings_ttl_after_days#one" = "{count} day";
"lng_settings_ttl_after_days#other" = "{count} days";
"lng_settings_ttl_after_weeks#one" = "{count} week";
"lng_settings_ttl_after_weeks#other" = "{count} weeks";
"lng_settings_ttl_after_months#one" = "{count} month";
"lng_settings_ttl_after_months#other" = "{count} months";
"lng_settings_ttl_after_years#one" = "{count} year";
"lng_settings_ttl_after_years#other" = "{count} years";
"lng_settings_ttl_after_off" = "Off";
"lng_settings_ttl_after_custom" = "Set Custom Time";
"lng_settings_ttl_after_about" = "If enabled, all new messages in chats you start will be automatically deleted for everyone at some point after they have been sent. You can also {link}.";
"lng_settings_ttl_after_about_link" = "apply this setting for your existing chats";
"lng_settings_ttl_after_subtitle" = "Self-destruct timer";
"lng_settings_ttl_after_sure" = "Are you sure you want all messages in new chats started by you to be automatically deleted for everyone {after_duration} after they have been sent?";
"lng_settings_ttl_after_toast" = "Messages in all new chats you start will be automatically deleted after {after_duration}.";
"lng_settings_ttl_select_chats_title" = "Select Chats";
"lng_settings_ttl_select_chats_subtitle" = "to apply the self-destruct timer";
"lng_settings_ttl_select_chats_subtitle_chosen" = "will have the self-destruct timer";
"lng_settings_ttl_select_chats_sorry" = "Sorry, you can't set self-destruct timer for this chat.";
"lng_settings_ttl_select_chats_status" = "auto-delete after {after_duration}";
"lng_settings_ttl_select_chats_status_disabled" = "auto-deletion disabled";
"lng_settings_ttl_select_chats_toast#one" = "Self-destruct timer for {duration} has been enabled in {count} selected chat.";
"lng_settings_ttl_select_chats_toast#other" = "Self-destruct timer for {duration} has been enabled in {count} selected chats.";
"lng_settings_ttl_select_chats_disabled_toast#one" = "Self-destruct timer has been disabled in {count} selected chat.";
"lng_settings_ttl_select_chats_disabled_toast#other" = "Self-destruct timer has been disabled in {count} selected chats.";
"lng_clear_payment_info_title" = "Clear payment info";
"lng_clear_payment_info_sure" = "Are you sure you want to clear your payment and shipping info?";
"lng_clear_payment_info_shipping" = "Shipping info";
@@ -702,7 +762,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_download_path_dir_radio" = "Custom folder, cleared only manually";
"lng_download_path_choose" = "Choose download path";
"lng_sure_clear_downloads" = "Do you want to remove all downloaded files from temp folder? It is done automatically on logout or program uninstall.";
"lng_download_path_failed" = "File download could not be started.\n\nThis might be because the download location you've selected is invalid. Try changing the \"Download path\" in Settings.";
"lng_download_path_failed" = "File download could not be started.\n\nThe default download location will be used now. You can always change it in Settings > Advanced > Download Path.\n\nPlease try once again.";
"lng_download_path_settings" = "Settings";
"lng_download_finish_failed" = "File download could not be finished.\n\nWould you like to try again?";
"lng_download_path_clearing" = "Clearing...";
@@ -983,6 +1043,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_edit_privacy_forwards_always_empty" = "Always allow";
"lng_edit_privacy_forwards_never_empty" = "Never allow";
"lng_edit_privacy_forwards_exceptions" = "These settings will override the values above.";
"lng_edit_privacy_forwards_exceptions_everyone" = "You can add users or entire groups which will not see your profile photo.";
"lng_edit_privacy_forwards_exceptions_nobody" = "Add users or entire groups which will still see your profile photo.";
"lng_edit_privacy_forwards_always_title" = "Always allow";
"lng_edit_privacy_forwards_never_title" = "Never allow";
"lng_edit_privacy_forwards_sample_message" = "Reinhardt, we need to find you some new tunes 🎶";
@@ -997,6 +1059,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_edit_privacy_profile_photo_exceptions" = "These settings will override the values above.";
"lng_edit_privacy_profile_photo_always_title" = "Always allow";
"lng_edit_privacy_profile_photo_never_title" = "Never allow";
"lng_edit_privacy_profile_photo_public_set" = "Set Public Photo";
"lng_edit_privacy_profile_photo_public_update" = "Update Public Photo";
"lng_edit_privacy_profile_photo_public_remove" = "Remove Public Photo";
"lng_edit_privacy_profile_photo_public_about" = "You can upload a public photo for those who are restricted from viewing your real profile photo.";
"lng_edit_privacy_profile_photo_public_toast" = "This photo is now set for those who are restricted from viewing your main photo.";
"lng_edit_privacy_voices_title" = "Voice messages settings";
"lng_edit_privacy_voices_header" = "Who can send me voice messages";
@@ -1083,6 +1150,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_profile_set_group_photo" = "Set Photo";
"lng_profile_add_participant" = "Add Members";
"lng_profile_add_via_link" = "Invite via Link";
"lng_profile_hide_participants" = "Hide Members";
"lng_profile_hide_participants_about" = "Switch this on to hide the list of members in this group. Admins will remain visible.";
"lng_profile_view_channel" = "View Channel";
"lng_profile_view_discussion" = "View discussion";
"lng_profile_join_channel" = "Join Channel";
@@ -1125,9 +1194,13 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_profile_info_section" = "Info";
"lng_info_tab_media" = "Media";
"lng_info_public_photo" = "public photo";
"lng_info_mobile_label" = "Mobile";
"lng_info_mobile_context_menu_fragment_about" = "This number is not tied to a SIM card and was acquired on {link}.";
"lng_info_mobile_context_menu_fragment_about_link" = "Fragment";
"lng_info_mobile_hidden" = "Hidden";
"lng_info_username_label" = "Username";
"lng_info_usernames_label" = "also";
"lng_info_bio_label" = "Bio";
"lng_info_link_label" = "Link";
"lng_info_location_label" = "Location";
@@ -1136,10 +1209,25 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_info_bot_title" = "Bot Info";
"lng_info_group_title" = "Group Info";
"lng_info_channel_title" = "Channel Info";
"lng_info_topic_title" = "Topic Info";
"lng_profile_enable_notifications" = "Notifications";
"lng_profile_send_message" = "Send Message";
"lng_info_add_as_contact" = "Add to contacts";
"lng_profile_shared_media" = "Shared media";
"lng_profile_suggest_photo" = "Suggest Profile Photo";
"lng_profile_set_photo_for" = "Set Profile Photo";
"lng_profile_photo_reset" = "Reset to Original";
"lng_profile_set_for_done" = "You will now always see this photo for {user}'s account.";
"lng_profile_suggest_sure" = "You can suggest {user} to set this photo for their page.";
"lng_profile_suggest_button" = "Suggest";
"lng_profile_set_personal_sure" = "Only you will see this photo and it will replace any photo {user} sets for themselves.";
"lng_profile_accept_photo_sure" = "{user} suggests you to use this profile photo for your Telegram account.";
"lng_profile_set_photo_button" = "Set Photo";
"lng_profile_accept_video_sure" = "{user} suggests you to use this profile video for your Telegram account.";
"lng_profile_set_video_button" = "Set Video";
"lng_profile_changed_photo_title" = "Photo updated";
"lng_profile_changed_photo_about" = "You can change it in {link}.";
"lng_profile_changed_photo_link" = "Settings";
"lng_media_type_photos" = "Photos";
"lng_media_type_gifs" = "GIFs";
"lng_media_type_videos" = "Videos";
@@ -1214,6 +1302,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_manage_peer_reactions_some_title" = "Only allow these reactions";
"lng_manage_peer_reactions_available" = "Available reactions";
"lng_manage_peer_antispam" = "Aggressive Anti-Spam";
"lng_manage_peer_antispam_about" = "Telegram will filter more spam but may occasionally affect ordinary messages. You can report False Positives in Recent Actions.";
"lng_manage_peer_antispam_not_enough#one" = "Aggressive filtering can be enabled only in groups with more than **{count} member**.";
"lng_manage_peer_antispam_not_enough#other" = "Aggressive filtering can be enabled only in groups with more than **{count} members**.";
"lng_manage_peer_group_type" = "Group type";
"lng_manage_peer_channel_type" = "Channel type";
"lng_manage_peer_link_type" = "Link type";
@@ -1238,8 +1331,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_manage_discussion_group_add" = "Add a group";
"lng_manage_linked_channel" = "Linked channel";
"lng_manage_linked_channel_restore" = "Restore linked channel";
"lng_manage_discussion_group_about" = "Select a group chat for discussion that will be displayed in your channel.";
"lng_manage_discussion_group_about_chosen" = "A link to {group} is shown to all subscribers in the bottom panel.";
"lng_manage_discussion_group_about" = "Select a group chat that will host comments from your channel.";
"lng_manage_discussion_group_about_chosen" = "{group} is selected as the group that hosts comments for your channel.";
"lng_manage_discussion_group_create" = "Create a new group";
"lng_manage_discussion_group_unlink" = "Unlink group";
"lng_manage_discussion_group_posted" = "Everything you post in the channel is forwarded to this group.";
@@ -1273,6 +1366,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_ttl_edit_about" = "Automatically delete new messages after a certain period of time for you and {user}.";
"lng_ttl_edit_about_group" = "Automatically delete new messages sent in this chat after a certain period of time.";
"lng_ttl_edit_about_channel" = "Automatically delete new messages sent in this channel after a certain period of time.";
"lng_ttl_edit_about2" = "You can also set your default {link} for all chats in Settings.";
"lng_ttl_edit_about2_link" = "self-destruct timer";
"lng_ttl_edit_save" = "Confirm";
"lng_ttl_about_tooltip" = "New messages in this chat will be automatically deleted in {duration}.";
"lng_ttl_about_tooltip_channel" = "New messages in this chat will be automatically deleted in {duration}.";
@@ -1284,6 +1379,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_report_message_title" = "Report message";
"lng_report_profile_photo_title" = "Report profile photo";
"lng_report_profile_video_title" = "Report profile video";
"lng_report_group_photo_title" = "Report group photo";
"lng_report_group_video_title" = "Report group video";
"lng_report_channel_photo_title" = "Report channel photo";
"lng_report_channel_video_title" = "Report channel video";
"lng_report_please_select_messages" = "Please select messages to report.";
"lng_report_select_messages" = "Select messages";
"lng_report_messages_none" = "Select Messages";
@@ -1336,6 +1435,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_create_group_next" = "Next";
"lng_create_group_create" = "Create";
"lng_create_group_title" = "New Group";
"lng_create_group_ttl_about" = "Automatically delete messages in this group for everyone after a period of time.";
"lng_create_channel_title" = "New Channel";
"lng_create_public_channel_title" = "Public Channel";
"lng_create_public_channel_about" = "Anyone can find the channel in search and join";
@@ -1358,11 +1458,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_create_channel_link_too_short" = "Sorry, this link is too short";
"lng_create_channel_link_bad_symbols" = "Only 0-9, a-z, and underscores allowed.";
"lng_create_channel_link_available" = "This link is available";
"lng_create_channel_link_pending" = "Checking name...";
"lng_create_channel_link_copied" = "Link copied to clipboard";
"lng_create_group_crop" = "Select an area for group photo";
"lng_create_channel_crop" = "Select an area for channel photo";
"lng_failed_add_participant" = "Could not add user. Please try again later.";
"lng_failed_add_not_mutual" = "Sorry, if a person leaves a group, only a mutual contact can bring them back (they need to have your phone number, and you need theirs).";
"lng_failed_add_not_mutual_channel" = "Sorry, if a person leaves a channel, only a mutual contact can bring them back (they need to have your phone number, and you need theirs).";
@@ -1429,6 +1527,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_action_ttl_changed" = "{from} has set messages to auto-delete in {duration}";
"lng_action_ttl_changed_you" = "You set messages to auto-delete in {duration}";
"lng_action_ttl_changed_channel" = "New messages will auto-delete in {duration}";
"lng_action_ttl_global" = "{from} uses a self-destruct timer for all chats. All new messages in this chat will be automatically deleted after {duration} they've been sent.";
"lng_action_ttl_global_me" = "You set a self-destruct timer for all chats. All new messages in this chat will be automatically deleted after {duration} theyve been sent.";
"lng_action_ttl_removed" = "{from} has set messages not to auto-delete";
"lng_action_ttl_removed_you" = "You disabled the auto-delete timer";
"lng_action_ttl_removed_channel" = "New messages will not auto-delete";
@@ -1484,6 +1584,27 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_action_webview_data_done" = "You have just successfully transferred data from the «{text}» button to the bot.";
"lng_action_gift_received" = "{user} sent you a gift for {cost}";
"lng_action_gift_received_me" = "You sent to {user} a gift for {cost}";
"lng_action_suggested_photo_me" = "You suggested {user} to use this profile photo.";
"lng_action_suggested_photo" = "{user} suggests you to use this profile photo.";
"lng_action_suggested_photo_button" = "View Photo";
"lng_action_suggested_video_me" = "You suggested {user} to use this profile video.";
"lng_action_suggested_video" = "{user} suggests you to use this profile video.";
"lng_action_suggested_video_button" = "View Video";
"lng_action_attach_menu_bot_allowed" = "You allowed this bot to message you when you added it in the attachment menu.";
"lng_action_topic_created_inside" = "Topic created";
"lng_action_topic_closed_inside" = "Topic closed";
"lng_action_topic_reopened_inside" = "Topic reopened";
"lng_action_topic_hidden_inside" = "Topic hidden";
"lng_action_topic_unhidden_inside" = "Topic unhidden";
"lng_action_topic_created" = "«{topic}» was created";
"lng_action_topic_closed" = "«{topic}» was closed";
"lng_action_topic_reopened" = "«{topic}» was reopened";
"lng_action_topic_hidden" = "«{topic}» was hidden";
"lng_action_topic_unhidden" = "«{topic}» was unhidden";
"lng_action_topic_placeholder" = "topic";
"lng_action_topic_renamed" = "{from} renamed the {link} to «{title}»";
"lng_action_topic_icon_changed" = "{from} changed the {link} icon to {emoji}";
"lng_action_topic_icon_removed" = "{from} removed the {link} icon";
"lng_premium_gift_duration_months#one" = "for {count} month";
"lng_premium_gift_duration_months#other" = "for {count} months";
@@ -1640,10 +1761,15 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_edited" = "edited";
"lng_edited_date" = "Edited: {date}";
"lng_sent_date" = "Sent: {date}";
"lng_views_tooltip#one" = "Views: {count}";
"lng_views_tooltip#other" = "Views: {count}";
"lng_forwards_tooltip#one" = "Forwards: {count}";
"lng_forwards_tooltip#other" = "Forwards: {count}";
"lng_imported" = "imported";
"lng_admin_badge" = "admin";
"lng_owner_badge" = "owner";
"lng_channel_badge" = "channel";
"lng_topic_author_badge" = "Topic Author";
"lng_fast_reply" = "Reply";
"lng_cancel_edit_post_sure" = "Cancel editing?";
"lng_cancel_edit_post_yes" = "Yes";
@@ -1897,6 +2023,16 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_in_dlg_sticker" = "Sticker";
"lng_in_dlg_sticker_emoji" = "{emoji} Sticker";
"lng_in_dlg_poll" = "Poll";
"lng_in_dlg_media_count#one" = "{count} media";
"lng_in_dlg_media_count#other" = "{count} media";
"lng_in_dlg_photo_count#one" = "{count} photo";
"lng_in_dlg_photo_count#other" = "{count} photos";
"lng_in_dlg_video_count#one" = "{count} video";
"lng_in_dlg_video_count#other" = "{count} videos";
"lng_in_dlg_file_count#one" = "{count} file";
"lng_in_dlg_file_count#other" = "{count} files";
"lng_in_dlg_audio_count#one" = "{count} audio";
"lng_in_dlg_audio_count#other" = "{count} audio";
"lng_ban_user" = "Ban User";
"lng_delete_all_from_user" = "Delete all from {user}";
@@ -1985,6 +2121,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_replies_header#one" = "{count} reply";
"lng_replies_header#other" = "{count} replies";
"lng_replies_header_none" = "Replies";
"lng_replies_view_topic" = "View in Topic";
"lng_comments_header#one" = "{count} comment";
"lng_comments_header#other" = "{count} comments";
"lng_comments_header_none" = "Comments";
@@ -2009,6 +2146,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_dialogs_text_from_wrapped" = "{from}:";
"lng_dialogs_text_media" = "{media_part} {caption}";
"lng_dialogs_text_media_wrapped" = "{media},";
"lng_dialogs_text_from_in_topic" = "{from} {topic}";
"lng_dialogs_show_all_chats" = "Show all chats";
"lng_dialogs_hide_muted_chats" = "Hide muted chats";
"lng_dialogs_skip_archive_in_search" = "Skip results from archive";
@@ -2116,6 +2254,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_context_send_message" = "Send message";
"lng_context_view_group" = "View group info";
"lng_context_view_channel" = "View channel info";
"lng_context_view_topic" = "View topic info";
"lng_context_hide_psa" = "Hide this announcement";
"lng_context_pin_to_top" = "Pin to top";
"lng_context_unpin_from_top" = "Unpin from top";
@@ -2144,6 +2283,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_context_copy_link" = "Copy Link";
"lng_context_copy_message_link" = "Copy Message Link";
"lng_context_copy_post_link" = "Copy Post Link";
"lng_context_copy_topic_link" = "Copy Topic Link";
"lng_context_copy_email" = "Copy Email Address";
"lng_context_copy_hashtag" = "Copy Hashtag";
"lng_context_copy_mention" = "Copy Username";
@@ -2182,6 +2322,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_context_send_now_selected" = "Send selected now";
"lng_context_reschedule_selected" = "Reschedule Selected";
"lng_context_delete_selected" = "Delete Selected";
"lng_context_save_images_selected" = "Save Selected";
"lng_context_save_documents_selected" = "Download Selected";
"lng_context_clear_selection" = "Clear Selection";
"lng_context_seen_loading" = "Loading...";
"lng_context_seen_text#one" = "{count} Seen";
@@ -2201,6 +2343,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_context_delete_from_disk" = "Delete from disk";
"lng_context_delete_all_files" = "Delete all files";
"lng_context_save_custom_sound" = "Save for notifications";
"lng_context_translate" = "Translate";
"lng_context_translate_selected" = "Translate Selected Text";
"lng_context_animated_emoji" = "This message contains emoji from **{name} pack**.";
"lng_context_animated_emoji_many#one" = "This message contains emoji from **{count} pack**.";
@@ -2210,6 +2354,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_context_animated_reactions_many#one" = "Reactions contain emoji from **{count} pack**.";
"lng_context_animated_reactions_many#other" = "Reactions contain emoji from **{count} packs**.";
"lng_context_spoiler_effect" = "Hide with Spoiler";
"lng_context_disable_spoiler" = "Remove Spoiler";
"lng_downloads_section" = "Downloads";
"lng_downloads_view_in_chat" = "View in chat";
"lng_downloads_view_in_section" = "View in downloads";
@@ -2223,17 +2370,15 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_send_image_empty" = "Could not send an empty file: {name}";
"lng_send_images_selected#one" = "{count} image selected";
"lng_send_images_selected#other" = "{count} images selected";
"lng_send_photos#one" = "Send {count} photo";
"lng_send_photos#other" = "Send {count} photos";
"lng_send_separate_photos" = "Send as separate photos";
"lng_send_separate_photos_videos" = "Send as separate media";
"lng_send_files_selected#one" = "{count} file selected";
"lng_send_files_selected#other" = "{count} files selected";
"lng_send_files#one" = "Send {count} file";
"lng_send_files#other" = "Send {count} files";
"lng_send_grouped" = "Group items";
"lng_send_compressed_one" = "Compress the image";
"lng_send_compressed" = "Compress images";
"lng_send_media_invalid_files" = "Sorry, no valid files found.";
"lng_send_image" = "Send an image";
"lng_send_file" = "Send a file";
"lng_send_video" = "Send a video file";
"lng_forward_choose" = "Choose recipient...";
"lng_forward_cant" = "Sorry, no way to forward here :(";
@@ -2352,6 +2497,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_mediaview_group_photo" = "Group Photo";
"lng_mediaview_channel_photo" = "Channel Photo";
"lng_mediaview_profile_photo" = "Profile Photo";
"lng_mediaview_profile_public_photo" = "Public Photo";
"lng_mediaview_profile_photo_by_you" = "Photo set by you";
"lng_mediaview_file_n_of_amount" = "{file} {n} of {amount}";
"lng_mediaview_n_of_amount" = "Photo {n} of {amount}";
"lng_mediaview_doc_image" = "File";
@@ -2362,6 +2509,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_mediaview_report_profile_photo" = "Report";
"lng_mediaview_saved_to" = "Image was saved to your {downloads} folder";
"lng_mediaview_saved_images_to" = "Images were saved to your {downloads} folder";
"lng_mediaview_downloads" = "Downloads";
"lng_mediaview_video_loading" = "Loading - {percent}";
"lng_mediaview_playback_speed" = "Playback speed: {speed}";
@@ -2449,8 +2597,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_payments_webview_no_use" = "Unfortunately, you can't use payments with current system configuration.";
"lng_payments_webview_install_edge" = "Please install {link}.";
"lng_payments_webview_install_webkit" = "Please install WebKitGTK (webkit2gtk-5.0/webkit2gtk-4.1/webkit2gtk-4.0) using your package manager.";
"lng_payments_webview_switch_mutter" = "Qt's window embedding doesn't work well with Mutter window manager. Please switch to another window manager or desktop environment.";
"lng_payments_webview_switch_wayland" = "There is no way to embed WebView window on Wayland. Please switch to X11.";
"lng_payments_webview_update_windows" = "Please update your system to Windows 8.1 or later.";
"lng_payments_sure_close" = "Are you sure you want to close this payment form? The changes you made will be lost.";
"lng_payments_receipt_label" = "Receipt";
@@ -2767,6 +2913,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_menu_start_group_call" = "Start video chat";
"lng_menu_start_group_call_scheduled" = "Schedule video chat";
"lng_menu_start_group_call_with" = "Stream with...";
"lng_menu_start_group_call_join" = "Join video chat";
"lng_menu_start_group_call_options" = "Video chat";
"lng_menu_start_group_call_channel" = "Start live stream";
"lng_menu_start_group_call_scheduled_channel" = "Schedule live stream";
"lng_menu_start_group_call_with_channel" = "Stream with...";
@@ -2852,6 +3000,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_rights_group_invite_link" = "Invite users via link";
"lng_rights_group_invite" = "Add users";
"lng_rights_group_pin" = "Pin messages";
"lng_rights_group_topics" = "Manage topics";
"lng_rights_group_add_topics" = "Create topics";
"lng_rights_group_manage_calls" = "Manage voice chats";
"lng_rights_group_delete" = "Delete messages";
"lng_rights_group_anonymous" = "Remain Anonymous";
@@ -2937,6 +3087,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_admin_log_filter_voice_chats_channel" = "Live stream";
"lng_admin_log_filter_invite_links" = "Invite links";
"lng_admin_log_filter_members_removed" = "Leaving members";
"lng_admin_log_filter_topics" = "Topics";
"lng_admin_log_filter_all_admins" = "All users and admins";
"lng_admin_log_about" = "What is this?";
"lng_admin_log_about_text" = "This is a list of all service actions taken by the group's members and admins in the last 48 hours.";
@@ -2961,6 +3112,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_admin_log_changed_link_channel" = "{from} changed channel link:";
"lng_admin_log_removed_link_channel" = "{from} removed channel link";
"lng_admin_log_previous_link" = "Previous link";
"lng_admin_log_reordered_link_group" = "{from} reordered group links:";
"lng_admin_log_reordered_link_channel" = "{from} reordered channel links:";
"lng_admin_log_previous_links_order" = "Previous order";
"lng_admin_log_activated_link" = "{from} activated @{link} username";
"lng_admin_log_deactivated_link" = "{from} deactivated @{link} username";
"lng_admin_log_changed_photo_group" = "{from} changed group photo";
"lng_admin_log_changed_photo_channel" = "{from} changed channel photo";
"lng_admin_log_removed_photo_group" = "{from} removed group photo";
@@ -2991,6 +3147,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_admin_log_participant_joined_by_link_channel" = "{from} joined the channel via {link}";
"lng_admin_log_participant_approved_by_link" = "{from} was approved to join the group via {link} by {user}";
"lng_admin_log_participant_approved_by_link_channel" = "{from} was approved to join the channel via {link} by {user}";
"lng_admin_log_participant_approved_by_request" = "{from} joined to the group via public request, approved by {user}";
"lng_admin_log_participant_approved_by_request_channel" = "{from} joined to the channel via public request, approved by {user}";
"lng_admin_log_revoke_invite_link" = "{from} revoked invite link {link}";
"lng_admin_log_delete_invite_link" = "{from} deleted invite link {link}";
"lng_admin_log_participant_left" = "{from} left the group";
@@ -3028,6 +3186,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_admin_log_disallowed_unmute_self_channel" = "{from} started muting new live stream members";
"lng_admin_log_participant_volume" = "{from} changed voice chat volume for {user} to {percent}";
"lng_admin_log_participant_volume_channel" = "{from} changed live stream volume for {user} to {percent}";
"lng_admin_log_antispam_enabled" = "{from} enabled aggressive anti-spam";
"lng_admin_log_antispam_disabled" = "{from} disabled aggressive anti-spam";
"lng_admin_log_user_with_username" = "{name} ({mention})";
"lng_admin_log_messages_ttl_set" = "{from} enabled messages auto-delete after {duration}";
"lng_admin_log_messages_ttl_changed" = "{from} changed messages auto-delete period from {previous} to {duration}";
@@ -3042,6 +3202,17 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_admin_log_invite_link_label" = "Name: {previous} -> {limit}";
"lng_admin_log_invite_link_request_needed" = "Now admin approval is required to join.";
"lng_admin_log_invite_link_request_not_needed" = "Now admin approval is not required to join.";
"lng_admin_log_topics_enabled" = "{from} enabled topics";
"lng_admin_log_topics_disabled" = "{from} disabled topics";
"lng_admin_log_topics_created" = "{from} created topic {topic}";
"lng_admin_log_topics_changed" = "{from} changed topic {topic} to {new_topic}";
"lng_admin_log_topics_closed" = "{from} closed topic {topic}";
"lng_admin_log_topics_reopened" = "{from} reopened topic {topic}";
"lng_admin_log_topics_hidden" = "{from} hid topic {topic}";
"lng_admin_log_topics_unhidden" = "{from} unhid topic {topic}";
"lng_admin_log_topics_deleted" = "{from} deleted topic {topic}";
"lng_admin_log_topics_pinned" = "{from} pinned topic {topic}";
"lng_admin_log_topics_unpinned" = "{from} unpinned topic {topic}";
"lng_admin_log_restricted_forever" = "indefinitely";
"lng_admin_log_restricted_until" = "until {date}";
"lng_admin_log_banned_view_messages" = "Read messages";
@@ -3058,10 +3229,16 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_admin_log_admin_invite_users" = "Add members";
"lng_admin_log_admin_invite_link" = "Invite users via link";
"lng_admin_log_admin_pin_messages" = "Pin messages";
"lng_admin_log_admin_manage_topics" = "Manage topics";
"lng_admin_log_admin_create_topics" = "Create topics";
"lng_admin_log_admin_manage_calls" = "Manage voice chats";
"lng_admin_log_admin_manage_calls_channel" = "Manage live streams";
"lng_admin_log_admin_add_admins" = "Add new admins";
"lng_admin_log_antispam_menu_report" = "Report False Positive";
"lng_admin_log_antispam_menu_report_toast" = "You can manage anti-spam settings in {link}.";
"lng_admin_log_antispam_menu_report_toast_link" = "Group Info > Administrators";
"lng_terms_signup" = "By signing up,\nyou agree to the {link}.";
"lng_terms_signup_link" = "Terms of Service";
"lng_terms_header" = "Terms of Service";
@@ -3308,6 +3485,14 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_language_not_ready_about" = "Unfortunately, this custom language pack ({lang_name}) doesn't contain data for Telegram Desktop. You can contribute to this language pack using the {link}.";
"lng_language_not_ready_link" = "translations platform";
"lng_translate_box_original" = "Original";
"lng_translate_box_error" = "Translate failed.";
"lng_translate_settings_subtitle" = "Translate Messages";
"lng_translate_settings_show" = "Show Translate Button";
"lng_translate_settings_choose" = "Do Not Translate";
"lng_translate_settings_about" = "The 'Translate' button will appear when you open a context menu on a text message.";
"lng_launch_exe_warning" = "This file has a {extension} extension.\nAre you sure you want to run it?";
"lng_launch_svg_warning" = "Opening this file can potentially expose your IP address to its sender. Continue?";
"lng_launch_exe_sure" = "Run";
@@ -3470,6 +3655,33 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_ringtones_error_max_size" = "Sorry, but your file is too big. The maximum size for ringtones is {size}.";
"lng_ringtones_error_max_duration" = "Sorry, but your file is too long. The maximum duration for ringtones is {duration}.";
"lng_forum_topic_new" = "New Topic";
"lng_forum_topic_edit" = "Edit Topic";
"lng_forum_topic_title" = "Topic Title";
"lng_forum_topic_close" = "Close Topic";
"lng_forum_topic_reopen" = "Reopen Topic";
"lng_forum_topic_closed" = "This topic is now closed.";
"lng_forum_topic_delete" = "Delete";
"lng_forum_topic_delete_sure" = "Are you sure you want to delete this topic?";
"lng_forum_topic_created_title_my" = "Almost done!";
"lng_forum_topic_created_body_my" = "Send the first message\nto start this topic.";
"lng_forum_topic_created_title" = "Topic started!";
"lng_forum_topic_created_body" = "Send a message to open\nthe discussion.";
"lng_forum_topics_switch" = "Topics";
"lng_forum_topics_not_enough#one" = "Only groups with more than **{count} member** can have topics enabled.";
"lng_forum_topics_not_enough#other" = "Only groups with more than **{count} members** can have topics enabled.";
"lng_forum_topics_no_discussion" = "Topics can't be enabled in discussion groups at the moment.";
"lng_forum_choose_title_and_icon" = "Choose title and icon for your topic";
"lng_forum_replies_only" = "You can reply to messages in topics.";
"lng_forum_no_topics" = "No topics currently created in this forum.";
"lng_forum_create_topic" = "Create topic";
"lng_forum_discard_sure" = "Are you sure you want to discard this topic?";
"lng_forum_view_as_messages" = "View as Messages";
"lng_forum_no_messages" = "No messages";
"lng_forum_messages#one" = "{count} message";
"lng_forum_messages#other" = "{count} messages";
"lng_forum_show_topics_list" = "Show Topics List";
// Wnd specific
"lng_wnd_choose_program_menu" = "Choose Default Program...";

View File

@@ -8,5 +8,7 @@
<file alias="cloud_password/password_input.tgs">../../animations/cloud_password/password_input.tgs</file>
<file alias="cloud_password/hint.tgs">../../animations/cloud_password/hint.tgs</file>
<file alias="cloud_password/email.tgs">../../animations/cloud_password/email.tgs</file>
<file alias="ttl.tgs">../../animations/ttl.tgs</file>
<file alias="discussion.tgs">../../animations/discussion.tgs</file>
</qresource>
</RCC>

View File

@@ -28,6 +28,14 @@
<file alias="icons/settings/dino.svg">../../icons/settings/dino.svg</file>
<file alias="icons/settings/star.svg">../../icons/settings/star.svg</file>
<file alias="icons/settings/starmini.svg">../../icons/settings/starmini.svg</file>
<file alias="topic_icons/blue.svg">../../art/topic_icons/blue.svg</file>
<file alias="topic_icons/yellow.svg">../../art/topic_icons/yellow.svg</file>
<file alias="topic_icons/violet.svg">../../art/topic_icons/violet.svg</file>
<file alias="topic_icons/green.svg">../../art/topic_icons/green.svg</file>
<file alias="topic_icons/rose.svg">../../art/topic_icons/rose.svg</file>
<file alias="topic_icons/red.svg">../../art/topic_icons/red.svg</file>
<file alias="topic_icons/gray.svg">../../art/topic_icons/gray.svg</file>
<file alias="topic_icons/general.svg">../../art/topic_icons/general.svg</file>
</qresource>
<qresource prefix="/icons">
<file alias="calls/hands.lottie">../../icons/calls/hands.lottie</file>
@@ -46,6 +54,6 @@
</qresource>
<qresource prefix="/misc">
<file alias="default_shortcuts-custom.json">../../default_shortcuts-custom.json</file>
<file alias="telegramdesktop.desktop">../../../../lib/xdg/telegramdesktop.desktop</file>
<file alias="org.telegram.desktop.desktop">../../../../lib/xdg/org.telegram.desktop.desktop</file>
</qresource>
</RCC>

View File

@@ -58,15 +58,15 @@ inputFile#f52ff27f id:long parts:int name:string md5_checksum:string = InputFile
inputFileBig#fa4f0bb5 id:long parts:int name:string = InputFile;
inputMediaEmpty#9664f57f = InputMedia;
inputMediaUploadedPhoto#1e287d04 flags:# file:InputFile stickers:flags.0?Vector<InputDocument> ttl_seconds:flags.1?int = InputMedia;
inputMediaPhoto#b3ba0635 flags:# id:InputPhoto ttl_seconds:flags.0?int = InputMedia;
inputMediaUploadedPhoto#1e287d04 flags:# spoiler:flags.2?true file:InputFile stickers:flags.0?Vector<InputDocument> ttl_seconds:flags.1?int = InputMedia;
inputMediaPhoto#b3ba0635 flags:# spoiler:flags.1?true id:InputPhoto ttl_seconds:flags.0?int = InputMedia;
inputMediaGeoPoint#f9c44144 geo_point:InputGeoPoint = InputMedia;
inputMediaContact#f8ab7dfb phone_number:string first_name:string last_name:string vcard:string = InputMedia;
inputMediaUploadedDocument#5b38c6c1 flags:# nosound_video:flags.3?true force_file:flags.4?true file:InputFile thumb:flags.2?InputFile mime_type:string attributes:Vector<DocumentAttribute> stickers:flags.0?Vector<InputDocument> ttl_seconds:flags.1?int = InputMedia;
inputMediaDocument#33473058 flags:# id:InputDocument ttl_seconds:flags.0?int query:flags.1?string = InputMedia;
inputMediaUploadedDocument#5b38c6c1 flags:# nosound_video:flags.3?true force_file:flags.4?true spoiler:flags.5?true file:InputFile thumb:flags.2?InputFile mime_type:string attributes:Vector<DocumentAttribute> stickers:flags.0?Vector<InputDocument> ttl_seconds:flags.1?int = InputMedia;
inputMediaDocument#33473058 flags:# spoiler:flags.2?true id:InputDocument ttl_seconds:flags.0?int query:flags.1?string = InputMedia;
inputMediaVenue#c13d1c11 geo_point:InputGeoPoint title:string address:string provider:string venue_id:string venue_type:string = InputMedia;
inputMediaPhotoExternal#e5bbfe1a flags:# url:string ttl_seconds:flags.0?int = InputMedia;
inputMediaDocumentExternal#fb52dc99 flags:# url:string ttl_seconds:flags.0?int = InputMedia;
inputMediaPhotoExternal#e5bbfe1a flags:# spoiler:flags.1?true url:string ttl_seconds:flags.0?int = InputMedia;
inputMediaDocumentExternal#fb52dc99 flags:# spoiler:flags.1?true url:string ttl_seconds:flags.0?int = InputMedia;
inputMediaGame#d33f43f3 id:InputGame = InputMedia;
inputMediaInvoice#8eb5a6d5 flags:# title:string description:string photo:flags.0?InputWebDocument invoice:Invoice payload:bytes provider:string provider_data:DataJSON start_param:flags.1?string extended_media:flags.2?InputMedia = InputMedia;
inputMediaGeoLive#971fa843 flags:# stopped:flags.0?true geo_point:InputGeoPoint heading:flags.2?int period:flags.1?int proximity_notification_radius:flags.3?int = InputMedia;
@@ -110,10 +110,10 @@ storage.fileMp4#b3cea0e4 = storage.FileType;
storage.fileWebp#1081464c = storage.FileType;
userEmpty#d3bc4b7a id:long = User;
user#5d99adee flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true bot_attach_menu:flags.27?true premium:flags.28?true attach_menu_enabled:flags.29?true id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string emoji_status:flags.30?EmojiStatus = User;
user#8f97c628 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true bot_attach_menu:flags.27?true premium:flags.28?true attach_menu_enabled:flags.29?true flags2:# id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string emoji_status:flags.30?EmojiStatus usernames:flags2.0?Vector<Username> = User;
userProfilePhotoEmpty#4f11bae1 = UserProfilePhoto;
userProfilePhoto#82d1f706 flags:# has_video:flags.0?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = UserProfilePhoto;
userProfilePhoto#82d1f706 flags:# has_video:flags.0?true personal:flags.2?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = UserProfilePhoto;
userStatusEmpty#9d05049 = UserStatus;
userStatusOnline#edb93949 expires:int = UserStatus;
@@ -125,11 +125,11 @@ userStatusLastMonth#77ebc742 = UserStatus;
chatEmpty#29562865 id:long = Chat;
chat#41cbf256 flags:# creator:flags.0?true left:flags.2?true deactivated:flags.5?true call_active:flags.23?true call_not_empty:flags.24?true noforwards:flags.25?true id:long title:string photo:ChatPhoto participants_count:int date:int version:int migrated_to:flags.6?InputChannel admin_rights:flags.14?ChatAdminRights default_banned_rights:flags.18?ChatBannedRights = Chat;
chatForbidden#6592a1a7 id:long title:string = Chat;
channel#8261ac61 flags:# creator:flags.0?true left:flags.2?true broadcast:flags.5?true verified:flags.7?true megagroup:flags.8?true restricted:flags.9?true signatures:flags.11?true min:flags.12?true scam:flags.19?true has_link:flags.20?true has_geo:flags.21?true slowmode_enabled:flags.22?true call_active:flags.23?true call_not_empty:flags.24?true fake:flags.25?true gigagroup:flags.26?true noforwards:flags.27?true join_to_send:flags.28?true join_request:flags.29?true id:long access_hash:flags.13?long title:string username:flags.6?string photo:ChatPhoto date:int restriction_reason:flags.9?Vector<RestrictionReason> admin_rights:flags.14?ChatAdminRights banned_rights:flags.15?ChatBannedRights default_banned_rights:flags.18?ChatBannedRights participants_count:flags.17?int = Chat;
channel#83259464 flags:# creator:flags.0?true left:flags.2?true broadcast:flags.5?true verified:flags.7?true megagroup:flags.8?true restricted:flags.9?true signatures:flags.11?true min:flags.12?true scam:flags.19?true has_link:flags.20?true has_geo:flags.21?true slowmode_enabled:flags.22?true call_active:flags.23?true call_not_empty:flags.24?true fake:flags.25?true gigagroup:flags.26?true noforwards:flags.27?true join_to_send:flags.28?true join_request:flags.29?true forum:flags.30?true flags2:# id:long access_hash:flags.13?long title:string username:flags.6?string photo:ChatPhoto date:int restriction_reason:flags.9?Vector<RestrictionReason> admin_rights:flags.14?ChatAdminRights banned_rights:flags.15?ChatBannedRights default_banned_rights:flags.18?ChatBannedRights participants_count:flags.17?int usernames:flags2.0?Vector<Username> = Chat;
channelForbidden#17d493d5 flags:# broadcast:flags.5?true megagroup:flags.8?true id:long access_hash:long title:string until_date:flags.16?int = Chat;
chatFull#c9d31138 flags:# can_set_username:flags.7?true has_scheduled:flags.8?true id:long about:string participants:ChatParticipants chat_photo:flags.2?Photo notify_settings:PeerNotifySettings exported_invite:flags.13?ExportedChatInvite bot_info:flags.3?Vector<BotInfo> pinned_msg_id:flags.6?int folder_id:flags.11?int call:flags.12?InputGroupCall ttl_period:flags.14?int groupcall_default_join_as:flags.15?Peer theme_emoticon:flags.16?string requests_pending:flags.17?int recent_requesters:flags.17?Vector<long> available_reactions:flags.18?ChatReactions = ChatFull;
channelFull#f2355507 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true flags2:# can_delete_channel:flags2.0?true id:long about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:flags.23?ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?long migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?long location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int call:flags.21?InputGroupCall ttl_period:flags.24?int pending_suggestions:flags.25?Vector<string> groupcall_default_join_as:flags.26?Peer theme_emoticon:flags.27?string requests_pending:flags.28?int recent_requesters:flags.28?Vector<long> default_send_as:flags.29?Peer available_reactions:flags.30?ChatReactions = ChatFull;
channelFull#f2355507 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true flags2:# can_delete_channel:flags2.0?true antispam:flags2.1?true participants_hidden:flags2.2?true id:long about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:flags.23?ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?long migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?long location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int call:flags.21?InputGroupCall ttl_period:flags.24?int pending_suggestions:flags.25?Vector<string> groupcall_default_join_as:flags.26?Peer theme_emoticon:flags.27?string requests_pending:flags.28?int recent_requesters:flags.28?Vector<long> default_send_as:flags.29?Peer available_reactions:flags.30?ChatReactions = ChatFull;
chatParticipant#c02d4007 user_id:long inviter_id:long date:int = ChatParticipant;
chatParticipantCreator#e46bcee4 user_id:long = ChatParticipant;
@@ -146,11 +146,11 @@ message#38116ee0 flags:# out:flags.1?true mentioned:flags.4?true media_unread:fl
messageService#2b085862 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true legacy:flags.19?true id:int from_id:flags.8?Peer peer_id:Peer reply_to:flags.3?MessageReplyHeader date:int action:MessageAction ttl_period:flags.25?int = Message;
messageMediaEmpty#3ded6320 = MessageMedia;
messageMediaPhoto#695150d7 flags:# photo:flags.0?Photo ttl_seconds:flags.2?int = MessageMedia;
messageMediaPhoto#695150d7 flags:# spoiler:flags.3?true photo:flags.0?Photo ttl_seconds:flags.2?int = MessageMedia;
messageMediaGeo#56e0d474 geo:GeoPoint = MessageMedia;
messageMediaContact#70322949 phone_number:string first_name:string last_name:string vcard:string user_id:long = MessageMedia;
messageMediaUnsupported#9f84f49e = MessageMedia;
messageMediaDocument#9cb070d7 flags:# nopremium:flags.3?true document:flags.0?Document ttl_seconds:flags.2?int = MessageMedia;
messageMediaDocument#9cb070d7 flags:# nopremium:flags.3?true spoiler:flags.4?true document:flags.0?Document ttl_seconds:flags.2?int = MessageMedia;
messageMediaWebPage#a32dd600 webpage:WebPage = MessageMedia;
messageMediaVenue#2ec0533f geo:GeoPoint title:string address:string provider:string venue_id:string venue_type:string = MessageMedia;
messageMediaGame#fdb19008 game:Game = MessageMedia;
@@ -185,15 +185,19 @@ messageActionContactSignUp#f3f25f76 = MessageAction;
messageActionGeoProximityReached#98e0d697 from_id:Peer to_id:Peer distance:int = MessageAction;
messageActionGroupCall#7a0d7f42 flags:# call:InputGroupCall duration:flags.0?int = MessageAction;
messageActionInviteToGroupCall#502f92f7 call:InputGroupCall users:Vector<long> = MessageAction;
messageActionSetMessagesTTL#aa1afbfd period:int = MessageAction;
messageActionSetMessagesTTL#3c134d7b flags:# period:int auto_setting_from:flags.0?long = MessageAction;
messageActionGroupCallScheduled#b3a07661 call:InputGroupCall schedule_date:int = MessageAction;
messageActionSetChatTheme#aa786345 emoticon:string = MessageAction;
messageActionChatJoinedByRequest#ebbca3cb = MessageAction;
messageActionWebViewDataSentMe#47dd8079 text:string data:string = MessageAction;
messageActionWebViewDataSent#b4c38cb5 text:string = MessageAction;
messageActionGiftPremium#aba0f5c6 currency:string amount:long months:int = MessageAction;
messageActionTopicCreate#d999256 flags:# title:string icon_color:int icon_emoji_id:flags.0?long = MessageAction;
messageActionTopicEdit#c0944820 flags:# title:flags.0?string icon_emoji_id:flags.1?long closed:flags.2?Bool hidden:flags.3?Bool = MessageAction;
messageActionSuggestProfilePhoto#57de635e photo:Photo = MessageAction;
messageActionAttachMenuBotAllowed#e7e75f97 = MessageAction;
dialog#a8edd0f5 flags:# pinned:flags.2?true unread_mark:flags.3?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage folder_id:flags.4?int = Dialog;
dialog#d58a08c6 flags:# pinned:flags.2?true unread_mark:flags.3?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage folder_id:flags.4?int ttl_period:flags.5?int = Dialog;
dialogFolder#71bd134c flags:# pinned:flags.2?true folder:Folder peer:Peer top_message:int unread_muted_peers_count:int unread_unmuted_peers_count:int unread_muted_messages_count:int unread_unmuted_messages_count:int = Dialog;
photoEmpty#2331b22d id:long = Photo;
@@ -220,6 +224,7 @@ inputNotifyPeer#b8bc5b0c peer:InputPeer = InputNotifyPeer;
inputNotifyUsers#193b4417 = InputNotifyPeer;
inputNotifyChats#4a95e84e = InputNotifyPeer;
inputNotifyBroadcasts#b1db7c7e = InputNotifyPeer;
inputNotifyForumTopic#5c467992 peer:InputPeer top_msg_id:int = InputNotifyPeer;
inputPeerNotifySettings#df1f002b flags:# show_previews:flags.0?Bool silent:flags.1?Bool mute_until:flags.2?int sound:flags.3?NotificationSound = InputPeerNotifySettings;
@@ -241,7 +246,7 @@ inputReportReasonFake#f5ddd6e7 = ReportReason;
inputReportReasonIllegalDrugs#a8eb2be = ReportReason;
inputReportReasonPersonalDetails#9ec7863d = ReportReason;
userFull#c4b1fc3f flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true can_pin_message:flags.7?true has_scheduled:flags.12?true video_calls_available:flags.13?true voice_messages_forbidden:flags.20?true id:long about:flags.1?string settings:PeerSettings profile_photo:flags.2?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo pinned_msg_id:flags.6?int common_chats_count:int folder_id:flags.11?int ttl_period:flags.14?int theme_emoticon:flags.15?string private_forward_name:flags.16?string bot_group_admin_rights:flags.17?ChatAdminRights bot_broadcast_admin_rights:flags.18?ChatAdminRights premium_gifts:flags.19?Vector<PremiumGiftOption> = UserFull;
userFull#f8d32aed flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true can_pin_message:flags.7?true has_scheduled:flags.12?true video_calls_available:flags.13?true voice_messages_forbidden:flags.20?true id:long about:flags.1?string settings:PeerSettings personal_photo:flags.21?Photo profile_photo:flags.2?Photo fallback_photo:flags.22?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo pinned_msg_id:flags.6?int common_chats_count:int folder_id:flags.11?int ttl_period:flags.14?int theme_emoticon:flags.15?string private_forward_name:flags.16?string bot_group_admin_rights:flags.17?ChatAdminRights bot_broadcast_admin_rights:flags.18?ChatAdminRights premium_gifts:flags.19?Vector<PremiumGiftOption> = UserFull;
contact#145ade0b user_id:long mutual:Bool = Contact;
@@ -263,7 +268,7 @@ messages.dialogsNotModified#f0e3e596 count:int = messages.Dialogs;
messages.messages#8c718e87 messages:Vector<Message> chats:Vector<Chat> users:Vector<User> = messages.Messages;
messages.messagesSlice#3a54685e flags:# inexact:flags.1?true count:int next_rate:flags.0?int offset_id_offset:flags.2?int messages:Vector<Message> chats:Vector<Chat> users:Vector<User> = messages.Messages;
messages.channelMessages#64479808 flags:# inexact:flags.1?true pts:int count:int offset_id_offset:flags.2?int messages:Vector<Message> chats:Vector<Chat> users:Vector<User> = messages.Messages;
messages.channelMessages#c776ba4e flags:# inexact:flags.1?true pts:int count:int offset_id_offset:flags.2?int messages:Vector<Message> topics:Vector<ForumTopic> chats:Vector<Chat> users:Vector<User> = messages.Messages;
messages.messagesNotModified#74535f21 count:int = messages.Messages;
messages.chats#64ff9fd5 chats:Vector<Chat> = messages.Chats;
@@ -298,8 +303,7 @@ updateUserTyping#c01e857f user_id:long action:SendMessageAction = Update;
updateChatUserTyping#83487af0 chat_id:long from_id:Peer action:SendMessageAction = Update;
updateChatParticipants#7761198 participants:ChatParticipants = Update;
updateUserStatus#e5bdf8de user_id:long status:UserStatus = Update;
updateUserName#c3f202e0 user_id:long first_name:string last_name:string username:string = Update;
updateUserPhoto#f227868c user_id:long date:int photo:UserProfilePhoto previous:Bool = Update;
updateUserName#a7848924 user_id:long first_name:string last_name:string usernames:Vector<Username> = Update;
updateNewEncryptedMessage#12bcbd9a message:EncryptedMessage qts:int = Update;
updateEncryptedChatTyping#1710f156 chat_id:int = Update;
updateEncryption#b4a2e88d chat:EncryptedChat date:int = Update;
@@ -333,7 +337,7 @@ updateBotCallbackQuery#b9cfc48d flags:# query_id:long user_id:long peer:Peer msg
updateEditMessage#e40370a3 message:Message pts:int pts_count:int = Update;
updateInlineBotCallbackQuery#691e9052 flags:# query_id:long user_id:long msg_id:InputBotInlineMessageID chat_instance:long data:flags.0?bytes game_short_name:flags.1?string = Update;
updateReadChannelOutbox#b75f99a9 channel_id:long max_id:int = Update;
updateDraftMessage#ee2bb969 peer:Peer draft:DraftMessage = Update;
updateDraftMessage#1b49ec6d flags:# peer:Peer top_msg_id:flags.0?int draft:DraftMessage = Update;
updateReadFeaturedStickers#571d2742 = Update;
updateRecentStickers#9a422c20 = Update;
updateConfig#a229dd06 = Update;
@@ -349,7 +353,7 @@ updatePhoneCall#ab0f6b1e phone_call:PhoneCall = Update;
updateLangPackTooLong#46560264 lang_code:string = Update;
updateLangPack#56022f4d difference:LangPackDifference = Update;
updateFavedStickers#e511996d = Update;
updateChannelReadMessagesContents#44bdd535 channel_id:long messages:Vector<int> = Update;
updateChannelReadMessagesContents#ea29055d flags:# channel_id:long top_msg_id:flags.0?int messages:Vector<int> = Update;
updateContactsReset#7084a7be = Update;
updateChannelAvailableMessages#b23fc698 channel_id:long available_min_id:int = Update;
updateDialogUnreadMark#e16459c3 flags:# unread:flags.0?true peer:DialogPeer = Update;
@@ -386,7 +390,7 @@ updateGroupCallConnection#b783982 flags:# presentation:flags.0?true params:DataJ
updateBotCommands#4d712f2e peer:Peer bot_id:long commands:Vector<BotCommand> = Update;
updatePendingJoinRequests#7063c3db peer:Peer requests_pending:int recent_requesters:Vector<long> = Update;
updateBotChatInviteRequester#11dfa986 peer:Peer date:int user_id:long about:string invite:ExportedChatInvite qts:int = Update;
updateMessageReactions#154798c3 peer:Peer msg_id:int reactions:MessageReactions = Update;
updateMessageReactions#5e1b3cb8 flags:# peer:Peer msg_id:int top_msg_id:flags.0?int reactions:MessageReactions = Update;
updateAttachMenuBots#17b7a20b = Update;
updateWebViewResultSent#1592b79d query_id:long = Update;
updateBotMenuButton#14b85813 bot_id:long button:BotMenuButton = Update;
@@ -398,6 +402,9 @@ updateRecentEmojiStatuses#30f443db = Update;
updateRecentReactions#6f7863f4 = Update;
updateMoveStickerSetToTop#86fccf85 flags:# masks:flags.0?true emojis:flags.1?true stickerset:long = Update;
updateMessageExtendedMedia#5a73a98c peer:Peer msg_id:int extended_media:MessageExtendedMedia = Update;
updateChannelPinnedTopic#192efbe3 flags:# pinned:flags.0?true channel_id:long topic_id:int = Update;
updateChannelPinnedTopics#fe198602 flags:# channel_id:long order:flags.0?Vector<int> = Update;
updateUser#20529438 user_id:long = Update;
updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State;
@@ -470,6 +477,7 @@ notifyPeer#9fd40bd8 peer:Peer = NotifyPeer;
notifyUsers#b4c83b4c = NotifyPeer;
notifyChats#c007cec3 = NotifyPeer;
notifyBroadcasts#d612e8ef = NotifyPeer;
notifyForumTopic#226e6308 peer:Peer top_msg_id:int = NotifyPeer;
sendMessageTypingAction#16bf744e = SendMessageAction;
sendMessageCancelAction#fd5ec8f5 = SendMessageAction;
@@ -541,7 +549,7 @@ documentAttributeVideo#ef02ce6 flags:# round_message:flags.0?true supports_strea
documentAttributeAudio#9852f9c6 flags:# voice:flags.10?true duration:int title:flags.0?string performer:flags.1?string waveform:flags.2?bytes = DocumentAttribute;
documentAttributeFilename#15590068 file_name:string = DocumentAttribute;
documentAttributeHasStickers#9801d2f7 = DocumentAttribute;
documentAttributeCustomEmoji#fd149899 flags:# free:flags.0?true alt:string stickerset:InputStickerSet = DocumentAttribute;
documentAttributeCustomEmoji#fd149899 flags:# free:flags.0?true text_color:flags.1?true alt:string stickerset:InputStickerSet = DocumentAttribute;
messages.stickersNotModified#f1749a22 = messages.Stickers;
messages.stickers#30a6ec7e hash:long stickers:Vector<Document> = messages.Stickers;
@@ -588,10 +596,11 @@ inputStickerSetAnimatedEmojiAnimations#cde3739 = InputStickerSet;
inputStickerSetPremiumGifts#c88b3b02 = InputStickerSet;
inputStickerSetEmojiGenericAnimations#4c4d4ce = InputStickerSet;
inputStickerSetEmojiDefaultStatuses#29d0f5ee = InputStickerSet;
inputStickerSetEmojiDefaultTopicIcons#44c1f8e9 = InputStickerSet;
stickerSet#2dd14edc flags:# archived:flags.1?true official:flags.2?true masks:flags.3?true animated:flags.5?true videos:flags.6?true emojis:flags.7?true installed_date:flags.0?int id:long access_hash:long title:string short_name:string thumbs:flags.4?Vector<PhotoSize> thumb_dc_id:flags.4?int thumb_version:flags.4?int thumb_document_id:flags.8?long count:int hash:int = StickerSet;
messages.stickerSet#b60a24a6 set:StickerSet packs:Vector<StickerPack> documents:Vector<Document> = messages.StickerSet;
messages.stickerSet#6e153f16 set:StickerSet packs:Vector<StickerPack> keywords:Vector<StickerKeyword> documents:Vector<Document> = messages.StickerSet;
messages.stickerSetNotModified#d3f924eb = messages.StickerSet;
botCommand#c27ac8c7 command:string description:string = BotCommand;
@@ -618,7 +627,7 @@ keyboardButtonRow#77608b83 buttons:Vector<KeyboardButton> = KeyboardButtonRow;
replyKeyboardHide#a03e5b85 flags:# selective:flags.2?true = ReplyMarkup;
replyKeyboardForceReply#86b40b08 flags:# single_use:flags.1?true selective:flags.2?true placeholder:flags.3?string = ReplyMarkup;
replyKeyboardMarkup#85dd99d1 flags:# resize:flags.0?true single_use:flags.1?true selective:flags.2?true rows:Vector<KeyboardButtonRow> placeholder:flags.3?string = ReplyMarkup;
replyKeyboardMarkup#85dd99d1 flags:# resize:flags.0?true single_use:flags.1?true selective:flags.2?true persistent:flags.4?true rows:Vector<KeyboardButtonRow> placeholder:flags.3?string = ReplyMarkup;
replyInlineMarkup#48a30254 rows:Vector<KeyboardButtonRow> = ReplyMarkup;
messageEntityUnknown#bb92ba95 offset:int length:int = MessageEntity;
@@ -717,6 +726,7 @@ auth.codeTypeSms#72a3158c = auth.CodeType;
auth.codeTypeCall#741cd3e3 = auth.CodeType;
auth.codeTypeFlashCall#226ccefb = auth.CodeType;
auth.codeTypeMissedCall#d61ad6ee = auth.CodeType;
auth.codeTypeFragmentSms#6ed998c = auth.CodeType;
auth.sentCodeTypeApp#3dbb5986 length:int = auth.SentCodeType;
auth.sentCodeTypeSms#c000bba2 length:int = auth.SentCodeType;
@@ -725,6 +735,7 @@ auth.sentCodeTypeFlashCall#ab03c6d9 pattern:string = auth.SentCodeType;
auth.sentCodeTypeMissedCall#82006484 prefix:string length:int = auth.SentCodeType;
auth.sentCodeTypeEmailCode#5a159841 flags:# apple_signin_allowed:flags.0?true google_signin_allowed:flags.1?true email_pattern:string length:int next_phone_login_date:flags.2?int = auth.SentCodeType;
auth.sentCodeTypeSetUpEmailRequired#a5491dea flags:# apple_signin_allowed:flags.0?true google_signin_allowed:flags.1?true = auth.SentCodeType;
auth.sentCodeTypeFragmentSms#d9565c39 url:string length:int = auth.SentCodeType;
messages.botCallbackAnswer#36585ea4 flags:# alert:flags.1?true has_url:flags.3?true native_ui:flags.4?true message:flags.0?string url:flags.2?string cache_time:int = messages.BotCallbackAnswer;
@@ -770,7 +781,8 @@ messages.stickerSetInstallResultArchive#35e410a8 sets:Vector<StickerSetCovered>
stickerSetCovered#6410a5d2 set:StickerSet cover:Document = StickerSetCovered;
stickerSetMultiCovered#3407e51b set:StickerSet covers:Vector<Document> = StickerSetCovered;
stickerSetFullCovered#1aed5ee5 set:StickerSet packs:Vector<StickerPack> documents:Vector<Document> = StickerSetCovered;
stickerSetFullCovered#40d13c0e set:StickerSet packs:Vector<StickerPack> keywords:Vector<StickerKeyword> documents:Vector<Document> = StickerSetCovered;
stickerSetNoCovered#77b15d1c set:StickerSet = StickerSetCovered;
maskCoords#aed6dbb2 n:int x:double y:double zoom:double = MaskCoords;
@@ -952,12 +964,19 @@ channelAdminLogEventActionParticipantJoinByRequest#afb6144a invite:ExportedChatI
channelAdminLogEventActionToggleNoForwards#cb2ac766 new_value:Bool = ChannelAdminLogEventAction;
channelAdminLogEventActionSendMessage#278f2868 message:Message = ChannelAdminLogEventAction;
channelAdminLogEventActionChangeAvailableReactions#be4e0ef8 prev_value:ChatReactions new_value:ChatReactions = ChannelAdminLogEventAction;
channelAdminLogEventActionChangeUsernames#f04fb3a9 prev_value:Vector<string> new_value:Vector<string> = ChannelAdminLogEventAction;
channelAdminLogEventActionToggleForum#2cc6383 new_value:Bool = ChannelAdminLogEventAction;
channelAdminLogEventActionCreateTopic#58707d28 topic:ForumTopic = ChannelAdminLogEventAction;
channelAdminLogEventActionEditTopic#f06fe208 prev_topic:ForumTopic new_topic:ForumTopic = ChannelAdminLogEventAction;
channelAdminLogEventActionDeleteTopic#ae168909 topic:ForumTopic = ChannelAdminLogEventAction;
channelAdminLogEventActionPinTopic#5d8d353b flags:# prev_topic:flags.0?ForumTopic new_topic:flags.1?ForumTopic = ChannelAdminLogEventAction;
channelAdminLogEventActionToggleAntiSpam#64f36dfc new_value:Bool = ChannelAdminLogEventAction;
channelAdminLogEvent#1fad68cd id:long date:int user_id:long action:ChannelAdminLogEventAction = ChannelAdminLogEvent;
channels.adminLogResults#ed8af74d events:Vector<ChannelAdminLogEvent> chats:Vector<Chat> users:Vector<User> = channels.AdminLogResults;
channelAdminLogEventsFilter#ea107ae4 flags:# join:flags.0?true leave:flags.1?true invite:flags.2?true ban:flags.3?true unban:flags.4?true kick:flags.5?true unkick:flags.6?true promote:flags.7?true demote:flags.8?true info:flags.9?true settings:flags.10?true pinned:flags.11?true edit:flags.12?true delete:flags.13?true group_call:flags.14?true invites:flags.15?true send:flags.16?true = ChannelAdminLogEventsFilter;
channelAdminLogEventsFilter#ea107ae4 flags:# join:flags.0?true leave:flags.1?true invite:flags.2?true ban:flags.3?true unban:flags.4?true kick:flags.5?true unkick:flags.6?true promote:flags.7?true demote:flags.8?true info:flags.9?true settings:flags.10?true pinned:flags.11?true edit:flags.12?true delete:flags.13?true group_call:flags.14?true invites:flags.15?true send:flags.16?true forums:flags.17?true = ChannelAdminLogEventsFilter;
popularContact#5ce14175 client_id:long importers:int = PopularContact;
@@ -1115,9 +1134,9 @@ chatOnlines#f041e250 onlines:int = ChatOnlines;
statsURL#47a971e0 url:string = StatsURL;
chatAdminRights#5fb224d5 flags:# change_info:flags.0?true post_messages:flags.1?true edit_messages:flags.2?true delete_messages:flags.3?true ban_users:flags.4?true invite_users:flags.5?true pin_messages:flags.7?true add_admins:flags.9?true anonymous:flags.10?true manage_call:flags.11?true other:flags.12?true = ChatAdminRights;
chatAdminRights#5fb224d5 flags:# change_info:flags.0?true post_messages:flags.1?true edit_messages:flags.2?true delete_messages:flags.3?true ban_users:flags.4?true invite_users:flags.5?true pin_messages:flags.7?true add_admins:flags.9?true anonymous:flags.10?true manage_call:flags.11?true other:flags.12?true manage_topics:flags.13?true = ChatAdminRights;
chatBannedRights#9f120418 flags:# view_messages:flags.0?true send_messages:flags.1?true send_media:flags.2?true send_stickers:flags.3?true send_gifs:flags.4?true send_games:flags.5?true send_inline:flags.6?true embed_links:flags.7?true send_polls:flags.8?true change_info:flags.10?true invite_users:flags.15?true pin_messages:flags.17?true until_date:int = ChatBannedRights;
chatBannedRights#9f120418 flags:# view_messages:flags.0?true send_messages:flags.1?true send_media:flags.2?true send_stickers:flags.3?true send_gifs:flags.4?true send_games:flags.5?true send_inline:flags.6?true embed_links:flags.7?true send_polls:flags.8?true change_info:flags.10?true invite_users:flags.15?true pin_messages:flags.17?true manage_topics:flags.18?true until_date:int = ChatBannedRights;
inputWallPaper#e630b979 id:long access_hash:long = InputWallPaper;
inputWallPaperSlug#72091c80 slug:string = InputWallPaper;
@@ -1248,7 +1267,7 @@ messages.messageViews#b6c4f543 views:Vector<MessageViews> chats:Vector<Chat> use
messages.discussionMessage#a6341782 flags:# messages:Vector<Message> max_id:flags.0?int read_inbox_max_id:flags.1?int read_outbox_max_id:flags.2?int unread_count:int chats:Vector<Chat> users:Vector<User> = messages.DiscussionMessage;
messageReplyHeader#a6d57763 flags:# reply_to_scheduled:flags.2?true reply_to_msg_id:int reply_to_peer_id:flags.0?Peer reply_to_top_id:flags.1?int = MessageReplyHeader;
messageReplyHeader#a6d57763 flags:# reply_to_scheduled:flags.2?true forum_topic:flags.3?true reply_to_msg_id:int reply_to_peer_id:flags.0?Peer reply_to_top_id:flags.1?int = MessageReplyHeader;
messageReplies#83d60fc2 flags:# comments:flags.0?true replies:int replies_pts:int recent_repliers:flags.1?Vector<Peer> channel_id:flags.0?long max_id:flags.2?int read_max_id:flags.3?int = MessageReplies;
@@ -1316,9 +1335,10 @@ account.resetPasswordFailedWait#e3779861 retry_date:int = account.ResetPasswordR
account.resetPasswordRequestedWait#e9effc7d until_date:int = account.ResetPasswordResult;
account.resetPasswordOk#e926d63e = account.ResetPasswordResult;
sponsoredMessage#3a836df8 flags:# recommended:flags.5?true random_id:bytes from_id:flags.3?Peer chat_invite:flags.4?ChatInvite chat_invite_hash:flags.4?string channel_post:flags.2?int start_param:flags.0?string message:string entities:flags.1?Vector<MessageEntity> = SponsoredMessage;
sponsoredMessage#3a836df8 flags:# recommended:flags.5?true show_peer_photo:flags.6?true random_id:bytes from_id:flags.3?Peer chat_invite:flags.4?ChatInvite chat_invite_hash:flags.4?string channel_post:flags.2?int start_param:flags.0?string message:string entities:flags.1?Vector<MessageEntity> = SponsoredMessage;
messages.sponsoredMessages#65a4c7d5 messages:Vector<SponsoredMessage> chats:Vector<Chat> users:Vector<User> = messages.SponsoredMessages;
messages.sponsoredMessages#c9ee1d87 flags:# posts_between:flags.0?int messages:Vector<SponsoredMessage> chats:Vector<Chat> users:Vector<User> = messages.SponsoredMessages;
messages.sponsoredMessagesEmpty#1839490f = messages.SponsoredMessages;
searchResultsCalendarPeriod#c9b0539f date:int min_msg_id:int max_msg_id:int count:int = SearchResultsCalendarPeriod;
@@ -1362,7 +1382,7 @@ attachMenuBotIconColor#4576f3f0 name:string color:int = AttachMenuBotIconColor;
attachMenuBotIcon#b2a7386b flags:# name:string icon:Document colors:flags.0?Vector<AttachMenuBotIconColor> = AttachMenuBotIcon;
attachMenuBot#c8aa2cd2 flags:# inactive:flags.0?true has_settings:flags.1?true bot_id:long short_name:string peer_types:Vector<AttachMenuPeerType> icons:Vector<AttachMenuBotIcon> = AttachMenuBot;
attachMenuBot#c8aa2cd2 flags:# inactive:flags.0?true has_settings:flags.1?true request_write_access:flags.2?true bot_id:long short_name:string peer_types:Vector<AttachMenuPeerType> icons:Vector<AttachMenuBotIcon> = AttachMenuBot;
attachMenuBotsNotModified#f1d88a5c = AttachMenuBots;
attachMenuBots#3c4301c0 hash:long bots:Vector<AttachMenuBot> users:Vector<User> = AttachMenuBots;
@@ -1448,6 +1468,19 @@ sendAsPeer#b81c7034 flags:# premium_required:flags.0?true peer:Peer = SendAsPeer
messageExtendedMediaPreview#ad628cc8 flags:# w:flags.0?int h:flags.0?int thumb:flags.1?PhotoSize video_duration:flags.2?int = MessageExtendedMedia;
messageExtendedMedia#ee479c64 media:MessageMedia = MessageExtendedMedia;
stickerKeyword#fcfeb29c document_id:long keyword:Vector<string> = StickerKeyword;
username#b4073647 flags:# editable:flags.0?true active:flags.1?true username:string = Username;
forumTopicDeleted#23f109b id:int = ForumTopic;
forumTopic#71701da9 flags:# my:flags.1?true closed:flags.2?true pinned:flags.3?true short:flags.5?true hidden:flags.6?true id:int date:int title:string icon_color:int icon_emoji_id:flags.0?long top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int from_id:Peer notify_settings:PeerNotifySettings draft:flags.4?DraftMessage = ForumTopic;
messages.forumTopics#367617d3 flags:# order_by_create_date:flags.0?true count:int topics:Vector<ForumTopic> messages:Vector<Message> chats:Vector<Chat> users:Vector<User> pts:int = messages.ForumTopics;
defaultHistoryTTL#43b46b20 period:int = DefaultHistoryTTL;
exportedContactToken#41bf109b url:string expires:int = ExportedContactToken;
---functions---
invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
@@ -1477,6 +1510,7 @@ auth.exportLoginToken#b7e085fe api_id:int api_hash:string except_ids:Vector<long
auth.importLoginToken#95ac5ce4 token:bytes = auth.LoginToken;
auth.acceptLoginToken#e894ad4d token:bytes = Authorization;
auth.checkRecoveryPassword#d36bf79 code:string = Bool;
auth.importWebTokenAuthorization#2db873a9 api_id:int api_hash:string web_auth_token:string = auth.Authorization;
account.registerDevice#ec86017a flags:# no_muted:flags.0?true token_type:int token:string app_sandbox:Bool secret:bytes other_uids:Vector<long> = Bool;
account.unregisterDevice#6a0d3206 token_type:int token:string other_uids:Vector<long> = Bool;
@@ -1538,7 +1572,7 @@ account.createTheme#652e4400 flags:# slug:string title:string document:flags.2?I
account.updateTheme#2bf40ccc flags:# format:string theme:InputTheme slug:flags.0?string title:flags.1?string document:flags.2?InputDocument settings:flags.3?Vector<InputThemeSettings> = Theme;
account.saveTheme#f257106c theme:InputTheme unsave:Bool = Bool;
account.installTheme#c727bb3b flags:# dark:flags.0?true theme:flags.1?InputTheme format:flags.2?string base_theme:flags.3?BaseTheme = Bool;
account.getTheme#8d9d742b format:string theme:InputTheme document_id:long = Theme;
account.getTheme#3a5869ec format:string theme:InputTheme = Theme;
account.getThemes#7206e458 format:string hash:long = account.Themes;
account.setContentSettings#b574b16b flags:# sensitive_enabled:flags.0?true = Bool;
account.getContentSettings#8b9b4dae = account.ContentSettings;
@@ -1558,6 +1592,8 @@ account.updateEmojiStatus#fbd3de6b emoji_status:EmojiStatus = Bool;
account.getDefaultEmojiStatuses#d6753386 hash:long = account.EmojiStatuses;
account.getRecentEmojiStatuses#f578105 hash:long = account.EmojiStatuses;
account.clearRecentEmojiStatuses#18201aae = Bool;
account.reorderUsernames#ef500eab order:Vector<string> = Bool;
account.toggleUsername#58d6b376 username:string active:Bool = Bool;
users.getUsers#d91a548 id:Vector<InputUser> = Vector<User>;
users.getFullUser#b60f5918 id:InputUser = users.UserFull;
@@ -1584,6 +1620,8 @@ contacts.acceptContact#f831a20f id:InputUser = Updates;
contacts.getLocated#d348bc44 flags:# background:flags.1?true geo_point:InputGeoPoint self_expires:flags.0?int = Updates;
contacts.blockFromReplies#29a8962c flags:# delete_message:flags.0?true delete_history:flags.1?true report_spam:flags.2?true msg_id:int = Updates;
contacts.resolvePhone#8af94344 phone:string = contacts.ResolvedPeer;
contacts.exportContactToken#f8654027 = ExportedContactToken;
contacts.importContactToken#13005788 token:string = User;
messages.getMessages#63c66506 id:Vector<InputMessage> = messages.Messages;
messages.getDialogs#a0f4cb4f flags:# exclude_pinned:flags.0?true folder_id:flags.1?int offset_date:int offset_id:int offset_peer:InputPeer limit:int hash:long = messages.Dialogs;
@@ -1594,9 +1632,9 @@ messages.deleteHistory#b08f922a flags:# just_clear:flags.0?true revoke:flags.1?t
messages.deleteMessages#e58e95d2 flags:# revoke:flags.0?true id:Vector<int> = messages.AffectedMessages;
messages.receivedMessages#5a954c0 max_id:int = Vector<ReceivedNotifyMessage>;
messages.setTyping#58943ee2 flags:# peer:InputPeer top_msg_id:flags.0?int action:SendMessageAction = Bool;
messages.sendMessage#d9d75a4 flags:# no_webpage:flags.1?true silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true peer:InputPeer reply_to_msg_id:flags.0?int message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
messages.sendMedia#e25ff8e0 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true peer:InputPeer reply_to_msg_id:flags.0?int media:InputMedia message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
messages.forwardMessages#cc30290b flags:# silent:flags.5?true background:flags.6?true with_my_score:flags.8?true drop_author:flags.11?true drop_media_captions:flags.12?true noforwards:flags.14?true from_peer:InputPeer id:Vector<int> random_id:Vector<long> to_peer:InputPeer schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
messages.sendMessage#1cc20387 flags:# no_webpage:flags.1?true silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true peer:InputPeer reply_to_msg_id:flags.0?int top_msg_id:flags.9?int message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
messages.sendMedia#7547c966 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true peer:InputPeer reply_to_msg_id:flags.0?int top_msg_id:flags.9?int media:InputMedia message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
messages.forwardMessages#c661bbc4 flags:# silent:flags.5?true background:flags.6?true with_my_score:flags.8?true drop_author:flags.11?true drop_media_captions:flags.12?true noforwards:flags.14?true from_peer:InputPeer id:Vector<int> random_id:Vector<long> to_peer:InputPeer top_msg_id:flags.9?int schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
messages.reportSpam#cf1592db peer:InputPeer = Bool;
messages.getPeerSettings#efd9a6a2 peer:InputPeer = messages.PeerSettings;
messages.report#8953ab4e peer:InputPeer id:Vector<int> reason:ReportReason message:string = Bool;
@@ -1606,7 +1644,7 @@ messages.editChatTitle#73783ffd chat_id:long title:string = Updates;
messages.editChatPhoto#35ddd674 chat_id:long photo:InputChatPhoto = Updates;
messages.addChatUser#f24753e3 chat_id:long user_id:InputUser fwd_limit:int = Updates;
messages.deleteChatUser#a2185cab flags:# revoke_history:flags.0?true chat_id:long user_id:InputUser = Updates;
messages.createChat#9cb126e users:Vector<InputUser> title:string = Updates;
messages.createChat#34a818 flags:# users:Vector<InputUser> title:string ttl_period:flags.0?int = Updates;
messages.getDhConfig#26cf8950 version:int random_length:int = messages.DhConfig;
messages.requestEncryption#f64daf43 user_id:InputUser random_id:int g_a:bytes = EncryptedChat;
messages.acceptEncryption#3dbc0415 peer:InputEncryptedChat g_b:bytes key_fingerprint:long = EncryptedChat;
@@ -1639,14 +1677,14 @@ messages.getSavedGifs#5cf09635 hash:long = messages.SavedGifs;
messages.saveGif#327a30cb id:InputDocument unsave:Bool = Bool;
messages.getInlineBotResults#514e999d flags:# bot:InputUser peer:InputPeer geo_point:flags.0?InputGeoPoint query:string offset:string = messages.BotResults;
messages.setInlineBotResults#eb5ea206 flags:# gallery:flags.0?true private:flags.1?true query_id:long results:Vector<InputBotInlineResult> cache_time:int next_offset:flags.2?string switch_pm:flags.3?InlineBotSwitchPM = Bool;
messages.sendInlineBotResult#7aa11297 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true hide_via:flags.11?true peer:InputPeer reply_to_msg_id:flags.0?int random_id:long query_id:long id:string schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
messages.sendInlineBotResult#d3fbdccb flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true hide_via:flags.11?true peer:InputPeer reply_to_msg_id:flags.0?int top_msg_id:flags.9?int random_id:long query_id:long id:string schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
messages.getMessageEditData#fda68d36 peer:InputPeer id:int = messages.MessageEditData;
messages.editMessage#48f71778 flags:# no_webpage:flags.1?true peer:InputPeer id:int message:flags.11?string media:flags.14?InputMedia reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.15?int = Updates;
messages.editInlineBotMessage#83557dba flags:# no_webpage:flags.1?true id:InputBotInlineMessageID message:flags.11?string media:flags.14?InputMedia reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> = Bool;
messages.getBotCallbackAnswer#9342ca07 flags:# game:flags.1?true peer:InputPeer msg_id:int data:flags.0?bytes password:flags.2?InputCheckPasswordSRP = messages.BotCallbackAnswer;
messages.setBotCallbackAnswer#d58f130a flags:# alert:flags.1?true query_id:long message:flags.0?string url:flags.2?string cache_time:int = Bool;
messages.getPeerDialogs#e470bcfd peers:Vector<InputDialogPeer> = messages.PeerDialogs;
messages.saveDraft#bc39e14b flags:# no_webpage:flags.1?true reply_to_msg_id:flags.0?int peer:InputPeer message:string entities:flags.3?Vector<MessageEntity> = Bool;
messages.saveDraft#b4331e3f flags:# no_webpage:flags.1?true reply_to_msg_id:flags.0?int top_msg_id:flags.2?int peer:InputPeer message:string entities:flags.3?Vector<MessageEntity> = Bool;
messages.getAllDrafts#6a3f8d65 = Updates;
messages.getFeaturedStickers#64780b14 hash:long = messages.FeaturedStickers;
messages.readFeaturedStickers#5b118126 id:Vector<long> = Bool;
@@ -1672,10 +1710,10 @@ messages.uploadMedia#519bc2b1 peer:InputPeer media:InputMedia = MessageMedia;
messages.sendScreenshotNotification#c97df020 peer:InputPeer reply_to_msg_id:int random_id:long = Updates;
messages.getFavedStickers#4f1aaa9 hash:long = messages.FavedStickers;
messages.faveSticker#b9ffc55b id:InputDocument unfave:Bool = Bool;
messages.getUnreadMentions#46578472 peer:InputPeer offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
messages.readMentions#f0189d3 peer:InputPeer = messages.AffectedHistory;
messages.getUnreadMentions#f107e790 flags:# peer:InputPeer top_msg_id:flags.0?int offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
messages.readMentions#36e5bf4d flags:# peer:InputPeer top_msg_id:flags.0?int = messages.AffectedHistory;
messages.getRecentLocations#702a40e0 peer:InputPeer limit:int hash:long = messages.Messages;
messages.sendMultiMedia#f803138f flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true peer:InputPeer reply_to_msg_id:flags.0?int multi_media:Vector<InputSingleMedia> schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
messages.sendMultiMedia#b6f11a1c flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true peer:InputPeer reply_to_msg_id:flags.0?int top_msg_id:flags.9?int multi_media:Vector<InputSingleMedia> schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
messages.uploadEncryptedFile#5057c497 peer:InputEncryptedChat file:InputEncryptedFile = EncryptedFile;
messages.searchStickerSets#35705b8a flags:# exclude_featured:flags.0?true q:string hash:long = messages.FoundStickerSets;
messages.getSplitRanges#1cff7e08 = Vector<MessageRange>;
@@ -1692,7 +1730,7 @@ messages.getEmojiKeywords#35a0e062 lang_code:string = EmojiKeywordsDifference;
messages.getEmojiKeywordsDifference#1508b6af lang_code:string from_version:int = EmojiKeywordsDifference;
messages.getEmojiKeywordsLanguages#4e9963b2 lang_codes:Vector<string> = Vector<EmojiLanguage>;
messages.getEmojiURL#d5b10c26 lang_code:string = EmojiURL;
messages.getSearchCounters#732eef00 peer:InputPeer filters:Vector<MessagesFilter> = Vector<messages.SearchCounter>;
messages.getSearchCounters#ae7cc1 flags:# peer:InputPeer top_msg_id:flags.0?int filters:Vector<MessagesFilter> = Vector<messages.SearchCounter>;
messages.requestUrlAuth#198fb446 flags:# peer:flags.1?InputPeer msg_id:flags.1?int button_id:flags.1?int url:flags.2?string = UrlAuthResult;
messages.acceptUrlAuth#b12c7125 flags:# write_allowed:flags.0?true peer:flags.1?InputPeer msg_id:flags.1?int button_id:flags.1?int url:flags.2?string = UrlAuthResult;
messages.hidePeerSettingsBar#4facb138 peer:InputPeer = Bool;
@@ -1710,7 +1748,7 @@ messages.getOldFeaturedStickers#7ed094a1 offset:int limit:int hash:long = messag
messages.getReplies#22ddd30c peer:InputPeer msg_id:int offset_id:int offset_date:int add_offset:int limit:int max_id:int min_id:int hash:long = messages.Messages;
messages.getDiscussionMessage#446972fd peer:InputPeer msg_id:int = messages.DiscussionMessage;
messages.readDiscussion#f731a9f4 peer:InputPeer msg_id:int read_max_id:int = Bool;
messages.unpinAllMessages#f025bc8b peer:InputPeer = messages.AffectedHistory;
messages.unpinAllMessages#ee22b9a8 flags:# peer:InputPeer top_msg_id:flags.0?int = messages.AffectedHistory;
messages.deleteChat#5bd0ee50 chat_id:long = Bool;
messages.deletePhoneCallHistory#f9cbe409 flags:# revoke:flags.0?true = messages.AffectedFoundMessages;
messages.checkHistoryImport#43fe19f3 import_head:string = messages.HistoryImportParsed;
@@ -1741,14 +1779,14 @@ messages.setChatAvailableReactions#feb16771 peer:InputPeer available_reactions:C
messages.getAvailableReactions#18dea0ac hash:int = messages.AvailableReactions;
messages.setDefaultReaction#4f47a016 reaction:Reaction = Bool;
messages.translateText#24ce6dee flags:# peer:flags.0?InputPeer msg_id:flags.0?int text:flags.1?string from_lang:flags.2?string to_lang:string = messages.TranslatedText;
messages.getUnreadReactions#e85bae1a peer:InputPeer offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
messages.readReactions#82e251d7 peer:InputPeer = messages.AffectedHistory;
messages.getUnreadReactions#3223495b flags:# peer:InputPeer top_msg_id:flags.0?int offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
messages.readReactions#54aa7f8e flags:# peer:InputPeer top_msg_id:flags.0?int = messages.AffectedHistory;
messages.searchSentMedia#107e31a0 q:string filter:MessagesFilter limit:int = messages.Messages;
messages.getAttachMenuBots#16fcc2cb hash:long = AttachMenuBots;
messages.getAttachMenuBot#77216192 bot:InputUser = AttachMenuBotsBot;
messages.toggleBotInAttachMenu#1aee33af bot:InputUser enabled:Bool = Bool;
messages.requestWebView#fc87a53c flags:# from_bot_menu:flags.4?true silent:flags.5?true peer:InputPeer bot:InputUser url:flags.1?string start_param:flags.3?string theme_params:flags.2?DataJSON platform:string reply_to_msg_id:flags.0?int send_as:flags.13?InputPeer = WebViewResult;
messages.prolongWebView#ea5fbcce flags:# silent:flags.5?true peer:InputPeer bot:InputUser query_id:long reply_to_msg_id:flags.0?int send_as:flags.13?InputPeer = Bool;
messages.toggleBotInAttachMenu#69f59d69 flags:# write_allowed:flags.0?true bot:InputUser enabled:Bool = Bool;
messages.requestWebView#178b480b flags:# from_bot_menu:flags.4?true silent:flags.5?true peer:InputPeer bot:InputUser url:flags.1?string start_param:flags.3?string theme_params:flags.2?DataJSON platform:string reply_to_msg_id:flags.0?int top_msg_id:flags.9?int send_as:flags.13?InputPeer = WebViewResult;
messages.prolongWebView#7ff34309 flags:# silent:flags.5?true peer:InputPeer bot:InputUser query_id:long reply_to_msg_id:flags.0?int top_msg_id:flags.9?int send_as:flags.13?InputPeer = Bool;
messages.requestSimpleWebView#299bec8e flags:# bot:InputUser url:string theme_params:flags.0?DataJSON platform:string = SimpleWebViewResult;
messages.sendWebViewResultMessage#a4314f5 bot_query_id:string result:InputBotInlineResult = WebViewMessageSent;
messages.sendWebViewData#dc0242c8 bot:InputUser random_id:long button_text:string data:string = Updates;
@@ -1762,15 +1800,18 @@ messages.getTopReactions#bb8125ba limit:int hash:long = messages.Reactions;
messages.getRecentReactions#39461db2 limit:int hash:long = messages.Reactions;
messages.clearRecentReactions#9dfeefb4 = Bool;
messages.getExtendedMedia#84f80814 peer:InputPeer id:Vector<int> = Updates;
messages.setDefaultHistoryTTL#9eb51445 period:int = Bool;
messages.getDefaultHistoryTTL#658b7188 = DefaultHistoryTTL;
updates.getState#edd4882a = updates.State;
updates.getDifference#25939651 flags:# pts:int pts_total_limit:flags.0?int date:int qts:int = updates.Difference;
updates.getChannelDifference#3173d78 flags:# force:flags.0?true channel:InputChannel filter:ChannelMessagesFilter pts:int limit:int = updates.ChannelDifference;
photos.updateProfilePhoto#72d4742c id:InputPhoto = photos.Photo;
photos.uploadProfilePhoto#89f30f69 flags:# file:flags.0?InputFile video:flags.1?InputFile video_start_ts:flags.2?double = photos.Photo;
photos.updateProfilePhoto#1c3d5956 flags:# fallback:flags.0?true id:InputPhoto = photos.Photo;
photos.uploadProfilePhoto#89f30f69 flags:# fallback:flags.3?true file:flags.0?InputFile video:flags.1?InputFile video_start_ts:flags.2?double = photos.Photo;
photos.deletePhotos#87cf7f2f id:Vector<InputPhoto> = Vector<long>;
photos.getUserPhotos#91cd32a8 user_id:InputUser offset:int max_id:long limit:int = photos.Photos;
photos.uploadContactProfilePhoto#b91a83bf flags:# suggest:flags.3?true save:flags.4?true user_id:InputUser file:flags.0?InputFile video:flags.1?InputFile video_start_ts:flags.2?double = photos.Photo;
upload.saveFilePart#b304a621 file_id:long file_part:int bytes:bytes = Bool;
upload.getFile#be5335be flags:# precise:flags.0?true cdn_supported:flags.1?true location:InputFileLocation offset:long limit:int = upload.File;
@@ -1813,7 +1854,7 @@ channels.getParticipants#77ced9d0 channel:InputChannel filter:ChannelParticipant
channels.getParticipant#a0ab6cc6 channel:InputChannel participant:InputPeer = channels.ChannelParticipant;
channels.getChannels#a7f6bbb id:Vector<InputChannel> = messages.Chats;
channels.getFullChannel#8736a09 channel:InputChannel = messages.ChatFull;
channels.createChannel#3d5fb10f flags:# broadcast:flags.0?true megagroup:flags.1?true for_import:flags.3?true title:string about:string geo_point:flags.2?InputGeoPoint address:flags.2?string = Updates;
channels.createChannel#91006707 flags:# broadcast:flags.0?true megagroup:flags.1?true for_import:flags.3?true title:string about:string geo_point:flags.2?InputGeoPoint address:flags.2?string ttl_period:flags.4?int = Updates;
channels.editAdmin#d33c8902 channel:InputChannel user_id:InputUser admin_rights:ChatAdminRights rank:string = Updates;
channels.editTitle#566decd0 channel:InputChannel title:string = Updates;
channels.editPhoto#f12e57c9 channel:InputChannel photo:InputChatPhoto = Updates;
@@ -1846,6 +1887,20 @@ channels.getSendAs#dc770ee peer:InputPeer = channels.SendAsPeers;
channels.deleteParticipantHistory#367544db channel:InputChannel participant:InputPeer = messages.AffectedHistory;
channels.toggleJoinToSend#e4cb9580 channel:InputChannel enabled:Bool = Updates;
channels.toggleJoinRequest#4c2985b6 channel:InputChannel enabled:Bool = Updates;
channels.reorderUsernames#b45ced1d channel:InputChannel order:Vector<string> = Bool;
channels.toggleUsername#50f24105 channel:InputChannel username:string active:Bool = Bool;
channels.deactivateAllUsernames#a245dd3 channel:InputChannel = Bool;
channels.toggleForum#a4298b29 channel:InputChannel enabled:Bool = Updates;
channels.createForumTopic#f40c0224 flags:# channel:InputChannel title:string icon_color:flags.0?int icon_emoji_id:flags.3?long random_id:long send_as:flags.2?InputPeer = Updates;
channels.getForumTopics#de560d1 flags:# channel:InputChannel q:flags.0?string offset_date:int offset_id:int offset_topic:int limit:int = messages.ForumTopics;
channels.getForumTopicsByID#b0831eb9 channel:InputChannel topics:Vector<int> = messages.ForumTopics;
channels.editForumTopic#f4dfa185 flags:# channel:InputChannel topic_id:int title:flags.0?string icon_emoji_id:flags.1?long closed:flags.2?Bool hidden:flags.3?Bool = Updates;
channels.updatePinnedForumTopic#6c2d9026 channel:InputChannel topic_id:int pinned:Bool = Updates;
channels.deleteTopicHistory#34435f2d channel:InputChannel top_msg_id:int = messages.AffectedHistory;
channels.reorderPinnedForumTopics#2950a18f flags:# force:flags.0?true channel:InputChannel order:Vector<int> = Updates;
channels.toggleAntiSpam#68f3e4eb channel:InputChannel enabled:Bool = Updates;
channels.reportAntiSpamFalsePositive#a850a693 channel:InputChannel msg_id:int = Bool;
channels.toggleParticipantsHidden#6a6e7854 channel:InputChannel enabled:Bool = Updates;
bots.sendCustomRequest#aa2769ed custom_method:string params:DataJSON = DataJSON;
bots.answerWebhookJSONQuery#e6213f4d query_id:long data:DataJSON = Bool;
@@ -1924,4 +1979,4 @@ stats.getMegagroupStats#dcdf8607 flags:# dark:flags.0?true channel:InputChannel
stats.getMessagePublicForwards#5630281b channel:InputChannel msg_id:int offset_rate:int offset_peer:InputPeer offset_id:int limit:int = messages.Messages;
stats.getMessageStats#b6e0a3f5 flags:# dark:flags.0?true channel:InputChannel msg_id:int = stats.MessageStats;
// LAYER 146
// LAYER 151

View File

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

View File

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

View File

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

View File

@@ -307,7 +307,7 @@ void updateRegistry() {
SYSTEMTIME stLocalTime;
GetLocalTime(&stLocalTime);
RegSetValueEx(rkey, L"DisplayVersion", 0, REG_SZ, (const BYTE*)versionStr, ((versionLen / 2) + 1) * sizeof(WCHAR));
wsprintf(nameStr, L"Telegram Desktop version %s", versionStr);
wsprintf(nameStr, L"Telegram Desktop");
RegSetValueEx(rkey, L"DisplayName", 0, REG_SZ, (const BYTE*)nameStr, (wcslen(nameStr) + 1) * sizeof(WCHAR));
wsprintf(publisherStr, L"Telegram FZ-LLC");
RegSetValueEx(rkey, L"Publisher", 0, REG_SZ, (const BYTE*)publisherStr, (wcslen(publisherStr) + 1) * sizeof(WCHAR));

View File

@@ -25,7 +25,7 @@ AttachedStickers::AttachedStickers(not_null<ApiWrap*> api)
void AttachedStickers::request(
not_null<Window::SessionController*> controller,
MTPmessages_GetAttachedStickers &&mtpRequest) {
const auto weak = base::make_weak(controller.get());
const auto weak = base::make_weak(controller);
_api.request(_requestId).cancel();
_requestId = _api.request(
std::move(mtpRequest)

View File

@@ -34,8 +34,8 @@ Authorizations::Entry ParseEntry(const MTPDauthorization &data) {
|| isTest;
const auto appName = isDesktop
? QString("Telegram Desktop%1").arg(isTest ? " (GitHub)" : QString())
: qs(data.vapp_name());// +qsl(" for ") + qs(d.vplatform());
? u"Telegram Desktop%1"_q.arg(isTest ? " (GitHub)" : QString())
: qs(data.vapp_name());// + u" for "_q + qs(d.vplatform());
const auto appVer = [&] {
const auto version = qs(data.vapp_version());
if (isDesktop) {
@@ -79,12 +79,16 @@ Authorizations::Entry ParseEntry(const MTPDauthorization &data) {
const auto nowDate = now.date();
const auto lastDate = lastTime.date();
if (lastDate == nowDate) {
result.active = lastTime.toString(cTimeFormat());
result.active = QLocale().toString(
lastTime.time(),
QLocale::ShortFormat);
} else if (lastDate.year() == nowDate.year()
&& lastDate.weekNumber() == nowDate.weekNumber()) {
result.active = langDayOfWeek(lastDate);
} else {
result.active = lastDate.toString(cDateFormat());
result.active = QLocale().toString(
lastDate,
QLocale::ShortFormat);
}
}
result.location = country;

View File

@@ -45,6 +45,7 @@ void SendBotCallbackData(
int row,
int column,
std::optional<Core::CloudPasswordResult> password,
Fn<void()> done = nullptr,
Fn<void(const QString &)> handleError = nullptr) {
if (!item->isRegular()) {
return;
@@ -56,11 +57,7 @@ void SendBotCallbackData(
const auto bot = item->getMessageBot();
const auto fullId = item->fullId();
const auto getButton = [=] {
return HistoryMessageMarkupButton::Get(
owner,
fullId,
row,
column);
return HistoryMessageMarkupButton::Get(owner, fullId, row, column);
};
const auto button = getButton();
if (!button || button->requestId) {
@@ -83,7 +80,7 @@ void SendBotCallbackData(
if (withPassword) {
flags |= MTPmessages_GetBotCallbackAnswer::Flag::f_password;
}
const auto weak = base::make_weak(controller.get());
const auto weak = base::make_weak(controller);
const auto show = std::make_shared<Window::Show>(controller);
button->requestId = api->request(MTPmessages_GetBotCallbackAnswer(
MTP_flags(flags),
@@ -92,6 +89,11 @@ void SendBotCallbackData(
MTP_bytes(sendData),
password ? password->result : MTP_inputCheckPasswordEmpty()
)).done([=](const MTPmessages_BotCallbackAnswer &result) {
const auto guard = gsl::finally([&] {
if (done) {
done();
}
});
const auto item = owner->message(fullId);
if (!item) {
return;
@@ -108,7 +110,9 @@ void SendBotCallbackData(
const auto showAlert = data.is_alert();
if (!message.isEmpty()) {
if (showAlert) {
if (!show->valid()) {
return;
} else if (showAlert) {
show->showBox(Ui::MakeInformBox(message));
} else {
if (withPassword) {
@@ -139,6 +143,11 @@ void SendBotCallbackData(
show->hideLayer();
}
}).fail([=](const MTP::Error &error) {
const auto guard = gsl::finally([&] {
if (handleError) {
handleError(error.type());
}
});
const auto item = owner->message(fullId);
if (!item) {
return;
@@ -148,9 +157,6 @@ void SendBotCallbackData(
button->requestId = 0;
owner->requestItemRepaint(item);
}
if (handleError) {
handleError(error.type());
}
}).send();
session->changes().messageUpdated(
@@ -202,9 +208,10 @@ void SendBotCallbackDataWithPassword(
return;
}
api->cloudPassword().reload();
const auto weak = base::make_weak(controller.get());
const auto weak = base::make_weak(controller);
const auto show = std::make_shared<Window::Show>(controller);
SendBotCallbackData(controller, item, row, column, std::nullopt, [=](const QString &error) {
SendBotCallbackData(controller, item, row, column, {}, {}, [=](
const QString &error) {
auto box = PrePasswordErrorBox(
error,
session,
@@ -250,7 +257,11 @@ void SendBotCallbackDataWithPassword(
if (!strongController) {
return;
}
SendBotCallbackData(strongController, item, row, column, result, [=](const QString &error) {
SendBotCallbackData(strongController, item, row, column, result, [=] {
if (*box) {
(*box)->closeBox();
}
}, [=](const QString &error) {
if (*box) {
(*box)->handleCustomCheckError(error);
}
@@ -351,6 +362,7 @@ void ActivateBotCommand(ClickHandlerContext context, int row, int column) {
case ButtonType::RequestPhone: {
HideSingleUseKeyboard(controller, item);
const auto itemId = item->id;
const auto topicRootId = item->topicRootId();
const auto history = item->history();
controller->show(Ui::MakeConfirmBox({
.text = tr::lng_bot_share_phone(),
@@ -362,6 +374,7 @@ void ActivateBotCommand(ClickHandlerContext context, int row, int column) {
auto action = Api::SendAction(history);
action.clearDraft = false;
action.replyTo = itemId;
action.topicRootId = topicRootId;
history->session().api().shareContact(
history->session().user(),
action);
@@ -381,10 +394,12 @@ void ActivateBotCommand(ClickHandlerContext context, int row, int column) {
}
}
const auto replyToId = MsgId(0);
const auto topicRootId = MsgId(0);
Window::PeerMenuCreatePoll(
controller,
item->history()->peer,
replyToId,
topicRootId,
chosen,
disabled);
} break;
@@ -413,10 +428,19 @@ void ActivateBotCommand(ClickHandlerContext context, int row, int column) {
return false;
}();
if (!fastSwitchDone) {
controller->content()->inlineSwitchLayer('@'
+ bot->username
const auto botAndQuery = '@'
+ bot->username()
+ ' '
+ QString::fromUtf8(button->data));
+ QString::fromUtf8(button->data);
const auto chosen = [=](not_null<Data::Thread*> thread) {
return controller->content()->inlineSwitchChosen(
thread,
botAndQuery);
};
Window::ShowChooseRecipientBox(
controller,
chosen,
tr::lng_inline_switch_choose());
}
}
} break;
@@ -437,7 +461,7 @@ void ActivateBotCommand(ClickHandlerContext context, int row, int column) {
if (const auto bot = item->getMessageBot()) {
bot->session().attachWebView().request(
controller,
bot,
Api::SendAction(bot->owner().history(bot)),
bot,
{ .text = button->text, .url = button->data });
}

View File

@@ -17,9 +17,7 @@ namespace Api {
void SaveNewFilterPinned(
not_null<Main::Session*> session,
FilterId filterId) {
const auto &order = session->data().pinnedChatsOrder(
nullptr,
filterId);
const auto &order = session->data().pinnedChatsOrder(filterId);
auto &filters = session->data().chatsFilters();
const auto &filter = filters.applyUpdatedPinned(filterId, order);
session->api().request(MTPmessages_UpdateDialogFilter(

View File

@@ -18,6 +18,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "data/data_photo.h"
#include "data/data_photo_media.h"
#include "data/data_channel.h"
#include "data/data_forum.h"
#include "data/data_user.h"
#include "data/data_file_origin.h"
#include "ui/boxes/confirm_box.h"
@@ -80,6 +81,7 @@ void SubmitChatInvite(
} else if (type == u"CHANNELS_TOO_MUCH"_q) {
strongController->show(
Box(ChannelsLimitBox, &strongController->session()));
return;
}
strongController->hideLayer();
@@ -107,16 +109,24 @@ void CheckChatInvite(
const QString &hash,
ChannelData *invitePeekChannel) {
const auto session = &controller->session();
const auto weak = base::make_weak(controller.get());
const auto weak = base::make_weak(controller);
session->api().checkChatInvite(hash, [=](const MTPChatInvite &result) {
const auto strong = weak.get();
if (!strong) {
return;
}
Core::App().hideMediaView();
result.match([=](const MTPDchatInvite &data) {
const auto strongController = weak.get();
if (!strongController) {
return;
const auto show = [&](not_null<PeerData*> chat) {
const auto way = Window::SectionShow::Way::Forward;
if (const auto forum = chat->forum()) {
strong->showForum(forum, way);
} else {
strong->showPeerHistory(chat, way);
}
};
result.match([=](const MTPDchatInvite &data) {
const auto isGroup = !data.is_broadcast();
const auto box = strongController->show(Box<ConfirmInviteBox>(
const auto box = strong->show(Box<ConfirmInviteBox>(
session,
data,
invitePeekChannel,
@@ -139,21 +149,13 @@ void CheckChatInvite(
if (const auto channel = chat->asChannel()) {
channel->clearInvitePeek();
}
if (const auto strong = weak.get()) {
strong->showPeerHistory(
chat,
Window::SectionShow::Way::Forward);
}
show(chat);
}
}, [=](const MTPDchatInvitePeek &data) {
if (const auto chat = session->data().processChat(data.vchat())) {
if (const auto channel = chat->asChannel()) {
channel->setInvitePeek(hash, data.vexpires().v);
if (const auto strong = weak.get()) {
strong->showPeerHistory(
chat,
Window::SectionShow::Way::Forward);
}
show(chat);
}
}
});
@@ -170,6 +172,11 @@ void CheckChatInvite(
} // namespace Api
struct ConfirmInviteBox::Participant {
not_null<UserData*> user;
Ui::PeerUserpicView userpic;
};
ConfirmInviteBox::ConfirmInviteBox(
QWidget*,
not_null<Main::Session*> session,
@@ -240,7 +247,7 @@ ConfirmInviteBox::ConfirmInviteBox(
}
} else {
_photoEmpty = std::make_unique<Ui::EmptyUserpic>(
Data::PeerUserpicColor(0),
Ui::EmptyUserpic::UserpicColor(0),
invite.title);
}
}
@@ -355,7 +362,7 @@ void ConfirmInviteBox::paintEvent(QPaintEvent *e) {
{ .options = Images::Option::RoundCircle }));
}
} else if (_photoEmpty) {
_photoEmpty->paint(
_photoEmpty->paintCircle(
p,
(width() - st::confirmInvitePhotoSize) / 2,
st::confirmInvitePhotoTop,

View File

@@ -21,7 +21,6 @@ class SessionController;
} // namespace Window
namespace Data {
class CloudImageView;
class PhotoMedia;
} // namespace Data
@@ -55,10 +54,7 @@ protected:
void paintEvent(QPaintEvent *e) override;
private:
struct Participant {
not_null<UserData*> user;
std::shared_ptr<Data::CloudImageView> userpic;
};
struct Participant;
struct ChatInvite {
QString title;
QString about;

View File

@@ -365,6 +365,7 @@ void ChatParticipants::requestForAdd(
void ChatParticipants::requestLast(not_null<ChannelData*> channel) {
if (!channel->isMegagroup()
|| !channel->canViewMembers()
|| _participantsRequests.contains(channel)) {
return;
}
@@ -532,6 +533,7 @@ ChatParticipants::Parsed ChatParticipants::ParseRecent(
const TLMembers &data) {
const auto result = Parse(channel, data);
const auto applyLast = channel->isMegagroup()
&& channel->canViewMembers()
&& (channel->mgInfo->lastParticipants.size() <= result.list.size());
if (applyLast) {
ApplyLastList(channel, result.availableCount, result.list);
@@ -598,7 +600,7 @@ void ChatParticipants::requestSelf(not_null<ChannelData*> channel) {
});
}).fail([=](const MTP::Error &error) {
_selfParticipantRequests.erase(channel);
if (error.type() == qstr("CHANNEL_PRIVATE")) {
if (error.type() == u"CHANNEL_PRIVATE"_q) {
channel->privateErrorReceived();
}
finalize();

View File

@@ -0,0 +1,23 @@
/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
#include "api/api_common.h"
#include "data/data_thread.h"
namespace Api {
SendAction::SendAction(
not_null<Data::Thread*> thread,
SendOptions options)
: history(thread->owningHistory())
, options(options)
, replyTo(thread->topicRootId())
, topicRootId(replyTo) {
}
} // namespace Api

View File

@@ -9,6 +9,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
class History;
namespace Data {
class Thread;
} // namespace Data
namespace Api {
struct SendOptions {
@@ -28,15 +32,13 @@ enum class SendType {
struct SendAction {
explicit SendAction(
not_null<History*> history,
SendOptions options = SendOptions())
: history(history)
, options(options) {
}
not_null<Data::Thread*> thread,
SendOptions options = SendOptions());
not_null<History*> history;
SendOptions options;
MsgId replyTo = 0;
MsgId topicRootId = 0;
bool clearDraft = true;
bool generateLocal = true;
MsgId replaceMediaOf = 0;

View File

@@ -9,6 +9,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "apiwrap.h"
#include "lang/lang_keys.h"
#include "main/main_account.h"
#include "main/main_session.h"
#include "ui/boxes/confirm_box.h"
#include "ui/boxes/confirm_phone_box.h"
@@ -45,6 +46,8 @@ void ConfirmPhone::resolve(
return 0;
}, [&](const MTPDauth_sentCodeTypeSms &data) {
return data.vlength().v;
}, [&](const MTPDauth_sentCodeTypeFragmentSms &data) {
return data.vlength().v;
}, [&](const MTPDauth_sentCodeTypeCall &data) {
return data.vlength().v;
}, [&](const MTPDauth_sentCodeTypeFlashCall &) {
@@ -56,6 +59,10 @@ void ConfirmPhone::resolve(
}, [&](const MTPDauth_sentCodeTypeSetUpEmailRequired &) {
return bad("SetUpEmailRequired");
});
const auto fragmentUrl = data.vtype().match([](
const MTPDauth_sentCodeTypeFragmentSms &data) {
return qs(data.vurl());
}, [](const auto &) { return QString(); });
const auto phoneHash = qs(data.vphone_code_hash());
const auto timeout = [&]() -> std::optional<int> {
if (const auto nextType = data.vnext_type()) {
@@ -68,8 +75,15 @@ void ConfirmPhone::resolve(
auto box = Box<Ui::ConfirmPhoneBox>(
phone,
sentCodeLength,
fragmentUrl,
timeout);
const auto boxWeak = Ui::MakeWeak(box.data());
using LoginCode = rpl::event_stream<QString>;
const auto codeHandles = box->lifetime().make_state<LoginCode>();
controller->session().account().setHandleLoginCode([=](
const QString &code) {
codeHandles->fire_copy(code);
});
box->resendRequests(
) | rpl::start_with_next([=] {
_api.request(MTPauth_ResendCode(
@@ -81,7 +95,9 @@ void ConfirmPhone::resolve(
}
}).send();
}, box->lifetime());
box->checkRequests(
rpl::merge(
codeHandles->events(),
box->checkRequests()
) | rpl::start_with_next([=](const QString &code) {
if (_checkRequestId) {
return;
@@ -113,6 +129,10 @@ void ConfirmPhone::resolve(
boxWeak->showServerError(errorText);
}).handleFloodErrors().send();
}, box->lifetime());
box->boxClosing(
) | rpl::start_with_next([=] {
controller->session().account().setHandleLoginCode(nullptr);
}, box->lifetime());
controller->show(std::move(box), Ui::LayerOption::CloseOther);
});

View File

@@ -148,6 +148,7 @@ void EditMessageWithUploadedMedia(
MTPInputMedia media) {
const auto done = [=](Fn<void()> applyUpdates) {
if (item) {
item->removeFromSharedMediaIndex();
item->clearSavedMedia();
item->setIsLocalUpdateMedia(true);
applyUpdates();
@@ -206,7 +207,7 @@ void EditMessageWithUploadedPhoto(
EditMessageWithUploadedMedia(
item,
options,
PrepareUploadedPhoto(std::move(info)));
PrepareUploadedPhoto(item, std::move(info)));
}
mtpRequestId EditCaption(

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