Skip to content

Commit c8c4cfc

Browse files
authored
Merge branch 'telegramdesktop:dev' into layer221
2 parents 50ded15 + 54683b2 commit c8c4cfc

File tree

281 files changed

+18299
-6913
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

281 files changed

+18299
-6913
lines changed

.github/workflows/mac_packaged.yml

Lines changed: 31 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,11 @@ jobs:
4949

5050
env:
5151
GIT: "https://github.com"
52+
CMAKE_GENERATOR: "Ninja"
53+
CMAKE_BUILD_TYPE: "Debug"
54+
CMAKE_BUILD_PARALLEL_LEVEL: ""
5255
CMAKE_PREFIX_PATH: "/opt/homebrew/opt/ffmpeg@6:/opt/homebrew/opt/openal-soft"
56+
TDE2E: "51743dfd01dff6179e2d8f7095729caa4e2222e9"
5357
UPLOAD_ARTIFACT: "true"
5458
ONLY_CACHE: "false"
5559
MANUAL_CACHING: "1"
@@ -71,6 +75,7 @@ jobs:
7175
brew upgrade || true
7276
brew install ada-url autoconf automake boost cmake ffmpeg@6 jpeg-xl libavif libheif libtool openal-soft openh264 openssl opus ninja pkg-config python qtbase qtimageformats qtsvg xz
7377
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
78+
sudo sed -i '' '/CMAKE_${lang}_FLAGS_DEBUG_INIT/s/ -g//' /opt/homebrew/share/cmake/Modules/Compiler/GNU.cmake
7479
7580
xcodebuild -version > CACHE_KEY.txt
7681
brew list --versions >> CACHE_KEY.txt
@@ -85,24 +90,32 @@ jobs:
8590
echo "MACOSX_DEPLOYMENT_TARGET=$(grep 'set(QT_SUPPORTED_MIN_MACOS_VERSION' /opt/homebrew/Cellar/qtbase/*/lib/cmake/Qt6/Qt6ConfigExtras.cmake | sed -E 's/^.*"(.*)"\)$/\1/')" >> $GITHUB_ENV
8691
echo "LibrariesPath=`pwd`" >> $GITHUB_ENV
8792
93+
echo "RNNOISE=`curl -sSL --header 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' https://api.github.com/repos/xiph/rnnoise/git/refs/heads/master | jq -r .object.sha`" >> $GITHUB_ENV
8894
echo "WEBRTC=`curl -sSL --header 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' https://api.github.com/repos/desktop-app/tg_owt/git/refs/heads/master | jq -r .object.sha`" >> $GITHUB_ENV
8995
96+
- name: RNNoise cache.
97+
id: cache-rnnoise
98+
uses: actions/cache@v5
99+
with:
100+
path: ${{ env.LibrariesPath }}/local/rnnoise
101+
key: ${{ runner.OS }}-rnnoise-${{ env.RNNOISE }}-${{ env.CACHE_KEY }}
90102
- name: RNNoise.
103+
if: steps.cache-rnnoise.outputs.cache-hit != 'true'
91104
run: |
92105
cd $LibrariesPath
93106
94-
git clone --depth=1 https://gitlab.xiph.org/xiph/rnnoise.git
107+
git clone --depth=1 $GIT/xiph/rnnoise.git
95108
cd rnnoise
96109
./autogen.sh
97-
./configure --disable-examples --disable-doc
110+
./configure --prefix=$LibrariesPath/local/rnnoise --disable-examples --disable-doc
98111
make -j$(sysctl -n hw.logicalcpu)
99-
sudo make install
112+
make install
100113
101114
- name: WebRTC cache.
102115
id: cache-webrtc
103116
uses: actions/cache@v5
104117
with:
105-
path: ${{ env.LibrariesPath }}/tg_owt
118+
path: ${{ env.LibrariesPath }}/local/tg_owt
106119
key: ${{ runner.OS }}-webrtc-${{ env.WEBRTC }}-${{ env.CACHE_KEY }}
107120
- name: WebRTC.
108121
if: steps.cache-webrtc.outputs.cache-hit != 'true'
@@ -112,20 +125,16 @@ jobs:
112125
git clone --depth=1 --recursive --shallow-submodules $GIT/desktop-app/tg_owt.git
113126
cd tg_owt
114127
115-
cmake -Bbuild -GNinja . \
116-
-DCMAKE_BUILD_TYPE=Debug \
117-
-DCMAKE_C_FLAGS_DEBUG="" \
118-
-DCMAKE_CXX_FLAGS_DEBUG="" \
119-
-DCMAKE_DISABLE_FIND_PACKAGE_absl=ON
120-
121-
cmake --build build --parallel
128+
cmake -Bbuild . -DCMAKE_INSTALL_PREFIX=$LibrariesPath/local/tg_owt
129+
cmake --build build
130+
cmake --install build
122131
123132
- name: TDE2E cache.
124133
id: cache-tde2e
125134
uses: actions/cache@v5
126135
with:
127-
path: ${{ env.LibrariesPath }}/tde2e
128-
key: ${{ runner.OS }}-tde2e-${{ env.CACHE_KEY }}
136+
path: ${{ env.LibrariesPath }}/local/tde2e
137+
key: ${{ runner.OS }}-tde2e-${{ env.TDE2E }}-${{ env.CACHE_KEY }}
129138
- name: TDE2E.
130139
if: steps.cache-tde2e.outputs.cache-hit != 'true'
131140
run: |
@@ -134,26 +143,18 @@ jobs:
134143
git init tde2e
135144
cd tde2e
136145
git remote add origin $GIT/tdlib/td.git
137-
git fetch --depth=1 origin 51743dfd01dff6179e2d8f7095729caa4e2222e9
146+
git fetch --depth=1 origin $TDE2E
138147
git reset --hard FETCH_HEAD
139148
140-
cmake -Bbuild -GNinja . \
141-
-DCMAKE_BUILD_TYPE=Debug \
142-
-DCMAKE_INSTALL_PREFIX=$PWD/build/prefix \
143-
-DCMAKE_C_FLAGS_DEBUG="" \
144-
-DCMAKE_CXX_FLAGS_DEBUG="" \
145-
-DTD_E2E_ONLY=ON
146-
147-
cmake --build build --parallel
149+
cmake -Bbuild . -DCMAKE_INSTALL_PREFIX=$LibrariesPath/local/tde2e -DTD_E2E_ONLY=ON
150+
cmake --build build
148151
cmake --install build
149152
150153
- name: Telegram Desktop build.
151154
if: env.ONLY_CACHE == 'false'
152-
env:
153-
tg_owt_DIR: ${{ env.LibrariesPath }}/tg_owt/build
154-
tde2e_DIR: ${{ env.LibrariesPath }}/tde2e/build/prefix
155155
run: |
156156
cd $REPO_NAME
157+
export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH$(find $LibrariesPath/local -mindepth 1 -maxdepth 1 -type d -exec printf ':%s' {} +)"
157158
158159
DEFINE=""
159160
if [ -n "${{ matrix.defines }}" ]; then
@@ -164,29 +165,17 @@ jobs:
164165
echo "ARTIFACT_NAME=Telegram" >> $GITHUB_ENV
165166
fi
166167
167-
cmake -Bbuild -GNinja . \
168-
-DCMAKE_BUILD_TYPE=Debug \
169-
-DCMAKE_C_FLAGS_DEBUG="" \
170-
-DCMAKE_CXX_FLAGS_DEBUG="" \
171-
-DTDESKTOP_API_TEST=ON \
172-
$DEFINE
173-
174-
cmake --build build --parallel
175-
176-
cd build
177-
macdeployqt Telegram.app
178-
codesign --remove-signature Telegram.app
179-
180-
mkdir dmgsrc
181-
mv Telegram.app dmgsrc
182-
hdiutil create -volname Telegram -srcfolder dmgsrc -ov -format UDZO Telegram.dmg
168+
cmake -Bbuild . -DTDESKTOP_API_TEST=ON $DEFINE
169+
cmake --build build
170+
macdeployqt build/Telegram.app
171+
codesign --remove-signature build/Telegram.app
183172
184173
- name: Move artifact.
185174
if: env.UPLOAD_ARTIFACT == 'true'
186175
run: |
187176
cd $REPO_NAME/build
188177
mkdir artifact
189-
mv Telegram.dmg artifact/
178+
mv Telegram.app artifact/
190179
- uses: actions/upload-artifact@v6
191180
if: env.UPLOAD_ARTIFACT == 'true'
192181
name: Upload artifact.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,6 @@ settings.local.json
6464
# Cursor IDE local settings (but keep .cursor/rules/)
6565
.cursor/*
6666
!.cursor/rules/
67+
68+
# AI work folder (session-specific, not for version control)
69+
docs/ai/work/

Telegram/CMakeLists.txt

Lines changed: 57 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,17 @@ PRIVATE
490490
core/crash_reports.h
491491
core/credits_amount.h
492492
core/deadlock_detector.h
493+
core/deep_links/deep_links_chats.cpp
494+
core/deep_links/deep_links_chats.h
495+
core/deep_links/deep_links_contacts.cpp
496+
core/deep_links/deep_links_contacts.h
497+
core/deep_links/deep_links_new.cpp
498+
core/deep_links/deep_links_new.h
499+
core/deep_links/deep_links_router.cpp
500+
core/deep_links/deep_links_router.h
501+
core/deep_links/deep_links_settings.cpp
502+
core/deep_links/deep_links_settings.h
503+
core/deep_links/deep_links_types.h
493504
core/file_utilities.cpp
494505
core/file_utilities.h
495506
core/launcher.cpp
@@ -880,6 +891,8 @@ PRIVATE
880891
history/view/reactions/history_view_reactions_strip.h
881892
history/view/reactions/history_view_reactions_tabs.cpp
882893
history/view/reactions/history_view_reactions_tabs.h
894+
history/view/history_view_top_peers_selector.cpp
895+
history/view/history_view_top_peers_selector.h
883896
history/view/history_view_about_view.cpp
884897
history/view/history_view_about_view.h
885898
history/view/history_view_bottom_info.cpp
@@ -1531,61 +1544,67 @@ PRIVATE
15311544
settings/cloud_password/settings_cloud_password_step.h
15321545
settings/cloud_password/settings_cloud_password_validate_icon.cpp
15331546
settings/cloud_password/settings_cloud_password_validate_icon.h
1534-
settings/settings_active_sessions.cpp
1535-
settings/settings_active_sessions.h
1536-
settings/settings_advanced.cpp
1537-
settings/settings_advanced.h
1538-
settings/settings_blocked_peers.cpp
1539-
settings/settings_blocked_peers.h
1540-
settings/settings_business.cpp
1541-
settings/settings_business.h
1542-
settings/settings_chat.cpp
1543-
settings/settings_chat.h
1544-
settings/settings_calls.cpp
1545-
settings/settings_calls.h
1547+
settings/sections/settings_active_sessions.cpp
1548+
settings/sections/settings_active_sessions.h
1549+
settings/sections/settings_advanced.cpp
1550+
settings/sections/settings_advanced.h
1551+
settings/sections/settings_chat.cpp
1552+
settings/sections/settings_chat.h
1553+
settings/sections/settings_blocked_peers.cpp
1554+
settings/sections/settings_blocked_peers.h
1555+
settings/sections/settings_business.cpp
1556+
settings/sections/settings_business.h
1557+
settings/sections/settings_calls.cpp
1558+
settings/sections/settings_calls.h
15461559
settings/settings_codes.cpp
15471560
settings/settings_codes.h
15481561
settings/settings_common_session.cpp
15491562
settings/settings_common_session.h
1550-
settings/settings_credits.cpp
1551-
settings/settings_credits.h
1563+
settings/sections/settings_credits.cpp
1564+
settings/sections/settings_credits.h
15521565
settings/settings_credits_graphics.cpp
15531566
settings/settings_credits_graphics.h
15541567
settings/settings_experimental.cpp
15551568
settings/settings_experimental.h
1556-
settings/settings_folders.cpp
1557-
settings/settings_folders.h
1558-
settings/settings_global_ttl.cpp
1559-
settings/settings_global_ttl.h
1560-
settings/settings_information.cpp
1561-
settings/settings_information.h
1569+
settings/sections/settings_folders.cpp
1570+
settings/sections/settings_folders.h
1571+
settings/sections/settings_global_ttl.cpp
1572+
settings/sections/settings_global_ttl.h
1573+
settings/sections/settings_information.cpp
1574+
settings/sections/settings_information.h
15621575
settings/settings_intro.cpp
15631576
settings/settings_intro.h
1564-
settings/settings_local_passcode.cpp
1565-
settings/settings_local_passcode.h
1566-
settings/settings_main.cpp
1567-
settings/settings_main.h
1568-
settings/settings_notifications.cpp
1569-
settings/settings_notifications.h
1570-
settings/settings_notifications_type.cpp
1571-
settings/settings_notifications_type.h
1572-
settings/settings_passkeys.cpp
1573-
settings/settings_passkeys.h
1577+
settings/sections/settings_local_passcode.cpp
1578+
settings/sections/settings_local_passcode.h
1579+
settings/sections/settings_main.cpp
1580+
settings/sections/settings_main.h
1581+
settings/settings_search.cpp
1582+
settings/settings_search.h
1583+
settings/settings_faq_suggestions.cpp
1584+
settings/settings_faq_suggestions.h
1585+
settings/settings_builder.cpp
1586+
settings/settings_builder.h
1587+
settings/sections/settings_notifications.cpp
1588+
settings/sections/settings_notifications.h
1589+
settings/sections/settings_privacy_security.cpp
1590+
settings/sections/settings_privacy_security.h
1591+
settings/sections/settings_notifications_type.cpp
1592+
settings/sections/settings_notifications_type.h
1593+
settings/sections/settings_passkeys.cpp
1594+
settings/sections/settings_passkeys.h
15741595
settings/settings_power_saving.cpp
15751596
settings/settings_power_saving.h
1576-
settings/settings_premium.cpp
1577-
settings/settings_premium.h
1597+
settings/sections/settings_premium.cpp
1598+
settings/sections/settings_premium.h
15781599
settings/settings_privacy_controllers.cpp
15791600
settings/settings_privacy_controllers.h
1580-
settings/settings_privacy_security.cpp
1581-
settings/settings_privacy_security.h
15821601
settings/settings_scale_preview.cpp
15831602
settings/settings_scale_preview.h
1584-
settings/settings_shortcuts.cpp
1585-
settings/settings_shortcuts.h
15861603
settings/settings_type.h
1587-
settings/settings_websites.cpp
1588-
settings/settings_websites.h
1604+
settings/sections/settings_shortcuts.cpp
1605+
settings/sections/settings_shortcuts.h
1606+
settings/sections/settings_websites.cpp
1607+
settings/sections/settings_websites.h
15891608
storage/details/storage_file_utilities.cpp
15901609
storage/details/storage_file_utilities.h
15911610
storage/details/storage_settings_scheme.cpp
903 Bytes
Binary file not shown.
914 Bytes
Binary file not shown.

Telegram/Resources/langs/lang.strings

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
460460
"lng_update_telegram" = "Update Telegram";
461461
"lng_dlg_search_in" = "Search messages in";
462462
"lng_dlg_search_from" = "From: {user}";
463+
"lng_chat_menu" = "Chat menu";
463464

464465
"lng_settings_save" = "Save";
465466
"lng_settings_apply" = "Apply";
@@ -787,6 +788,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
787788
"lng_settings_username_add" = "Add username";
788789
"lng_settings_username_about" = "Username lets people contact you on Telegram without needing your phone number.";
789790
"lng_settings_birthday_label" = "Date of Birth";
791+
"lng_settings_birthday_title" = "Set your Birthday";
790792
"lng_settings_birthday_add" = "Add";
791793
"lng_settings_birthday_about" = "Choose who can see your birthday in {link}.";
792794
"lng_settings_birthday_about_link" = "Settings";
@@ -1247,6 +1249,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
12471249
"lng_settings_faq_button" = "Go to FAQ";
12481250
"lng_settings_ask_ok" = "Ask a Volunteer";
12491251
"lng_settings_faq" = "Telegram FAQ";
1252+
"lng_settings_faq_subtitle" = "FAQ";
12501253
"lng_settings_faq_link" = "https://telegram.org/faq#general-questions";
12511254
"lng_settings_features" = "Telegram Features";
12521255
"lng_settings_credits" = "My Stars";
@@ -2713,6 +2716,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
27132716
"lng_channel_badge" = "channel";
27142717
"lng_topic_author_badge" = "Topic Creator";
27152718
"lng_fast_reply" = "Reply";
2719+
"lng_fast_share_tooltip" = "Right-click to select a Recent Contact.";
27162720
"lng_cancel_edit_post_sure" = "Cancel editing?";
27172721
"lng_cancel_edit_post_yes" = "Yes";
27182722
"lng_cancel_edit_post_no" = "No";

Telegram/Resources/qrc/telegram/animations.qrc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
<file alias="stats_earn.tgs">../../animations/stats_earn.tgs</file>
1818
<file alias="voice_ttl_idle.tgs">../../animations/voice_ttl_idle.tgs</file>
1919
<file alias="voice_ttl_start.tgs">../../animations/voice_ttl_start.tgs</file>
20+
<file alias="chat/voice_to_video.tgs">../../animations/chat/voice_to_video.tgs</file>
21+
<file alias="chat/video_to_voice.tgs">../../animations/chat/video_to_voice.tgs</file>
2022
<file alias="palette.tgs">../../animations/palette.tgs</file>
2123
<file alias="sleep.tgs">../../animations/sleep.tgs</file>
2224
<file alias="greeting.tgs">../../animations/greeting.tgs</file>

Telegram/Resources/uwp/AppX/AppxManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<Identity Name="TelegramMessengerLLP.TelegramDesktop"
1111
ProcessorArchitecture="ARCHITECTURE"
1212
Publisher="CN=536BC709-8EE1-4478-AF22-F0F0F26FF64A"
13-
Version="6.4.2.0" />
13+
Version="6.4.4.0" />
1414
<Properties>
1515
<DisplayName>Telegram Desktop</DisplayName>
1616
<PublisherDisplayName>Telegram Messenger LLP</PublisherDisplayName>

Telegram/Resources/winrc/Telegram.rc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ IDI_ICON1 ICON "..\\art\\icon256.ico"
4444
//
4545

4646
VS_VERSION_INFO VERSIONINFO
47-
FILEVERSION 6,4,2,0
48-
PRODUCTVERSION 6,4,2,0
47+
FILEVERSION 6,4,4,0
48+
PRODUCTVERSION 6,4,4,0
4949
FILEFLAGSMASK 0x3fL
5050
#ifdef _DEBUG
5151
FILEFLAGS 0x1L
@@ -62,10 +62,10 @@ BEGIN
6262
BEGIN
6363
VALUE "CompanyName", "Telegram FZ-LLC"
6464
VALUE "FileDescription", "Telegram Desktop"
65-
VALUE "FileVersion", "6.4.2.0"
65+
VALUE "FileVersion", "6.4.4.0"
6666
VALUE "LegalCopyright", "Copyright (C) 2014-2026"
6767
VALUE "ProductName", "Telegram Desktop"
68-
VALUE "ProductVersion", "6.4.2.0"
68+
VALUE "ProductVersion", "6.4.4.0"
6969
END
7070
END
7171
BLOCK "VarFileInfo"

Telegram/Resources/winrc/Updater.rc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
3535
//
3636

3737
VS_VERSION_INFO VERSIONINFO
38-
FILEVERSION 6,4,2,0
39-
PRODUCTVERSION 6,4,2,0
38+
FILEVERSION 6,4,4,0
39+
PRODUCTVERSION 6,4,4,0
4040
FILEFLAGSMASK 0x3fL
4141
#ifdef _DEBUG
4242
FILEFLAGS 0x1L
@@ -53,10 +53,10 @@ BEGIN
5353
BEGIN
5454
VALUE "CompanyName", "Telegram FZ-LLC"
5555
VALUE "FileDescription", "Telegram Desktop Updater"
56-
VALUE "FileVersion", "6.4.2.0"
56+
VALUE "FileVersion", "6.4.4.0"
5757
VALUE "LegalCopyright", "Copyright (C) 2014-2026"
5858
VALUE "ProductName", "Telegram Desktop"
59-
VALUE "ProductVersion", "6.4.2.0"
59+
VALUE "ProductVersion", "6.4.4.0"
6060
END
6161
END
6262
BLOCK "VarFileInfo"

0 commit comments

Comments
 (0)