From 2a5a6d2b765a271ee5e1ee310fc6eba80cd2a900 Mon Sep 17 00:00:00 2001 From: c0re100 Date: Fri, 3 Jan 2025 06:16:40 +0800 Subject: [PATCH] Merge upstream fix --- client/client.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/client/client.go b/client/client.go index 89a7f39..ad67a7c 100644 --- a/client/client.go +++ b/client/client.go @@ -86,15 +86,15 @@ func NewClient(authorizationStateHandler AuthorizationStateHandler, options ...O client.extraGenerator = UuidV4Generator() client.catchTimeout = 60 * time.Second - for _, option := range options { - option(client) - } - tdlibInstance.addClient(client) go client.processPendingResponse() go client.receiver() + for _, option := range options { + go option(client) + } + err := Authorize(client, authorizationStateHandler) if err != nil { return nil, err @@ -155,6 +155,10 @@ func (client *Client) processResponse(response *Response) { if needGc { client.listenerStore.gc() } + + if typ.GetType() == TypeUpdateAuthorizationState && typ.(*UpdateAuthorizationState).AuthorizationState.AuthorizationStateType() == TypeAuthorizationStateClosed { + close(client.responses) + } } func (client *Client) receiver() { @@ -257,7 +261,3 @@ func (client *Client) AddEventReceiver(msgType Type, channelCapacity int) *Liste return listener } - -func (client *Client) Stop() { - client.Destroy() -}