Telegram github commits and releases
4.87K subscribers
601 files
19.2K links
Broadcast from the most important Telegram clients' repositories
Download Telegram
Recent Commits to tdesktop:dev
Removed #include "stdafx.h" from all files.

Removed #include "stdafx.h" from all files.

Currently the build without implicitly included precompiled header
is not supported anyway (because Qt MOC source files do not include
stdafx.h, they include plain headers).

So when we decide to support building without implicitly included
precompiled headers we'll have to fix all the headers anyway.
tdlib/td/master86de43a5 files, +5/-5
Remove useless #include comments.

tdlib/td/masterb713d941 files, +13/-5
tg_cli: use synchronous TDLib's method instead of Td.

#tdlib
TGX-Android/Telegram-X/tgcalls92f317631 files, +494/-489
Move `app/jni/thirdparty` to `app/jni/third_party` to match WebRTC & Chromium `#include` instructions + Quote paths with variables in `CMakeLists.txt`

#tgxandroid
👍11
telegramdesktop/tdesktop/dev8ec64f42 files, +23/-17
Fix crash in Replies go-to-original button ripple.

telegramdesktop/tdesktop/deve4d8a061 files, +1/-0
Add Esperanto to language list of translate box

telegramdesktop/tdesktop/devd01969f1 files, +6/-0
Fix building without spellcheck

Port from gentoo: https://github.com/gentoo/gentoo/blob/f62d7c6599bbb275f7863bd1fef0f5d31a673703/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.

#tdesktop
👍1
telegramdesktop/tdesktop/devbd367da1 files, +1/-1
Put #include after the #pragma once.

telegramdesktop/tdesktop/dev599cc351 files, +6/-0
Fix a crash in history clear.

#tdesktop
TelegramMessenger/tgcalls/experimental616810f38 files, +38/-0
build: add #include <cstdint> for GCC 15 compatibility

TelegramMessenger/tgcalls/experimental24fd51b7 files, +2218/-19
feat: SCTP signaling improvements for reliable connection establishment

Add writable gate for role-based SCTP handshake ordering: caller
(isOutgoing=true) starts writable and sends INIT immediately; callee
starts not-writable and defers Connect() until first received packet
triggers setWritable(true).

Implement CustomDcSctpSocket to fix WebRTC's missing timer backoff cap
on t1_init and t1_cookie handshake timers. Without this, simultaneous-open
under packet loss causes 20+ second stalls due to unlimited exponential
backoff (1s, 2s, 4s, 8s...). With the fix: 400ms init, 750ms max backoff,
yielding ~18 attempts in 15s and 100% success at 30% loss.

Timer values are configurable via JSON custom parameters:
- network_sctp_t1_init_ms, network_sctp_t1_cookie_ms, network_sctp_max_backoff_ms

Squashed from:
- feat: add SCTP writable gate for role-based handshake ordering
- chore: whitespace cleanup in NativeNetworkingImpl
- fix: CustomDcSctpSocket with t1 timer backoff cap for signaling SCTP

TelegramMessenger/tgcalls/experimental212a8741 files, +5/-0
fix: use-after-free in InstanceV2ReferenceImpl::writeStateLogRecords()

writeStateLogRecords() captured a raw Call* pointer on the media thread
and posted it to the worker thread. If stop() called
_peerConnection->Close() (which destroys Call) between the post and
worker thread execution, the worker thread would dereference a dangling
pointer. WebRTC's call_ptr_ is Call* const and never nulled after Close(),
so the existing null check didn't catch this.

Fix: add _isStopped atomic flag, set before Close() in stop(), checked
in the worker thread lambda before accessing call.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

#tgcalls
🫡3