futpib dc6b9dda4d Use faster containers for bulk-populated custom emoji maps
Replace base::flat_map (sorted vector with O(n) insertion) with
std::unordered_map for CustomEmojiManager::_instances and std::map
for EmojiListWidget::_customEmoji. These maps accumulate ~8000
entries during startup with unsorted keys, causing O(n²) total
insertion cost. This change reduces refreshCustom() from ~3s to
~50ms (57x speedup).
2026-03-05 15:20:36 +04:00
2026-03-05 11:26:46 +04:00
2026-03-04 16:34:51 +03:00
2026-02-28 19:07:10 +04:00
2026-03-03 19:15:28 +04:00
2026-02-27 23:34:33 +04:00
2026-01-05 12:21:48 +04:00
2026-02-28 19:07:10 +04:00

Telegram Desktop Official Messenger

This is the complete source code and the build instructions for the official Telegram messenger desktop client, based on the Telegram API and the MTProto secure protocol.

Version Build Status Build Status Build Status

Preview of Telegram Desktop

The source code is published under GPLv3 with OpenSSL exception, the license is available here.

Supported systems

The latest version is available for

Old system versions

Version 4.9.9 was the last that supports older systems

Version 2.4.4 was the last that supports older systems

Version 1.8.15 was the last that supports older systems

Third-party

Build instructions

S
Description
Desktop Telegram client with good customization and Ghost mode.
Readme GPL-3.0
330 MiB
Languages
C++ 71.6%
C 26.6%
Objective-C++ 0.6%
CMake 0.4%
Python 0.3%
Other 0.1%