Properly handle PhoneCodeExpiredError in sign_in

Should actually fix #3185 now.
This commit is contained in:
Lonami Exo 2023-04-06 18:52:45 +02:00
parent 10c74f8bab
commit 5b1135734b
2 changed files with 10 additions and 8 deletions

View File

@ -333,12 +333,9 @@ class AuthMethods:
# May raise PhoneCodeEmptyError, PhoneCodeExpiredError,
# PhoneCodeHashEmptyError or PhoneCodeInvalidError.
try:
request = functions.auth.SignInRequest(
phone, phone_code_hash, str(code)
)
except errors.PhoneCodeExpiredError:
self._phone_code_hash.pop(phone, None)
request = functions.auth.SignInRequest(
phone, phone_code_hash, str(code)
)
elif password:
pwd = await self(functions.account.GetPasswordRequest())
request = functions.auth.CheckPasswordRequest(
@ -355,7 +352,12 @@ class AuthMethods:
'and a password only if an RPCError was raised before.'
)
result = await self(request)
try:
result = await self(request)
except errors.PhoneCodeExpiredError:
self._phone_code_hash.pop(phone, None)
raise
if isinstance(result, types.auth.AuthorizationSignUpRequired):
# Emulate pre-layer 104 behaviour
self._tos = result.terms_of_service

View File

@ -1,3 +1,3 @@
# Versions should comply with PEP440.
# This line is parsed in setup.py:
__version__ = '1.28.0'
__version__ = '1.28.1'