From 90caadef1f769d30debee971d490c2d6c84c074f Mon Sep 17 00:00:00 2001 From: zubiden <19638254+zubiden@users.noreply.github.com> Date: Fri, 4 Jul 2025 14:12:19 +0200 Subject: [PATCH] GramJS: Fix API layer announcement (#6036) --- src/lib/gramjs/client/TelegramClient.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lib/gramjs/client/TelegramClient.ts b/src/lib/gramjs/client/TelegramClient.ts index 36334d979..1d47536b2 100644 --- a/src/lib/gramjs/client/TelegramClient.ts +++ b/src/lib/gramjs/client/TelegramClient.ts @@ -335,6 +335,7 @@ class TelegramClient { } this.session.setAuthKey(this._sender.authKey); + // `_initWith` is used to announce our API layer to the server await this._sender.send(this._initWith( new Api.help.GetConfig(), )); @@ -686,7 +687,11 @@ class TelegramClient { ): Promise { const i = index || 0; - if (!this._exportedSenderPromises[dcId]) this._exportedSenderPromises[dcId] = {}; + let shouldAnnounceLayer = false; + if (!this._exportedSenderPromises[dcId]) { + this._exportedSenderPromises[dcId] = {}; + shouldAnnounceLayer = true; + } if (!this._exportedSenderRefCounter[dcId]) this._exportedSenderRefCounter[dcId] = {}; if (!this._exportedSenderPromises[dcId][i] || shouldReconnect) { @@ -730,6 +735,11 @@ class TelegramClient { this._exportedSenderReleaseTimeouts[dcId][i] = undefined; } + if (shouldAnnounceLayer) { + // Dummy request to let DC know about our API layer + sender.send(this._initWith(new Api.help.GetConfig())); + } + return sender; }