mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2026-07-25 15:04:57 +00:00
dc6b9dda4d9398d231eea276cb0af9136c873b3a
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).
…
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.
The source code is published under GPLv3 with OpenSSL exception, the license is available here.
Supported systems
The latest version is available for
- Windows 7 and above (64 bit) (portable)
- Windows 7 and above (32 bit) (portable)
- macOS 10.13 and above
- Linux static build for 64 bit
- Snap
- Flatpak
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
- Qt 6 (LGPL) and Qt 5.15 (LGPL) slightly patched
- OpenSSL 3.2.1 (Apache License 2.0)
- WebRTC (New BSD License)
- zlib (zlib License)
- LZMA SDK 9.20 (public domain)
- liblzma (public domain)
- Google Breakpad (License)
- Google Crashpad (Apache License 2.0)
- GYP (BSD License)
- Ninja (Apache License 2.0)
- OpenAL Soft (LGPL)
- Opus codec (BSD License)
- FFmpeg (LGPL)
- Guideline Support Library (MIT License)
- Range-v3 (Boost License)
- Open Sans font (Apache License 2.0)
- Vazirmatn font (SIL Open Font License 1.1)
- Emoji alpha codes (MIT License)
- xxHash (BSD License)
- QR Code generator (MIT License)
- CMake (New BSD License)
- Hunspell (LGPL)
- Ada (Apache License 2.0)
Build instructions
Languages
C++
71.6%
C
26.6%
Objective-C++
0.6%
CMake
0.4%
Python
0.3%
Other
0.1%
