Denys Melnyk 24ccd1c92e Fix crash when finishing the appearing text animation
textAppearCheckLine() runs synchronously from inside the width and
height animation tick callbacks (textAppearWidthCallback /
textAppearHeightCallback). Calling RemoveComponents(TextAppearing::Bit())
there destroys those very animations (and their Ui::Animations::Simple
data) while the animations manager is still iterating them, leading to a
use-after-free / null _data dereference in Simple::value().

Defer the component removal to the next main loop iteration so the
running tick can unwind first.
2026-06-30 12:09:52 +04:00
2026-06-15 11:53:42 +04:00
2026-06-10 18:30:07 +04:00
2026-06-12 23:03:45 +04:00
2026-06-15 11:53:42 +04:00
2026-01-05 12:21:48 +04:00
2026-06-18 17:00:52 +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 Built with Depot

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

Thanks to

Depot

CI infrastructure sponsored by Depot — fast GitHub Actions runners.

S
Description
Desktop Telegram client with good customization and Ghost mode.
Readme GPL-3.0
350 MiB
Languages
C++ 74.4%
C 23.4%
Python 0.7%
Objective-C++ 0.6%
CMake 0.4%
Other 0.2%