Before the error happened, I was attempting to sync my Anki client with the AnkiHub add-on.
Anki 24.04.1 (ccd9ca1a) (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.19045
Traceback (most recent call last):
File “C:\Users\Connor\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 247, in _send_request_with_retry
response = self._send_request_with_retry_inner(
File “C:\Users\Connor\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity_init_.py”, line 289, in wrapped_f
return self(f, *args, **kw)
File “C:\Users\Connor\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity_init_.py”, line 379, in call
do = self.iter(retry_state=retry_state)
File “C:\Users\Connor\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity_init_.py”, line 326, in iter
raise retry_exc from fut.exception()
tenacity.RetryError: RetryError[<Future at 0x21b493bff70 state=finished raised SSLError>]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “C:\Users\Connor\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 255, in _send_request_with_retry
response = last_attempt.result()
File “concurrent.futures._base”, line 439, in result
File “concurrent.futures._base”, line 391, in __get_result
File “C:\Users\Connor\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity_init_.py”, line 382, in call
result = fn(*args, **kwargs)
File “C:\Users\Connor\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 270, in _send_request_with_retry_inner
response = session.send(request, stream=stream, timeout=timeout)
File “requests.sessions”, line 703, in send
File “requests.adapters”, line 517, in send
requests.exceptions.SSLError: HTTPSConnectionPool(host=‘app.ankihub.net’, port=443): Max retries exceeded with url: /api/login/ (Caused by SSLError(SSLCertVerificationError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1129)’)))
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File “C:\Users\Connor\AppData\Roaming\Anki2\addons21\1322529746\gui\menu.py”, line 186, in login
token = ankihub_client.login(credentials=credentials)
File “C:\Users\Connor\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 276, in login
response = self._send_request(“POST”, API.ANKIHUB, “/login/”, json=credentials)
File “C:\Users\Connor\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 229, in _send_request
response = self._send_request_with_retry(
File “C:\Users\Connor\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 257, in _send_request_with_retry
raise AnkiHubRequestException(e) from e
1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host=‘app.ankihub.net’, port=443): Max retries exceeded with url: /api/login/ (Caused by SSLError(SSLCertVerificationError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1129)’)))
</details>
[Sentry link (for developers)](https://ankihub.sentry.io/issues/?project=6546414&query=id:20f25a72fe4c4d85ae0f629cffa38c8c)