diff --git a/packages/core/src/network/persistent-connection.ts b/packages/core/src/network/persistent-connection.ts index d7f0a6ab..26f732a6 100644 --- a/packages/core/src/network/persistent-connection.ts +++ b/packages/core/src/network/persistent-connection.ts @@ -1,10 +1,11 @@ import type { ReconnectionStrategy } from '@fuman/net' +import type { tl } from '@mtcute/tl' import type { BasicDcOption, ICryptoProvider, Logger } from '../utils/index.js' import type { IPacketCodec, ITelegramConnection, TelegramTransport } from './transports/abstract.js' + import { FramedReader, FramedWriter } from '@fuman/io' import { PersistentConnection as FumanPersistentConnection } from '@fuman/net' - import { Emitter, timers } from '@fuman/utils' export interface PersistentConnectionParams { @@ -99,6 +100,8 @@ export abstract class PersistentConnection { private _writer?: FramedWriter + protected _mtproxyInfo?: tl.RawInputClientProxy + private async _onOpen(conn: ITelegramConnection) { this._updateLogPrefix() this.log.debug('connected') @@ -108,6 +111,8 @@ export abstract class PersistentConnection { await conn.write(tag) } + this._mtproxyInfo = conn.getMtproxyInfo?.() + const reader = new FramedReader(conn, this._codec) this._writer = new FramedWriter(conn, this._codec) diff --git a/packages/core/src/network/session-connection.ts b/packages/core/src/network/session-connection.ts index 20be9903..f9c73b65 100644 --- a/packages/core/src/network/session-connection.ts +++ b/packages/core/src/network/session-connection.ts @@ -1388,13 +1388,12 @@ export class SessionConnection extends PersistentConnection { // either acked or returns rpc_result this.log.debug('wrapping %s with initConnection, layer: %d', method, this.params.layer) - // const proxy = this._transport.getMtproxyInfo?.() obj = { _: 'invokeWithLayer', layer: this.params.layer, query: { ...this.params.initConnection, - // proxy, + proxy: this._mtproxyInfo, query: obj, }, }